FF3をWindowsでビルド
なんでテーブルのレンダリングは遅いんだろ、とかinnerHTMLとappendChildはどう違う処理してんのよ
とかいろいろ深いところが知りたくなったら、やっぱブラウザのソースコード追うしかないかなと
思った。
なのでビルド!ビルド!
調べてみたところ、こんな手順でやってみました。
【WindowsでのFirefoxのビルド】
- Visual Studio 2005をインストール
- Windows Platform SDKをインストール
- MozillaBuildをインストール
- C:\Mozilla-build内の、start-msvc8.batをクリック
CSSだけで横タブ⇒MinGW32に入る
- cd C:/
- mkdir proj
- cd proj
- cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/client.mk
チェックアウトしたclient.mkにコマンドを与えることで各種Mozillaに対する操作ができる
- make -f client.mk checkout MOZ_CO_PROJECT=browser
スタンドアローン版Firefoxのソースをチェックアウトするよ
- C:/proj/mozilla/に「.mozconfig」ファイルを作る
vi .mozconfig
→このファイルにビルド時のオプションを書く(下のは例)
# Options for client.mk. mk_add_options MOZ_CO_PROJECT=browser mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@ # Options for 'configure' (same as command-line options). ac_add_options --enable-application=browser ac_add_options --enable-debug ac_add_options --disable-static ac_add_options --disable-optimize
- make -f client.mk build MOZ_CO_PROJECT=browser
Firefoxをビルドするよ
→さっき作った.mozconfigを元にビルドされる
実行ファイルが作られている
→MineFIeldって名前になってる。。
うーむ、firefox.exeを実行したらエラーでまくり!・・
でもフレーム処理周りのアサーションでエラーが起きてたから、とりあえず該当のアサーション消してみたら動いた。
いいのか、これで・・!?
何はともあれ、VisualStudioでもプロセスアタッチできたので、中を追ってみよう。
あ、その前にC++を読めるようにならんと(えー
●参考URL
・MozillaのソースコードCVS
http://developer.mozilla.org/en/docs/Mozilla_Source_Code_%28CVS%29
・Visual Studio 2005でのFirefoxのビルドでめっちゃ参考にしたサイト
http://d.hatena.ne.jp/brazil/20071125/1195922073
http://simon-jung.blogspot.com/2007/09/building-firefox-3-in-windows.html
http://developer.mozilla.org/en/docs/VC8_Build_Instructions