TeamJapan/ja:development/dev build.html
このページの目的は、Camino™をビルドして動かす手引きをすることです。 CaminoはGeckoレンダリングエンジンを備えた単独で動作するウェブブラウザです。 Cocoazilla(Cocoaを使用してMozilla Suiteの全部を実装する別のプロジェクト)やCaminoの一部であるCHBrowserViewと混同しないでください。 Caminoの開発が初めてなら、このプロジェクトの約束事や必要なツールについて開発の手引きを参照してください。
このページの説明は、cdやmkdirなどの基本的なUNIXコマンドライン機能をあなたがよく知っていることを前提にしています。 UNIXコマンドラインの初歩について知りたい方はこのチュートリアルを参照してください。
Contents
ビルドの準備:Xcode
CaminoのビルドにはPanther(Mac OS Xバージョン10.3.x)とXcode(バージョン1.1以上)が必要です。(Mozillaのビルドには必要ありません。)Xcodeは新しくMacやPantherを買うと一緒についてくるCDに含まれています。また、Appleから無料でダウンロードすることもできます。
Caminoを正しくビルドするにはXcodeのカスタムインストールが必要です:インストール時に「Customize」ボタンをクリックして「Cross Development」セクションを選択します。もしこのオプションを選択せずにXcodeをインストールしたのなら、Caminoのビルドを行う前に再度Xcodeのインストーラを起動してCross Developmentを追加してください。
Fink
Mozilla Mac OS Xのビルドページの説明にしたがってFinkをインストールし、このFinkを使用してOrbitをインストールします。そしてさらにShared Menus frameworkをダウンロードしてインストールしてください。 上記ビルドページで説明しているように、JaguarからPantherにアップグレードする以前からFinkとOrbitがインストールされていた場合は、/sw全体を削除してfink 0.7.0以上とOrbitを新しくインストールし直すことを強くおすすめします。
Mac OS X 10.2.8用SDKフォルダの中のShared Menusフレームワークへのリファレンスを作成する必要があります。これを行うにはSDKをダウンロードし、それを/Library/Frameworks内に置きます。SDKをコピーする際にはディスクイメージ上のビルドディレクトリからSharedMenusCocoa.frameworkファイルをコピーすることに注意してください。 続いて次の作業を行います:
1. /Developer/SDKs/MacOSX10.2.8.sdkフォルダがあるか確認します。もしあればステップ3に飛びます。 2. 上のフォルダがない場合は、/Developer/SDKs/MacOSX10.2.7.sdkフォルダがないか確認してみてください。もしあればsymlinkを作成します: $ sudo ln -s /Developer/SDKs/MacOSX10.2.7.sdk /Developer/SDKs/MacOSX10.2.8.sdk もしなければ上で説明したようにXcode Cross Developmentツールをインストールします。 3. $ sudo mkdir -p /Developer/SDKs/MacOSX10.2.8.sdk/Library/Frameworks 4. $ cd /Developer/SDKs/MacOSX10.2.8.sdk/Library/Frameworks 5. $ sudo ln -s /Library/Frameworks/SharedMenusCocoa.framework SharedMenusCocoa.framework
CVS環境の設定
次のパラメータを使用してCVSクライアントを準備してください:
server: cvs-mirror.mozilla.org root directory: cvsroot username: anonymous password: anonymous
bashシェル(Mac OS Xのデフォルト)からコマンドラインクライアント(推奨)を使用しているのなら、次のコマンドでサーバ接続情報を設定保存することができます:
$ export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
別のシェルを使用しているのなら別のコマンドを使用してCVSの設定情報を保存する必要がありますが、それ以外のコマンドはすべて同じです。 コマンドラインで「bash」と入力して「return」キーを押せばいつでもbashシェルを呼び出すことができます。
CVSサーバに接続するには次のコマンドを入力します
$ cvs login
プロンプトが表示されたらパスワードを入力してください。 これでサーバからソースコードを引き出す準備が整いました。
ソースの引き出しとMozillaとCaminoのビルド
1. cdでCaminoのソースコードを保存したいディレクトリに移動します。 2. メインのビルドmakefileと設定ディレクトリを引き出します: $ cvs co mozilla/client.mk $ cvs co mozilla/camino/config/mozconfig 3. cdで今作成したmozillaディレクトリに移動します: % cd mozilla 4. mozillaディレクトリに.mozconfig(最初のピリオドを忘れずに)と名付けたプレインテキストファイルを作ります。
このファイルにはCaminoのビルドオプションを設定します。 まず最初に次の行を.mozconfigファイル(最初のドットとスペースを忘れないように)に追加します:
.$topsrcdir/camino/config/mozconfig
オプティマイズもしくはデバッグモードビルド デフォルトの設定ではオプティマイズされたCaminoのビルドを作成します。
デバッグモード(開発中のトラブルシューティングが容易)でビルドするには次の2行を加えます:
ac_add_options --disable-optimize ac_add_options --enable-debug
注意:XcodeでCaminoをビルドする際に設定を必ず合わせなくてはならないので、.mozconfigファイルにデバッグあるいはオプティマイズのどちらを設定したのか把握しておく必要があります。
もし設定が合致していないと主要なビルド変数が正しく設定されずvtableの配列が乱れてしまいます。 最終的な結果としてリンクできないか、または起動時にクラッシュしてしまいます。
スタティックもしくはダイナミックビルド デフォルトではCaminoはダイナミックにビルドされます。
Caminoをスタティックにビルドするには(これは、このコンポーネントのほとんどがCaminoバイナリーに直接コンパイルされることを意味します).mozconfigに次の行を加えます:
ac_add_options --disable-shared ac_add_options --enable-static
スタティックビルドは配布用で、開発用には推奨しません。
デュアルCPUマシーンでより高速なビルドを行う CPUを2個積んでいるマシンならCaminoのビルドにその性能を利用することができます。
.mozconfigファイルに次の行を追加します:
mk_add_options MOZ_MAKE_FLAGS=-j4
5. ソースを引き出してビルドする: ソースの引き出しとビルドをワンステップで行うには次のようにします: $ make -f client.mk
これによってCVSサーバから自動的にソースを引き出してCamino(Caminoに必要な様々なMozillaコンポーネントを含む)をビルドします。
最終的にCaminoのパッケージがmozilla/camino/buildにでき上がります。
ビルドすることなくソースの引き出しのみを行うには次のようにします: $ make -f client.mk checkout MOZ_CO_PROJECT=macbrowser
これでmozillaディレクトリからmake -f client.mkを実行することによっていつでもビルドすることができます。
開発
Caminoのフロントエンド コードに取り組むには、XcodeでCamino.xcode project(Caminoディレクトリから)を開きます。 Xcode上でコードを編集、ビルド、そして実行させることができます。
Xcodeでビルドする際はビルドの設定と.mozconfigファイル内の設定とが合致するように気をつけてください:ツールバーの「Active Build Style」から、デバッグビルド用には「Development」を、オプティマイズ用には「Deployment」を選択します。 .mozconfigと設定が合っていないとビルドに失敗します。
ウィジェット・コード Cocoaウィジェットのコードを編集した場合は、mozilla/widget/src/cocoaにmakeして、変更したウィジェットライブラリをリビルドすることができます。 ライブラリの新しいバージョンをCaminoに入れてテストするには、cpでCaminoアプリケーションパッケージ(mozilla/camino/build/Camino.app/Contents/MacOS/componentsの中)の中にそのライブラリをコピーするのが一番簡単です。 (この方法はスタティックビルドでは使えないので、開発用には不向きなのです) 別の方法として、embedding/configとmozilla/camino中で再びmakeすることもできます。
その他の変更 コードの変更がCaminoディレクトリ内だけならXcodeを使用してリビルドすることができます。 (繰り返しますが、ビルド設定と.mozconfigファイルとが合致するようにしてください)
Caminoディレクトリ以外(ウィジェットコードは除く - 上記参照)で何か変更した場合はXcode内でビルドすることはできません。mozillaディレクトリからmake -f client.mkを実行する必要があります。
FAQ
Q. GCC 4を使用してMac OS X 10.4 Tiger上でビルドすることはできますか?
A. いくつか気をつけることがありますが、できます。 GCC 4で作成したビルドはMac OS X 10.3.9以上でないと実行できません。 このため、現行のAppleハードウェア用の正式なCaminoのリリースはGCC 3.3でのビルドを続行して、Mac OS X 10.2 Jaguarでの互換性を維持します。 Tiger上でGCC 3.3を使用するにはターミナルでsudogcc_select 3.3と入力するだけです。
Mac OS X 10.4 Tigerとともに配布された当初のGCC 4のバージョンはプレリリース・バージョンで、Caminoをビルドすることはできません。 Xcode 2.0ユーザは、GCC 4の作業バージョンが含まれているXcode 2.1へアップグレードするようお勧めします。あるいはsudo gcc_select 3.3としてGCC 3.3に移行してください。
上記をお読みになった上でまだGCC 4の使用を望む場合は、次の行を.mozconfigファイルの最後に追加する必要があります:ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.3.9.sdk
GCC 4のユーザはまた、まだなければ10.3.9 SDKのShared Menusフレームワークへのリンクを作成する必要があります。 $ sudo mkdir -p /Developer/SDKs/MacOSX10.3.9.sdk/Library/Frameworks $ sudo ln -s /Library/Frameworks/SharedMenusCocoa.framework /Developer/SDKs/MacOSX10.3.9.sdk/Library/Frameworks
Q. Caminoがビルドできないのはなぜですか?
A. 最善を尽くしているにもかかわらず、MozillaやCaminoのツリーは時々「red(赤)」になります。この状態ではソースコードは正しくビルドを作成できません。 ソースを引き出す前にCaminoのtinderboxの状態を確認することができます。 Caminoのtinderbox、Mozilla(別名SeaMonky)のMacビルドかUnix/LinuxビルドもしくはFirefoxのtinderboxが赤ならソースのチェックアウトは避けるべきでしょう。
ビルドに失敗したときは、再びtreeが緑になるまで待って、再度Caminoのソースを引き出してください。
(混乱してしまいました? こちらのTinderboxの説明を参照してください)
Q. Caminoのビルド中にlink errorが出ます
A. これはたぶん、Xcodeからビルドする場合にXcodeではデバッグ版ビルドの設定になっているのに.mozconfigではオプティマイズド版ビルドの設定になっているからか、もしくはその設定が逆になっているからです。 上記の説明に従い.mozconfigとXcodeのビルドモードが同じになるように設定してください。 もしくはコマンドラインからmake -f client.mkを使用してビルドしてください。
Q. Caminoが起動時にクラッシュします。何が悪かったの?
A. これも同じです。おそらくどちらかをオプティマイズド版で、もう一つをデバッグ版としてビルドしたのでしょう。 両方が同じビルドモードになっているか確認してもう一度試してください。
Q. いくつかの<CopyFilesX> - X は何らかの数字 - のときにCaminoのビルドに失敗しエラーが出ます。
A. おそらくコードを変更したあとの組み込み/設定を忘れたためです。 説明に注意深く従い、再度試してください。
Q. それでももしCaminoをビルドできなかったら?
A. Caminoのビルドに関しては次の二つの場所が役に立つでしょう:
irc.mozilla.orgの#caminoチャンネルは、リアルタイムで何人かのmacフリークを見つけるにはうってつけの場所です。お行儀良く丁寧に質問すれば、喜んであなたを助けてくれるでしょう。 Caminoメーリングリストに参加して投稿してください。