FrontPage  Index  Search  Changes  RSS  Login

秀の介Wiki - Firefoxをビルドする(CVS/Linux編) Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc}}

Linux上で、CVSからソースを取得して、Firefoxをビルドする手順です。ここでは、Debian GNU/Linux Sid(Unstable)で実行する場合ですが、その他のディストリビューションでも、ほぼ同じ手順で出きるはずです。

TrunkはCVSからMercurialに変更されています。MercurialからFirefoxをビルドしたい場合は、[[Firefoxをビルドする(Mercurial/Linux編)]]をご覧ください。

!準備
CVSからソースを取得してビルドする場合には、以下のツールが必要となります。
*cvs
*make
*gcc/g++
その他、多数のライブラリの開発用パッケージが必要となります。
apt-get build-dep iceweasel
で取得することもできますが、iceweaselは安定版のFirefoxを元にしているために、必要なパッケージが異なる場合もあると思いますので、ビルド中にエラーが出たら必要なパッケージを探してインストールする方が早いかもしれません(^^;。

!ソースコードの取得

!!基本的なファイルの取得
FirefoxのソースコードはCVSで管理されています。最初に
export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
として、CVSサーバを指定します。

適当なディレクトリ(ここでは、/home/hoge/source/とします)に移動してから、
cvs co mozilla/client.mk
として、client.mkというファイルを取得します。ここで、ビルド中に使用される一時ディレクトリを作っておきましょう。ここでは、/home/hoge/source/fx/としておきます。

次に/home/hoge/source/で、
cvs co mozilla/browser/config/mozconfig
として、Firefoxをビルドするために必要な最低限の情報が書かれたmozconfigファイルを取得します。

!!.mozconfigの作成
ビルドのオプションは、.mozconfigファイルに記述します。最低限必要なものは
<<<
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/fx
# Options for 'configure' (same as command-line options).
ac_add_options --enable-application=browser
ac_add_options --enable-default-toolkit=cairo-gtk2
>>>
です。もっと細かくオプションを指定したい場合は、[[Mozilla Build Configurator|http://webtools.mozilla.org/build/config.cgi]]を使うと、便利です。.mozconfigは/home/hoge/source/mozilla/に置きましょう。

!!Firefoxソースファイルの取得
カレントディレクトリを/home/hoge/source/mozilla/に移動して、
make -f client.mk checkout
とすることにより、Firefoxをビルドするために必要なソースコードが取得できます。ファイルの数が多いので、コーヒーでも飲みながら待ちましょう(^^)。

!ビルドする

!!ソースコードのビルド
ソースの取得が完了したら、ビルドしてみましょう。
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/dist/以下にfirefox-x.y.z.tar.bz2(x:Firefoxのバージョン、y:ロケール、z:プラットフォーム)が作成されます。

!付録

!!日々のビルド
CVSからのビルドに成功すると、毎日ビルドしたくなるでしょう(^^;。その場合には、
<<<
cd /home/hoge/source/
cvs co mozilla/client.mk
cd mozilla
make -f client.mk clean
make -f client.mk checkout
make -f client.mk build
>>>
とすることで、最新のFirefoxが手に入ります。なお、一日に何回もビルドする場合には、
make -f client.mk clean
は不要かもしれません。