下載最新的Google Chrome源碼並編譯

之所以這麼喜歡chrome,就是因爲它開放。與firefox不同,ff使用了mozilla的一些技術:xul、xpcom,而且編譯過程非常複雜,不適合研究學習。chrome使用了最普通的lib:WTL、zlib、libpng、sqlite、webkit,連v8也不是專門爲chrome開發的,它甚至可以獨立在命令行中解釋js代碼。編譯過程中使用了最最最平常不過的工具python,svn,cygwin。。。比起mozilla平易近人多了。

1.爲下載源碼做準備

這裏下載depot_tools,解壓縮。
http://src.chromium.org/svn/trunk/tools/depot_tools.zip


安裝一個python 2.4,我直接從這裏用svn簽出了一個。官方用的就是2.4,我沒嘗試過其他版本。
http://src.chromium.org/svn/trunk/tools/third_party/python/


因爲gclient要用svn,而我只有TortoiseSVN,所以我在這裏簽出一個svn。
http://src.chromium.org/svn/trunk/depot_tools/win/bootstrap/svn
或者這裏下載
http://subversion.tigris.org


將depot_tools,python,svn的三個路徑添加到PATH環境變量中。


之後,我把其中python和svn下面所有的.svn文件夾都刪除了,免得svn操作的時候混亂,產生不必要的麻煩。不知道如果不刪除會不會失敗。


2.下載源碼 - 從SVN簽出

gclient config http://src.chromium.org/svn/trunk/src


(可選)在.gclient文件中添加這些
"custom_deps" : {
"src/webkit/data/layout_tests/LayoutTests": None,
},
目的是爲了不下載LayoutTests的文件。因爲這個很浪費時間,而且好像目前對方的SVN還有問題,導致後面的gyp程序不能執行。

gclient sync (--force)


2.下載源碼 - 下載tgz的壓縮包
http://build.chromium.org/buildbot/archives/chromium_tarball.html
解壓縮後如果想更新到最新版本就執行這個
gclient sync (--force)


3.編譯
編譯chrome_exe工程就可以了。等啊等啊。。。


注意:
源碼的目錄名中不能有空格。

官方說tgz壓縮包不能用cygwin的工具解壓,文件訪問權限會出問題,推薦7z。當然也不能用winrar,它處理0大小的文件會出錯。

如果打開src\chrome\chrome.sln後發現,很多工程不存在,說明gyp過程失敗。自己調用src\tools\gyp\gyp.bat src\build\all.gyp,這樣打開sln就發現都齊了。

如果VS2008出現“Error C2471: cannot update program database”錯誤,去這裏下一個補丁打上
http://support.microsoft.com/kb/946040

如果找不到t2embap.h,或者安裝一個Windows SDK 6.1,或者去其他安裝了的機器上找到t2embap.h .lib .dll分別拷到你的SDK的include,lib,windows的system32就可以了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章