SeaMonkey 1.0
が出ました。
"Mozilla Application Suite"
と呼ばれるものでブラウザ、メーラー、コンポーザーがひとつになったものです。Firefox, Thunderbird
のようにブラウザ機能、メーラー機能を別にしたものではなく本来の Mozilla ブラウザと思っていただければいいかと思います。私は
Firefox も
Thunderbird
も使いますしブログに色々書いていますが実はこの Mozilla Suite
が一番好きだったりします。慣れているからかもしれませんが、やっぱり全部1つに入っていた方が便利ですよね。Firefox
を使っているときに左下のステータスバーにある「メール」アイコンをついつい探してしまいます。「ブラウザが落ちてしまって
書きかけのメールもどこかにいってしまった…ブラウザとメーラーは分けて欲しい…」なんて話を聞きますが…それは落ちてしまうのが悪いわけで、落ちなければ一
体化していたほうがやっぱり便利ですよね。
前から Mozilla のビルド方法を書きたいと思っていたのですが、今回は SeaMonkey 1.0 リリース記念に Solaris 10 + Sun Studio 11 のコンパイラで SeaMonkey
をビルドしてみましょう!
1. ビルドについての概要
UNIX あるいは Linux
でどのようにビルドしたらよいかというのは以下のドキュメントに詳しく書かれています。ビルドのオプションも一通りではありませんから読んでみるのもおも
しろいと思います。ここでは一番簡単なオプションでいきましょう。
Linux
Build Prerequisites
Sun Studio でコンパイルするにはほんの少しだけ環境を変更する必要があります。
2. 必要なソフトウェアをそろえる
Solaris 10 は「開発者」以上でインストールしてある必要があります。
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 ファイルにビルドオプションを書いておくのが一般的です。
Configuring
Build Options
いろんなオプションがありますね。またオンラインで項目を選んでいくと .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
できたてほやほや SeaMonkey 1.0
8. いろいろしてみる
さてここまで出来たらいろいろ出来ますね。ビルドオプションを変更してみるのもいいでしょうし、ソースコードをハックしてみるのもいいです。
注意点:
1つ、ビルドしてみて気が付いたところがあります。modules/libpr0n/decoders/icon/gtk の
nsIconChannel.cpp の build deps
が非常に非常に時間がかかってしまいます。なぜだか私にはわからないのですが時間がかかるだけでビルド自体は正しく出来ます。\