Mac OS X 下编译webkit全过程

系统信息:Mac OS 10.9.4

环境:Xcode 5.1

请给予足够的耐心,等待源码下载、排除路径问题、编译等一系列漫长的时间。

下载源码:

以下下载地址均来自:webkit官方网站 www. webkit.org

1. 你可以去http://nightly.webkit.org/下载source文件

(此时名为WebKit r172372,约35.6M,随更新可能会有所变化)

2. 你可以在浏览器中打开以网址即可开始下载源码压缩包

(此时为1G左右,好像是多了一些debug的文件)

http://nightly.webkit.org/files/WebKit-SVN-source.tar.bz2

然后在终端进入Downloads文件夹但后解压缩

(此部亦可打开Finder找到文件后双击进行解压)

tar jxvf WebKit-SVN-source.tar.bz2

3. 你可以在终端输入以下命令,获取源码

svncheckout https://svn.webkit.org/repository/webkit/trunk

注:如果提示找不到svn命令,请自行安装svn

编译源码:

一、用Xcode打开webkit主目录下的工程文件

二、Xcode的菜单File->WorkspaceSettings->Build->Derived Data Location一栏选择Workspace-relative,输入WebKitBuild ,然后选择Advanced…,在弹出框中选择Custom选项,后面选择Relative to Workspace

之后,在Products后输入WebKitBuild,

在Intermediates后输入Build/WebKitBuild

三、Xcode的菜单Product->Scheme->EditScheme…

在弹出框中,最上端可以选择Scheme,请选择All Source(target WebProcess)

在中间Executable选择WebProcess(这样编译后会出现一个Safari,在此也可以选择MiniBrowser.app,这也是Webkit提供的UI层,编译完后可再次到此处修改)

四、点击Run编译并运行

五、稍等之后,编译出错?很正常,莫慌莫慌。记住,无论出现什么错误,都不会是源码的问题,大多数情况下都会是路径配置问题。(由于版本的不同,缺少的文件可能不同,所以还是请大家编译找到错误之后,针对性拷贝文件,勿急勿躁)

以下是本人碰到的问题,由于网上关于Xcode下编译webkit内核较少,有问题大多数出在头文件处,处理方式类似如下

(1)  llvm-c/Analysis.h file notFound

在webkit的主目录下,有一个WebKitLibraries的文件夹下,其下有个LLVMincludesMavericks.tar.bz2,解压,进入解压后的目录,有llvm,llvm-c两个文件夹,将这两个文件夹都复制到<webkit主目录> / WebKitBuild/<Configuration>/usr/local/include目录下;  默认情况下,Configuration为Debug;

继续编译,出现第二个错

(2)  library not found for–lLLVMTablleGen

其意思是找不到libLLVMTablleGen.a这个库,故顺着刚才的思路,打开<webkit主目录>下的WebKitLibraries文件夹,其下还有另外一个压缩包LLVMLibrariesMavericks.tar.bz2,解压,进入目录,发现有很多后缀为.a的文件,将所有文件直接复制到<webkit主目录> / WebKitBuild/<Configuration>/usr/local目录下;  默认情况下,Configuration为Debug;

编译,等了好久好久(编译了两个主要的Core,这两个非常慢),之后

又出错了

(3)  WebKitSystemInterface.h filenot found

直觉告诉我还去刚才的<webkit主目录>下的WebKitLibraries文件夹下找,果然,又看到了WebKitSystemInterface.h,果断又复制到<webkit主目录> / WebKitBuild/<Configuration>/usr/local/include目录下;  默认情况下,Configuration为Debug;

复制完之后,我留了一个心眼,多看了这个目录几眼,我去,居然还有个

libWebKitSystemInterfaceMavericks.a,直觉告诉我,这货一定还会出错,索性,将其直接复制到<webkit主目录> / WebKitBuild/<Configuration>/usr/local目录下;  默认情况下,Configuration为Debug;

六、点击Run编译并运行,这次就可以正常编译了(我是这样的,也可能会出现别的错误自行解决,大多数都会是这种路径的问题),编译过程非常漫长,请耐心等待,另外,编译完之后<webkit主目录>会变得非常庞大。

时间: 2024-10-10 18:37:54

Mac OS X 下编译webkit全过程的相关文章

Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)

尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要配置Qt库和编译器.编译器只能使用苹果公司自主研发的Clang.1.分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了. https://developer.apple.com/downloads/ 2.下载Qt并默认安装 http://down

Qt在Mac OS X下的编程环境搭建

尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要配置Qt库和编译器.编译器只能使用苹果公司自主研发的Clang.1.分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了. https://developer.apple.com/downloads/ 2.下载Qt并默认安装 http://down

在mac os x 下升级emacs

大概是09年的时候接触到emacs这个编辑器,当时我们c语言老师用的,他自信满满,而那时我是个vimer,所以每次看他按那么多组合键我就替他感觉手指头累啊. 再后来我用了几年vim写代码,再后来用了许多脚本语言,还有遇到一些问题vim无法解决的. 后来我在12年的时候开始尝试着用emacs. 刚开始确实很不好用,但是后来越来越喜欢emacs. 当然vim我还是在用.现在重新拾起他们两个.我的最爱.哈哈哈哈. 回到正题,emacs在mac os x 下版本太低了.<blockquote>liwe

Mac OS X下的终端基本命令

Mac OS X 启用超级用户的方法 Root user,又名超级用户,是一个权力最高的Unix 账户,Root 的账户能在整个系统里任何部份进行任何"操作",包括:拷贝档案.移动/移除档案.执行程序等.所以,通常 Root 的账户都只会指派给高级专业的用户使用.因此,苹果把Root user 隐藏在MacOS X 里.但有时候我们不得不启用Root用户以便于实现某些操作,可以通过以下三种方法把启动Root账户.方法一:把Mac OS X 的安装光盘放入到光驱中,用光盘启动系统,在安装

Mac OS X中编译WRTNode固件

1.Disk Image CreationMac OS X系统默认的磁盘文件系统是非大小写敏感的,而Openwrt编译环境需要大小写敏感支持,故我们创建一个磁盘映像文件来新建大小写敏感的文件系统. 下面开始用MacOSX系统中自带的命令hdiutil来创建一个新磁盘镜像并挂载到系统中. Hackintosh:~ Diveinedu$ cd $HOMEHackintosh:~ Diveinedu$ hdiutil create -size 20g -fs "Case-sensitive HFS+&

Mac OS X下go的安装,使用,删除

下载和安装 下载 - 在官网下载安装包然后安装 安装 一路默认安装即可 然后在终端运行go version,如果显示类似下面的信息,表明安装成功 go version go1.10.1 darwin/amd64 如果没有出现上面的信息或者出现了其他的报错信息,请自行查询解决 GOROOT和GOPATH和bin的设置 创建一个工作空间,比如 $HOME/go. (如果你想在一个不同的目录下创建工作空间,那你需要设置一下GOPATH 环境变量和bin环境变量) 设置 GOPATH 环境变量 编辑你的

解决 Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的方法

Mac OS X 下基于 Java 的程序(如 IntelliJ IDEA.jEdit 等)会出现中文标点输入无效的问题,在中文输入法状态,可以输入中文字,但输入中文标点最后上去的是英文标点.查阅了相关资料,原来这是 Java 自己的 bug.从 Java 8u51 版本开始就出现了这个 bug,一直到现在最新的 Java 8u72 仍然如此,但是老版本 Java 8u45 是没有这个问题的.所以,可以采取变通的方法,在 Mac OS X 上同时装一个老版本的 JDK 8u45,不会影响已经安装

Mac OS X 下安装python的MySQLdb模块

参考资料: mac os x下python安装MySQLdb模块   http://www.codeif.com/post/1073/ MAC OSX使用Python安装模块有关问题  http://www.myexception.cn/operating-system/1616547.html 在Mac OS X 中安装好了MySQL和Django,在Django中访问MySQL数据库时,提示“ImportError: No module named MySQLdb”,是由于没有安装Pytho

在Mac OS X下安装Android Studio

在Mac OS X下安装Android Studio只需要几步. 1. 下载Android Studio安装包(.dmg). 2. 打开Terminal输入java -version命令查看是否已安装JDK(1.8版本及以上),如果未安装就去http://www.oracle.com/technetwork/java/javase/downloads/index.html下载安装. 3. 双击Android Studio的dmg安装文件,把Android Studio拖放到Application