MozTW 討論區
https://forum.moztw.org/

使用 MinGW 編譯 Firefox 心得分享
https://forum.moztw.org/viewtopic.php?f=18&t=25739
1 頁 (共 1 頁)

發表人:  jaywang0.tw [ 2009-01-10, 20:22 ]
文章主題 :  使用 MinGW 編譯 Firefox 心得分享

在 Windows 系統裡,常用的 C++ 編譯器大概就是 Visual C++ 和 MinGW 了,但是手動修改與建構編譯環境真的很不易(我找了好久才找到可以在沒有最佳化情況下正常編譯 Firefox),因此,我用批次檔設計了一個全自動建構開發環境的程式,叫做 mozbuildtools ,可在 http://code.google.com/p/mozbuildtools/downloads/list 下載最新版本。

用 7-zip 或 winrar 解開後,盡量放在沒有空格及中文的路徑中,然後點兩下 setup.bat 檔案。批次檔會自動下載 MinGW 所需的建制工具。然後去下載 Firefox 和所需的 patch 。

目前只有最新的 3.2.x 在支援當中。您必須下載 Ver. 0.3 之 patch 才能正常使用。

http://mozbuildtools.googlecode.com/svn/trunk/patches/

找到最接近 trunk 最新版本的 patch (成功機率高),然後再利用 hg 下載原始碼
> hg clone http://hg.mozilla.org/mozilla-central/ firefox-src
可能要等很久,請耐心稍等

進入 firefox-src 目錄
> cd firefox-src

使用 patch
> patch -p1 < patchname.patch

用記事本建立一個檔案名叫 .mozconfig (務必在記事本程式內使用另存新檔功能儲存,請勿使用修改檔名的方式),可參考 README 內建議的 .mozconfig ,建議將 ac_add_options --enable-optimize="-O3 -march=prescott -freorder-blocks -fno-reorder-functions -msse3 -mmmx -mfpmath=sse -D_FORTIFY_SOURCE=2" 這一行改為
ac_add_options --disable-optimize ,不然編譯過程可能會發生錯誤,或是編譯出來的檔案不能執行。(預計下一版的 README 會改進)

然後還要記得執行 autoconf
> autoconf-2.13
> cd nsprpub
> autoconf-2.13
> cd ..

然後就可以編譯了
> make -f client.mk build

完成後就可在 .mozconfig MOZ_OBJDIR 指定的資料夾中的 dist/bin 找到執行檔。不過經過測試,有些 plugin 無法使用,像是 IETab 擴充元件中所附帶的 plugin 就無法使用,還有 Google toolbar 好像也無法使用。如果執行時會有錯誤訊息,可以另開個 profile (不管有沒有錯誤訊息,建議這麼做)或是以安全模式執行看看。

常見問題:
1. python 無法使用,顯示類似需要重新安裝軟體的訊息?可以嘗試自行下載 python 2.5.4 安裝,如果仍無法解決,可安裝舊版的 python 2.5.2 。記得調整 start-msys.bat 之環境變數。(之前我有遇過一次,不過自從更新到 Windows Vista 之後就沒遇過了,這裡是我之前的處理方法)

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/