秀の介Wiki - Firefoxをビルドする(Mercurial/Linux編) Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
Firefoxのtrunkは、バージョンコントロールシステムがCVSからMercurialと変更されました。ここでは、Debian GNU/Linux Sid(Unstable)で、Mercurialよりソースコードを取得して、Firefoxをビルドする手順を書いてみます。
ThunderbirdとSeaMonkeyもMercurialに移行しました。こちらは、[[comm-central|http://hg.mozilla.org/comm-central]]が使われています。
Firefox 3をビルドしたい場合は、[[Firefoxをビルドする(CVS/Linux編)]]をご覧ください。
!準備
Mercurialからソースを取得してビルドする場合は、以下のツールが必要となります。
*mercurial 1.0以上
*python 2.4/2.5
*autoconf 2.13
*make
*gcc/g++
*yasm
*tar/bzip2 (ビルド後にtarballを作成する場合)
autoconfは必ず2.13を使用してください。
その他にも、多数のライブラリの開発用パッケージが必要となります。
!ソースコードの取得
!!リポジトリのコピーの作成
最初にFirefoxのリボジトリのコピーを作成します。適当なディレクトリ(ここでは、/home/hoge/source/とします)に移動してから、
hg clone http://hg.mozilla.org/mozilla-central/ mozilla
を実行します。すると、/home/hoge/source/mozilla/以下にリボジトリのコピーが作成されます。
ここで、ビルド中に使用される一時ディレクトリを作っておきましょう。ここでは、/home/hoge/source/fx/としておきます。
!!.mozconfigの作成
ビルドのオプションは、.mozcofigファイルに記述します。.mozconfigは/home/hoge/source/mozilla/に置きましょう。最低限必要なものは、
<<<
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/fx
mk_add_options AUTOCONF=autoconf2.13
# Options for 'configure' (same as command-line options).
>>>
です。その他のオプションは、この後に続けてください。オプションの詳細については、[[Configuring Build Options|http://developer.mozilla.org/en/docs/Configuring_Build_Options]]を参照してください。
なお、.mozconfigの例の2番目の行のautoconf2.13の部分は、お使いのautoconf 2.13のコマンド名を記述してください。
! ビルドする
!! ソースコードのビルド
ソースコードの取得が完了したら、ビルドしてみましょう。
make -f client.mk build
とすると、ビルドが始まります。最初に必要なツールやヘッダファイルなどのチェックが行われますので、エラーで止まってしまった場合は、適宜必要なパッケージをインストールしてください。
ビルドが成功すると、/home/hoge/source/mozilla/fx/dist/に必要なファイル群が生成されます。/home/hoge/source/mozilla/fx/dist/bin/firefoxを実行すれば、ビルドされたFirefoxを試すことができます。
!!tarballの作成
/home/hoge/source/fx/で
make package
を実行することにより、/home/hoge/source/fx/dist/以下にfirefox-x.y.z.tar.bz2(x:Firefoxのバージョン、y:ロケール、z:プラットフォーム)が作成されます。
!Profile-Guided Optimizationでビルドする
[[Profile-Guided Optimization(PG)|Profile-Guided Optimization]]でビルドする方法は、[[Building with Profile-Guided Optimization|https://developer.mozilla.org/en/Building_with_Profile-Guided_Optimization]]に説明されています。実際に殺ってみると非情に簡単で、.mozconfigにたった1行、
""mk_add_optionsPROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'PROFILE_GEN_SCRIPT='$(MAKE) -C $(MOZ_OBJDIR) pgo-profile-run'
を追加して、
make -f client.mk build
の替りに、
make -f client.mk profiledbuild
とすればOKです。ただし、通常のビルドよりもかなり時間がかかりますので、ご注意を。
! 付録
!! 日々のビルド
すでにリポジトリのコピーが作成されている時には、以下のようにすれば、新しいFirefoxが手に入ります。
<<<
cd /home/hoge/source/mozilla/
make -f client.mk clean
hg pull -u
make -f client.mk build
>>>
ビルドでトラブルがあった場合は、
make -f client.mk clean
の代わりに、
rm -r fx/*
を実行してみてください。
Firefoxのtrunkは、バージョンコントロールシステムがCVSからMercurialと変更されました。ここでは、Debian GNU/Linux Sid(Unstable)で、Mercurialよりソースコードを取得して、Firefoxをビルドする手順を書いてみます。
ThunderbirdとSeaMonkeyもMercurialに移行しました。こちらは、[[comm-central|http://hg.mozilla.org/comm-central]]が使われています。
Firefox 3をビルドしたい場合は、[[Firefoxをビルドする(CVS/Linux編)]]をご覧ください。
!準備
Mercurialからソースを取得してビルドする場合は、以下のツールが必要となります。
*mercurial 1.0以上
*python 2.4/2.5
*autoconf 2.13
*make
*gcc/g++
*yasm
*tar/bzip2 (ビルド後にtarballを作成する場合)
autoconfは必ず2.13を使用してください。
その他にも、多数のライブラリの開発用パッケージが必要となります。
!ソースコードの取得
!!リポジトリのコピーの作成
最初にFirefoxのリボジトリのコピーを作成します。適当なディレクトリ(ここでは、/home/hoge/source/とします)に移動してから、
hg clone http://hg.mozilla.org/mozilla-central/ mozilla
を実行します。すると、/home/hoge/source/mozilla/以下にリボジトリのコピーが作成されます。
ここで、ビルド中に使用される一時ディレクトリを作っておきましょう。ここでは、/home/hoge/source/fx/としておきます。
!!.mozconfigの作成
ビルドのオプションは、.mozcofigファイルに記述します。.mozconfigは/home/hoge/source/mozilla/に置きましょう。最低限必要なものは、
<<<
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/fx
mk_add_options AUTOCONF=autoconf2.13
# Options for 'configure' (same as command-line options).
>>>
です。その他のオプションは、この後に続けてください。オプションの詳細については、[[Configuring Build Options|http://developer.mozilla.org/en/docs/Configuring_Build_Options]]を参照してください。
なお、.mozconfigの例の2番目の行のautoconf2.13の部分は、お使いのautoconf 2.13のコマンド名を記述してください。
! ビルドする
!! ソースコードのビルド
ソースコードの取得が完了したら、ビルドしてみましょう。
make -f client.mk build
とすると、ビルドが始まります。最初に必要なツールやヘッダファイルなどのチェックが行われますので、エラーで止まってしまった場合は、適宜必要なパッケージをインストールしてください。
ビルドが成功すると、/home/hoge/source/mozilla/fx/dist/に必要なファイル群が生成されます。/home/hoge/source/mozilla/fx/dist/bin/firefoxを実行すれば、ビルドされたFirefoxを試すことができます。
!!tarballの作成
/home/hoge/source/fx/で
make package
を実行することにより、/home/hoge/source/fx/dist/以下にfirefox-x.y.z.tar.bz2(x:Firefoxのバージョン、y:ロケール、z:プラットフォーム)が作成されます。
!Profile-Guided Optimizationでビルドする
[[Profile-Guided Optimization(PG)|Profile-Guided Optimization]]でビルドする方法は、[[Building with Profile-Guided Optimization|https://developer.mozilla.org/en/Building_with_Profile-Guided_Optimization]]に説明されています。実際に殺ってみると非情に簡単で、.mozconfigにたった1行、
""mk_add_options
を追加して、
make -f client.mk build
の替りに、
make -f client.mk profiledbuild
とすればOKです。ただし、通常のビルドよりもかなり時間がかかりますので、ご注意を。
! 付録
!! 日々のビルド
すでにリポジトリのコピーが作成されている時には、以下のようにすれば、新しいFirefoxが手に入ります。
<<<
cd /home/hoge/source/mozilla/
make -f client.mk clean
hg pull -u
make -f client.mk build
>>>
ビルドでトラブルがあった場合は、
make -f client.mk clean
の代わりに、
rm -r fx/*
を実行してみてください。