SeaMonkey 1.0 を Solaris 10 + Sun Studio 11 でビルドしよう!!

SeaMonkey 1.0 が出ました。"Mozilla Application Suite" と呼ばれるものでブラウザ、メーラー、コンポーザーがひとつになったものです。Firefox, Thunderbird のようにブラウザ機能、メーラー機能を別にしたものではなく本来の Mozilla ブラウザと思っていただければいいかと思います。私は FirefoxThunderbird も使いますしブログに色々書いていますが実はこの 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 ファイルにビルドオプションを書いておくのが一般的です。


いろんなオプションがありますね。またオンラインで項目を選んでいくと .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
Seamonkey on Solaris 10!

8. いろいろしてみる

さてここまで出来たらいろいろ出来ますね。ビルドオプションを変更してみるのもいいでしょうし、ソースコードをハックしてみるのもいいです。

注意点:
1つ、ビルドしてみて気が付いたところがあります。modules/libpr0n/decoders/icon/gtk の nsIconChannel.cpp の build deps が非常に非常に時間がかかってしまいます。なぜだか私にはわからないのですが時間がかかるだけでビルド自体は正しく出来ます。\\
Comments:

Post a Comment:
Comments are closed for this entry.
About

NetBeans Globalization

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today