折角なので firefox 本体も VisualStudio 2003 でコンパイルしてみる事にした。結論を言うと、よっぽど暇な人以外はやらない方が良いと思う。firefox の中には勉強になる要素が沢山あるんだけど、毎度コンパイルの度にここまで待たされるのは嫌だなあと思った。ドキュメントは大変充実していて、しかも日本語訳さえあるのでのんびりやれば大丈夫だ。しかし大変な事は大変。やり方は以下のとおり。
やり方
- ソースコードをダウンロードして、cygwin のパス以外に展開
- cygwin セットアップ
- cygwin の make 3.81 では動かないらしいので、3.80 にダウングレード
- cygwin の /bin/link.exe を /bin/glink.exe にリネーム
- http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/moztools-static.zip をダウンロードして c:\moztools として展開
- http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites_on_the_1.7_and_1.8_Branches#Configure_the_Environment を元にバッチファイルを作り、実行。
- ソースディレクトリに移動。
- http://developer.mozilla.org/ja/docs/Configuring_Build_Options を元に設定ファイルを作ってビルド
$ cat > .mozconfig . $topsrcdir/browser/config/mozconfig mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt-static ac_add_options --enable-optimize ac_add_options --enable-static ac_add_options --disable-shared ac_add_options --disable-tests ac_add_options --disable-installer ac_add_options --enable-debugger-info-modules mk_add_options MOZ_CO_PROJECT=browser mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
$ make -f client.mk build
デバッグ
- Visual Studio 2003 を開く
- ファイル - ソリューションを開く
- firefox.exe 実行ファイルを選択
- 適当な場所に sln ファイルを保存
- 実行
- 適当に一時停止ボタンを押すとソースが読めます。これは面白い!
注意点。難しかった点。
リンク (それぞれに日本語訳があります)
- 最初に見る場所 http://developer.mozilla.org/en/docs/Build_Documentation
- 必要な物 http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites_on_the_1.7_and_1.8_Branches
- コンパイル設定ファイルの説明 http://developer.mozilla.org/en/docs/Configuring_Build_Options
- デバッグの仕方 http://developer.mozilla.org/en/docs/Debugging_Mozilla_on_Windows_FAQ