読者です 読者をやめる 読者になる 読者になる

Firefox 2.0 ビルド

./configure && make && make install は firefo では出来ない。./configure --help を見ながら mozilla/.mozconfig にオプションを記述していく。オプションの行頭にac_add_optionsをつける

# mozilla/.mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@ #LFS で gcc とか入れたときのように、オブジェクトディレクトリをソースと別にする
. $topsrcdir/browser/config/mozconfig #ソースにはthunderbirdとかオマケがいっぱい入ってるけどfirefoxブラウザだけ入れる
ac_add_options --enable-official-branding #商標関係のオプション。付けないと UA が別になっちゃうらしい。再配布するわけじゃないから付けてOK?

ac_add_options --enable-optimize="-O3 -fforce-addr -fomit-frame-pointer -funroll-loops -march=athlon -mfpmath=sse -msse -mmmx -m3dnow" #2chで見たような最適化オプション
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --enable-strip

ac_add_options --with-system-zlib
ac_add_options --with-system-png
ac_add_options --with-system-jpeg
ac_add_options --enable-system-cairo
ac_add_options --enable-default-toolkit=gtk2

ac_add_options --disable-installer
ac_add_options --disable-accessibility
ac_add_options --disable-gnomevfs #gnome 使わないので disable にしました
ac_add_options --disable-gnomeui #gnome 使わないので disable にしました
ac_add_options --disable-ldap
ac_add_options --disable-pango #pango 調べたけど有効にするメリットが分からなかったのでとりあえずdisable

このあとLFS使いのひとは一工夫しないとコンパイル中にエラーが出る。BLFS SupportのMLにも同じようなひとがいたので、前回の日記で見つけたblogの方の方法をパクらせてもらう。
mozilla/layout/build/Makefile.in

ifdef MOZ_ENABLE_GTK2
EXTRA_DSO_LDOPTS += $(MOZ_GTK2_LIBS) \
 -L/usr/X11R6/lib -lXrender -lX11 \   ←これ追加
 $(NULL)
endif

なんで最初っから書かれてないんだろう…ぐぐっても、ディストリ使ってる人は問題無くビルドできてるみたいで謎

そしてビルド

$ make -f client.mk build