概述
Safari和Chrome的内核都是webkit,无论是打算自己开发个浏览器还是在程序里集成完整的HTML解析功能,webkit都是为数不多的选择。特别是webkit分支中的jsc,可以命令行下解释执行javascript,真是想想就让人亢奋的玩物。编译环境选择的是Ubuntu 15.04 x86_64,由于玩心太重,所以首先考虑把jsc编译出来。
下载代码
有大概三种途径弄到代码,git,svn和直接下载tar.xz,我只试了后面两种
svn checkout https://svn.webkit.org/repository/webkit/trunk webkit
1
svncheckouthttps://svn.webkit.org/repository/webkit/trunkwebkit
或者从webkitgtk直接下载tar.xz
准备编译环境
执行webkit/Tools/gtk/install-dependencies可以安装大部分缺失的库代码,另外再手动补下刀
sudo apt-get install libgstreamer*
1
sudoapt-getinstalllibgstreamer*
其余的库要是还缺,apt-cache search+apt-get install 缺啥补啥吧
编译
如果下载的tar.xz的话,参考linuxfromscratch进入webkit目录执行以下代码,编译好的jsc位于./build/bin/jsc
sed -e 's/“/"/' -e 's/”/"/'
-i Source/WebCore/xml/XMLViewer.{css,js} &&
mkdir -vp build &&
cd build &&
cmake -DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_SKIP_RPATH=ON
-DENABLE_GEOLOCATION=OFF
-DPORT=GTK
-DLIB_INSTALL_DIR=/usr/lib
-DUSE_LIBHYPHEN=OFF
-DSHARED_CORE=OFF
-DCMAKE_C_COMPILER=/home/jack/afl/afl-gcc
-DCMAKE_CXX_COMPILER=/home/jack/afl/afl-g++
-DBUILD_SHARED_LIBS=OFF
-DENABLE_MINIBROWSER=ON
-Wno-dev .. &&
make -j10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sed-e's/“/"/'-e's/”/"/'
-iSource/WebCore/xml/XMLViewer.{css,js}&&
mkdir-vpbuild&&
cdbuild&&
cmake-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_SKIP_RPATH=ON
-DENABLE_GEOLOCATION=OFF
-DPORT=GTK
-DLIB_INSTALL_DIR=/usr/lib
-DUSE_LIBHYPHEN=OFF
-DSHARED_CORE=OFF
-DCMAKE_C_COMPILER=/home/jack/afl/afl-gcc
-DCMAKE_CXX_COMPILER=/home/jack/afl/afl-g++
-DBUILD_SHARED_LIBS=OFF
-DENABLE_MINIBROWSER=ON
-Wno-dev..&&
make-j10
如果是svn得到的代码,进入webkit目录后执行编译脚本得到./WebKitBuild/Release/bin/jsc
./Tools/Scripts/build-jsc --gtk --makeargs="-j10"
1
./Tools/Scripts/build-jsc--gtk--makeargs="-j10"
最后
以上就是傲娇大白为你收集整理的linux下编译webkit,Linux下编译WebKit和JSC的全部内容,希望文章能够帮你解决linux下编译webkit,Linux下编译WebKit和JSC所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复