2006年8月 8日

Solaris 10 でFirefoxの最適化ビルド

Firefox 1.5.0.6をSolaris 10でSun Studio 11を使ってコンパイルします。
しかも、なるべくサクサク動くようにPentium4に最適化します。
オプションで-xtarget=pentium4を渡すと、SSE2の有効化やメモリ関連の最適化をやってくれるそうです。

まずは、ソースをDLしてソースを展開
gtar jxf firefox-1.5.0.6-source.tar.bz2
cd mozilla

そして、肝心な.mozconfigです。
今回はこんなカンジ。

. $topsrcdir/browser/config/mozconfig
ac_add_options --enable-optimize="-xO3 -xtarget=pentium4"
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --enable-xft
ac_add_options --enable-svg
ac_add_options --disable-freetype2
ac_add_options --disable-auto-deps
ac_add_options --disable-tests
#ac_add_options --enable-static
ac_add_options --enable-official-branding
ac_add_options --enable-default-toolkit=gtk2
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1

ちなみに、
#ac_add_options --enable-ui-locale=ja-JP
#mk_add_options MOZ_CO_LOCALES=ja-JP
を入れると、"ja-JP関連のファイルがないぜ!!"と、途中で止まります。
また、
ac_add_options --enable-static
を有効にするなら、先にdisable sharedも入れなければなりません。

そして、Sun Studioを使うためのシェルの環境設定。
export CC=cc
export CXX=CC
export CFLAGS="-xlibmil"
export CXXFLAGS="-xlibmil -xlibmopt -features=tmplife -norunpath"
export LDFLAGS="-R'$$ORIGIN:$$ORIGIN/..' -R/usr/sfw/lib -R/opt/sfw/lib -R/usr/local/lib"
cshならsetenvで。

そして、ビルド。
gmake -f client.mk build

ちなみに、ソースをクリーンな状態に戻すには、
gmake -f client.mk distclean

そいで、仕上がったらパッケージを作ります。
しかし、Solaris付属のtarはかなりの低機能版。
なので、gtarを使いたいのですが、gtarを使ってもらうために、スクリプトを書き換えます。
toolkit/mozapps/installer/packager.mk
の中の
CREATE_FINAL_TAR = tar -c --owner=0 --group=0 --numeric-owner --mode="go-w" -f

CREATE_FINAL_TAR = gtar -c --owner=0 --group=0 --numeric-owner --mode="go-w" -f
に書き換えます。
そして、
gmake -C xpinstall/packager
とすると dist/にパッケージが完成です。
firefox-1.5.0.6.en-US.solaris2.10-i386.tar.bz2

完成図はこんなカンジ。
firefox1506.gif
クリックで拡大するよ。
Mac OSXみたくなっているのはご愛敬(^^ゞ

トラックバックURL

このエントリーのトラックバックURL:
http://nns-fact.2y.net/mt/mt-tb.cgi/20

コメントする


画像の中に見える文字を入力してください。