sudo apt-get install libqt4-dev libxslt-dev gperf bison libsqlite3-dev flex build-essential subversion libphonon-dev
2.下載webkit源碼
svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit
3.編譯webkit
./WebKit/WebKitTools/Scripts/build-webkit --qt
4.運行webkit
$ cd WebKit/WebKitBuild/Release/bin;
$./QtLauncher
WebKit 結構分析(來自網絡)
簡要的說,WebKit由三個模塊組成:JavaScriptCore、WebCore 和 WebKit。WebKit作爲了整個項目的名稱。
JavaScriptCore:是JavaScript解釋器;
WebCore:是整個項目的核心,用來實現render引擎:解析Web頁面,生成一個DOM樹和一個render樹,並最終render it with a backend(後端?),當前已經有很多移植的Backend,如WebKit/GTK,WebKitQT等。在上圖中,backend從WebCore中分離出來了,但實際上它是WebCore的一部分。
WebKit:它隱藏並選擇WebCore到當前平臺。在WebKit/Gtk中,WebCore以Gtk objects的形式出現,並且它們的signals和API類似其他的Gtk objects.
WebKit工程組織與管理平臺與工具當前WebKit支持四種平臺:GTK、QT、Mac OS X、和Cygwin。
GTK和QT使用qmake
Mac OS X使用xcodebuild
Cygwin則使用Visual Studio
下面主要針對Qt版的WebKit作分析介紹:
首先,執行WebKitTools/Scripts下的build-webkit Perl 腳本,可以使用一些參數配置需要的功能模塊,主要有SVG的一些功能配置,以及XPATH、XSLT、VIDEO等。腳本執行過程中會對相應的參數進行解析,確定編譯選項、功能模塊、平臺信息以及相應的工具、輸出路徑等等參數,最後根據不同的參數,使用qmake工具由webkit.pro生成整個工程的makefile。在make的過程中會進一步調用qmake由各個子模塊的.pro項目文件生成各模塊的makefile。最後make各個子模塊的makefile就可以得到需要的目標文件。
工程結構這個project可以分成JavaScriptCore、WebCore、WebKit三個子模塊,對應到三個子目錄,具體的如上面WebKit結構介紹的。
更進一步,整個project又分成了六個可構建出來的子project,對應到相應的.pro文件。
WebKit\WebCore\WebCore.pro:生成libQtWebKit.so或libQtWebKit.a,是整個WebKit引擎庫,WebKit應用都是基於這個庫。
WebKit\JavaScriptCore\kjs\testkjs.pro:生成testkjs可執行文件,它是一個JavaScript的測試工具,測試JavaScriptCore模塊的功能實現。
WebKit\JavaScriptCore\pcre\dftables.pro:生成dftables可執行文件,也是一個工具。
WebKit\WebKit\qt\QtLauncher\QtLauncher.pro:生成QtLauncher可執行文件,它是基於WebKit的一個簡單瀏覽器的應用。
WebKit\WebKit\qt\Plugins\plugins.pro:生成了libqtwebico.so,install後會放到/usr/lib/qt4/plugins/imageformats/下,這個庫的作用還不明瞭,因爲目前運行的QtLauncher應用沒有用到它,有待研究。
WebKit\WebKitTools\DumpRenderTree\qt\DumpRenderTree.pro:生成DumpRenderTree工具,也是基於WebKit的一個應用工具。