Mozilla Thunderbird ビルドガイド

ここでは、mozilla source のビルドの仕方をあなたがすでに知っていることを前提にしています。もし自分で Thunderbird をビルドしたくなければ、ナイトリービルドを ftp.mozilla.org で見つけることが出来ます。

Thunderbird 0.5 とそれより古いバージョンをビルドするには、以前のビルドガイドを参照して下さい。

現在活発な開発作業が Mozilla trunk で行われています。今までの Mozilla ビルドに加えて、二つの新しいディレクトリからもソースを引き出しています:mozilla/toolkitmozilla/mail です。

trunk の代わりに最新のマイルストーンをビルドするには、CVS タグに THUNDERBIRD_0_6_RELEASE を使います。CVS を使いたくなければ最新の 0.6 マイルストーン用の source tarball をダウンロードすることが出来ます。

今の時点では Thunderbird と他の Mozilla アプリケーションに同じ tree を使用しないようにして下さい。Thunderbird はそのビルドの過程で chrome 中のさまざまなメールとツールキットのファイルを置き換えます。そしてその結果、Mozilla スイートとは互換性のない JAR ファイルが生成されてそこに残ります。

オプティマイズド(最適化)かデバッグか?

日常的に使用するためのビルドを作成するのならオプティマイズド(Optimized - 最適化)がいいでしょう。バグのフィックスが目的ならデバッグがいいでしょう。デフォルトではオプティマイズドでビルドされます。スタティック(静的)か非スタティックか?

スタティック(静的)か非スタティックか?

Thunderbird 0.7 以降のリリースではいまのところ、非スタティック・ビルドのプロセスよりも(特に計測はしていませんが)優れた性能を発揮するスタティック・ビルド・プロセスを採用しています。しかしスタティック・ビルドは、C++ のコードを変更する度にほとんど毎回メインの実行ファイルを再リンクする必要があるので、開発には不向きです。これには優れたハードウェアでさえしばらく時間のかかることがあります。もしインストーラを作成するのなら、パッケージ作成スクリプトはスタティック・ビルドによって生成されたより小さいファイルセットの扱いしかできないので、スタティック・ビルドが必要になります。

.mozconfig ファイルの作成

CVS 環境変数を正しく設定し次のチェックアウトコマンドを走らせます:

cvs co mozilla/client.mk mozilla/mail/config

そして .mozconfig ファイルを client.mk のある mozilla/ ディレクトリに作成し次の行を書き入れます:

. $topsrcdir/mail/config/mozconfig

最適化されたビルド

上記のデフォルト設定ではデバッグバージョンをビルドします。最適化されたビルドを作成するには次の行を加えます:

ac_add_options --disable-debug
ac_add_options --enable-optimize

Linux では --enable-optimize=-Os、MacOS X では --enable-optimize=-O2 を、スピードとサイズの最適化のための追加設定である上記の --enable-optimize の代わりに使用します。Windows では -O2 の使用には問題があるのでデフォルトレベルしか使用しません。それにこのビルドバイナリは標準の最適化でも十分なスピードが得られます。

スタティック・ビルド

上記のデフォルト設定では非スタティックをビルドします。Thunderbird 0.7 以降ではスタティックビルドをサポートするようになりました。スタティックをビルドするには(例えばリリース版やインストーラを作成したい場合)以下のラインを追記します:

ac_add_options --disable-shared
ac_add_options --enable-static

その他の役に立つオプション

エンドユーザに配付するものをビルドするには次を追加します:

export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1

Linux ビルドには次のいくつか、もしくはすべてを追加するとよいでしょう:

ac_add_options --enable-xft
ac_add_options --enable-freetype2
ac_add_options --enable-default-toolkit=gtk2

ソースをビルドする

では、ソースを引き出してビルドします:

make -f client.mk pull_all
make -f client.mk build_all

Thunderbird のビルドプロセスには最後に特別なステップがあります。Thunderbird に必要なライブラリとファイルを新しいディレクトリ、dist/thunderbird にコピーするのです。Thunderbird はこのディレクトリから起動します。また、配布用のビルドには、dist/bin ではなくこのディレクトリをパッケージングします。今のところ、これがあてはまるのは Windows と Unix のみですが、OSX のパッケージングに関しても間もなく適用されるようになります。(訳注:Mac OS X では少し異なりますので「Mozilla のディストリビューションをビルドする」を参照してください)

共通の問題

  • もしビルドが JAR のパッケージング中に mozilla/toolkit/components/console に入り込んでしまったら、それはおそらく xul pre-processor が死んでしまう Bug 206785 に遭遇したことを意味します。暫定的な対処法がそのバグにリストされています。