Mac OS X编译最新webkit(2013-03-15)

简介: 安装Xcode,4.5版本或以上。必须要安装的方式,不能copy。xcode菜单Xcode->Preferences...->Downloads->Components栏选择Command Line Tools的Install。

安装Xcode4.5版本或以上。必须要安装的方式,不能copy。

xcode菜单Xcode->Preferences...->Downloads->Components栏选择Command Line Tools的Install。不做这步的话,可能会出现warning:“The specified SDK “Current OS X” does not appear to have all of the necessary headers installed. ”。该warning会导致提示各种头文件找不到的错误,例如Platform.h中的<Availability.h>  。

命令行或者CornerStone

svn checkout http://svn.webkit.org/repository/webkit/trunk

或者直接download代码压缩包

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

 

打开WebKit.xcworkspace。先设置xcodeworkspace编译中间目录。

Xcode的菜单File->Workspace Settings->Build->Derived Data Location一栏选择Workspace-relative,并输入WebKitBuild->Done

 

编译。

编译过程中可能会出现错误,这些错误都发生在脚本的运行里,一般不会在代码文件中有错误。

我遇到的两个脚本内错误:

1.    分析读取Keywords.table时,多了个空的末行。把空末行删除即可

2.    通过gperf生成代码错误。错误的文件是ColorData.gperf,从错误提示中完全看不出真实原因。原因可能是文件权限或编码设置不对。先copy该文件的内容,删掉该文件,再新建一个同名文件,粘贴原来的内容,保存,这样就ok了。

 

在xcode中开启debug模式,点击run,即会启动safari并attach上去。然后,随你加断点吧。 

 

由于mac safari实际会有多个进程来处理网页,部分代码并非在safari进程中执行,而是在WebProcess进程中。所以,启动safari后,可以再attach一个进程。

xcode菜单Product->Attach to Process->选择WebProcess。 此后,一些原本不会进去的断点也会进了。例如 FrameView.cpp的paintContents函数。

也可以在xcode toolbar的target栏里选择All Source (target WebProcess) 直接启动到WebProcess

 

还可以不用safari作为target,使用MiniBrowser。toolbar的target菜单->Edit Scheme->Info->Executable->MiniBrowser.app->OK。设置后,点击run会运行MiniBrowser。

 

自己写一个Mac OS X版的浏览器,应该能更好理解webkit

目录
相关文章
|
编解码 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
888 1
|
1月前
|
Ubuntu 开发工具
Ubuntu 22.04 aarch64版本操作系统下编译ZLMediaKit教程
通过上述步骤,你可以在Ubuntu 22.04 aarch64版本上成功编译ZLMediaKit,这是一个相对简单而直接的过程,但可能会遇到一些需要根据具体系统环境和要求调整的地方。
399 0
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
797 2
|
Linux C语言
深度探索Linux操作系统 —— 编译过程分析
深度探索Linux操作系统 —— 编译过程分析
115 2
|
11月前
|
Ubuntu Java iOS开发
MacOS环境-手写操作系统-19-编译自动化
MacOS环境-手写操作系统-19-编译自动化
89 0
|
11月前
|
Linux C语言 iOS开发
MacOS环境-手写操作系统-06-在mac下通过交叉编译:C语言结合汇编
MacOS环境-手写操作系统-06-在mac下通过交叉编译:C语言结合汇编
231 0
|
计算机视觉 iOS开发 C++
【OpenCV】在MacOS上源码编译OpenCV
【7月更文挑战第9天】在MacOS上源码编译OpenCV需分步进行: 1. 准备工作: 安装Xcode, Command Line Tools及依赖如CMake, Homebrew. 2. 获取OpenCV源码: 从官网下载并解压所需版本. 3. 编译OpenCV. 4. 安装OpenCV: 编译后使用`sudo make install`进行安装. 5. 验证安装: 编写简单C++程序测试OpenCV功能, 如读取并显示图片.
589 1
|
NoSQL Ubuntu Linux
【操作系统】实验三 编译 Linux 内核
【操作系统】实验三 编译 Linux 内核
514 1
|
安全 Java iOS开发
MAC OS X 硬盘安装详细分解教程
MAC OS X 硬盘安装详细分解教程
378 1
|
编解码 Oracle iOS开发
VirtualBox虚拟机安装Mac OS X Lion系统详解
VirtualBox虚拟机安装Mac OS X Lion系统详解
680 1

推荐镜像

更多