SeaMonkey 1.0 を Solaris 10 + Sun Studio 11 でビルドしよう!!
前から Mozilla のビルド方法を書きたいと思っていたのですが、今回は SeaMonkey 1.0 リリース記念に Solaris 10 + Sun Studio 11 のコンパイラで SeaMonkey をビルドしてみましょう!
1. ビルドについての概要
UNIX あるいは Linux でどのようにビルドしたらよいかというのは以下のドキュメントに詳しく書かれています。ビルドのオプションも一通りではありませんから読んでみるのもおも しろいと思います。ここでは一番簡単なオプションでいきましょう。
http://developer.mozilla.org/ja/docs/Linux_Build_Prerequisites (Japanese)
Sun Studio でコンパイルするにはほんの少しだけ環境を変更する必要があります。
2. 必要なソフトウェアをそろえる
Solaris 10 は「開発者」以上でインストールしてある必要があります。
Sun Studio 11 - http://developers.sun.com/prodtech/cc/products/get.html
SeaMonkey のソース - http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/1.0/seamonkey-1.0.source.tar.bz2
3. 環境設定
パス
次のものはパスに通しておきましょう。Sun Studio 11 の bin/ と /usr/sfw/bin を入れる必要があります。
/opt/sunstudio11/bin/ /usr/ccs/bin /usr/sfw/bin
コンパイラ、make コマンド
コンパイラは Sun Studio の cc と CC を使います。また make コマンドは gmake を使う必要があります。gmake は /usr/sfw/bin に入っているはずです。 次のように環境変数を設定しておきましょう。
setenv CC cc setenv CXX CC setenv MAKE gmake
4. .mozconfig ファイル
Mozilla をビルドするときには $HOME/.mozconfig ファイルにビルドオプションを書いておくのが一般的です。
いろんなオプションがありますね。またオンラインで項目を選んでいくと .mozconfig を自動生成してくれる Unix Build Configurator というのがあります。これも試してみるといいかもしれません。
ここでは Solaris 10 JDS で使うための一番簡単なオプションを指定することにしますね。今回私が使った .mozconfig ファイルです。
enable-application には suite を指定します。ここが Firefox や Thunderbird では変わってきます。enable-default-toolkit で指定したのは JDS で使われている gtk2 です。
# Options for 'configure' (same as command-line options). ac_add_options --enable-application=suite ac_add_options --enable-default-toolkit=gtk2 ac_add_options --disable-tests ac_add_options --disable-debug
5. configure を走らす
準備が出来たら SeaMonkey のソースを展開したところで configure を実行してみましょう。環境設定に問題なければ無事に終了するはずです。ビルドフラグやオプションが正しく効いているのか、 config/autoconf.mk を見てみましょう。
コンパイラは Sun Studio のを見に行っているようです。
CC = cc CXX = CC
ホストの情報です。
HOST_OS_ARCH = SunOS host_cpu = i386 host_vendor = pc host_os = solaris2.10
make コマンドは /usr/sfw/bin の gmake です。
MAKE = /usr/sfw/bin/gmake
ツールキットは GTK ではなく GTK2 をちゃんと見てくれているようですね。
MOZ_ENABLE_GTK = MOZ_ENABLE_GTK2 = 1
Xft が有効になっています。これも JDS ではデフォルトです。
MOZ_ENABLE_XFT = 1
6. gmake をたたこう!
さて、準備が出来ました。ここで gmake を走らせましょう。
7. 実行してみる
バイナリは dist/bin 以下に作成されます。
% ./seamonkey
で起動しましょう。普段使っている Mozilla のプロファイルを使いたくなければ -ProfileManager オプションで起動するか、以下のようにテスト用のプロファイルを作って起動するのもいいかもしれません。
% ./seamonkey -CreateProfile seamonkey_profile
% ./seamonkey -P seamonkey_profile

8. いろいろしてみる
さてここまで出来たらいろいろ出来ますね。ビルドオプションを変更してみるのもいいでしょうし、ソースコードをハックしてみるのもいいです。
注意点:
1つ、ビルドしてみて気が付いたところがあります。modules/libpr0n/decoders/icon/gtk の nsIconChannel.cpp の build deps が非常に非常に時間がかかってしまいます。なぜだか私にはわからないのですが時間がかかるだけでビルド自体は正しく出来ます。\



