Mac OS X編譯最新webkit(2013-03-15)
安裝Xcode,4.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。先設定xcode的workspace編譯中間目錄。
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
相關文章
- OS X編譯安裝Mariadb編譯
- Mac OS X 10.15 編譯安裝 Nginx詳細教程Mac編譯Nginx
- Mac OS XMac
- PHP7.0.0在OS X編譯安裝PHP編譯
- webkit的編譯(r76498)WebKit編譯
- MacOS X APK 最新版本 反編譯MacAPK編譯
- win7 64位編譯WebKit核心Win7編譯WebKit
- Maven Install on Mac OS XMavenMac
- Vmware玩mac os x分享Mac
- [Mac OS X] 如何在終端檢視 Mac OS 版本資訊Mac
- mac 10.13.x編譯openjdk8Mac編譯JDK
- 靜態編譯Qt5.4.1和Qt WebKit編譯QTWebKit
- Mac OS X 清除DNS快取MacDNS快取
- Mac OS X下如何使用OpenGLMac
- Mac OS X 背後的故事Mac
- Mac OS 10.9 [Mavericks] 編譯支援 ZeroMQ 4.0.1 版本的 gozmqMac編譯MQGo
- 譯文:WebKit for DevelopersWebKitDeveloper
- hadoop編譯—+2.x編譯Hadoop編譯
- MAC OS X下建立iso檔案Mac
- Mac OS X 下搭建thrift環境Mac
- mac os x 啟用apache 和 phpMacApachePHP
- Mac OS X 上用 otool 代替 lddMac
- Mac OS X常用軟體介紹Mac
- Windows下虛擬機器安裝Mac OS X ----- VM12安裝Mac OS X 10.11Windows虛擬機Mac
- Mac OS X中MacPorts安裝和使用Mac
- MAC OS X系統目錄結構Mac
- 提高 Mac OS X 速度的 52 個方法Mac
- 在Mac OS X中配置Apache + PHP + MySQLMacApachePHPMySql
- Mac OS X is not supported with software virtualization解決方法Mac
- Mac OS X 10.2 快速關機(轉)Mac
- Mac OS X 10.2 的按鍵(轉)Mac
- Mac OS X下實現矩形部分圓角Mac
- Hammerspoon for Mac - OS X桌面自動化神器Mac
- Mac OS X 顯示和隱藏檔案Mac
- 如何修復Mac OS X和bootcamp分割槽Macboot
- Mac OS X 驚現最危險木馬Mac
- mac OS X下配置jdk環境變數MacJDK變數
- Mac OS X 10.9.3 Beta 8升級教程Mac