Building the Viewer with Autobuild/ja

From Second Life Wiki
Jump to navigation Jump to search


Autobuild のインストール

KBwarning.png 警告: Windows でビルドしている場合は、Viewer_2_Microsoft_Windows_Builds/ja に行ってください。こちらの手順に沿って作業しないでください。

まだやってないなら、autobuild をインストールしてください。Autobuild のページに全体の説明書があります。はしょって手順を説明すると、

  • cd コマンドで autobuild をインストールしたい場所に移動します。このディレクトリのパスにスペースが含まれていてはいけません。
  • 以下のコマンドを実行します。
hg clone http://bitbucket.org/lindenlab/autobuild
  • 環境変数 PATH に autobuild の /bin ディレクトリを含めます。

希望するコンフィギュレーションをビルド

適切に設定された開発用マシン (コンパイル 参照のこと) では、autobuild でのビューアのビルドは、こちらのコマンド一発でできます。

 autobuild build -c [CONFIGURATION]

CONFIGURATION にはビルドしたいビルドコンフィギュレーションの名前が入ります。ビューアの autobuild.xml ファイルに定義されたビルドコンフィギュレーションは以下に説明する簡単な規約に則っています。開発者側では、必要なビルドコンフィギュレーションを選ばなければなりません。ビルドが完了すると、生成物は build-* という名前のディレクトリに格納されます。* はワイルドカードで、プラットフォームによって変わる部分を表します。

IDE でビューアをビルドしたい開発者は、全部をコマンドラインでビルドする必要はありません。

 autobuild configure -c [CONFIGURATION]

でビルドディレクトリに、(ビルドコンフィギュレーションが使用する場合は) 依存モジュールがインストールされ、適切なプロジェクト/ソリューションファイルが作成されます (Mac の場合 .xcodeproj で、Windows の場合 .sln)。

Linden ビルドコンフィギュレーション

以下の3種類のビルドコンフィギュレーションは、デバッグ機能と最適化の兼ね合いを調整するために使用されます。

  • Debug — 最適化を行わず、デバッグ情報を出力します。
  • RelWithDebInfo — 最適化は行われますが、デバッグ情報を出力します。
  • Release — 最適化を行い、デバッグ情報を出力しません。

Debug はクライアントが重くなりますが最もデバッグしやすくなります。RelWithDebInfo はだいぶ軽くなりデバッグもしやすいですが、コードの最適化により、時折デバッガで処理を追うのが困難になります。Release は公開されるビューアのビルドに使用されます。

Linden でない開発者向けのコンフィギュレーション

前項で説明した、変更されていないビルドコンフィギュレーションは Linden の担当者が利用することを念頭に調整されていて、一般には公開されていないインストール媒体へのアクセスが必要な場合があります。オープンソース開発者向けには、サードパーティによる開発をサポートするために、これから変更されたものが提供されています。OS が最後につく、特別なコンフィギュレーション名を使います。例えば、リリース用の最適化がされていて、デバッグ情報があるビューアをビルドするには、次のようにします。

autobuild build -c RelWithDebInfoOS

ちなみに、*OS でのビルドでは、FMOD にまつわる問題が残っている可能性があります。1つのやり方としては、以下のようにして、変な FMOD をダウンロードしないように明示的に指定します。

autobuild build  -c ReleaseOS -- -DFMOD:BOOL=FALSE

インストール媒体を使わない

KBwarning.png 警告: Autobuild でインストールされる媒体を使わず、システムライブラリを使ってビルドするのは 正式にはサポートされていません。このため、定期的にはテストされておらず、どこかのタイミングで壊れる可能性があります。

チェックアウトされたソースツリーに Linden Lab の提供した媒体をインストールすることなく、システムにインストールされたライブラリだけでビューアをビルドすることもできます。過去の経緯から、"STANDALONE" ビルドという名前がついています。(Linux 向けのビルド手順の中にある、What does 'Standalone' mean? を参照してください。)

KBcaution.png 重要 "STANDALONE" でビルドするには、手動でサードパーティの依存モジュールをインストールしなければなりません。

STANDALONE 専用のビルドコンフィギュレーションは存在しません。その代わりに、*OS コンフィギュレーションを使い、CMake の STANDALONE 変数を手で書き換えて ON にする必要があります。例えば、リリース用の最適化がされていて、デバッグ情報があるビューアをビルドするには、次のようにします。

autobuild configure -c RelWithDebInfoOS -- -DSTANDALONE=ON
autobuild build -c RelWithDebInfoOS --no-configure

カスタムビルド

既存のビルドコンフィギュレーションがニーズに合わない場合、思い通りのオプションでビルドするには、2つの方法があります。追加のコンフィギュレーションオプションを渡したいだけなら、configure コマンドを以下の書式で実行します。

 autobuild configure -c [build configuration] -- [Option, [Option...]]

-- の後にあるオプションがコンフィギュレーションコマンドに渡ります。これで、

 autobuild build -c [build configuration] --no-configure -- [Option, [Option]]

として、-- の後にビルドコマンドに渡したいオプションを書けば、ビルドできるようになります。--no-configure オプションでビルドの間にコンフィギュレーションが再び実行され(て、今まで渡したオプションが無かったことになることが)ないようになります。

それ以外の方法では、autobuild.xml コンフィギュレーションファイルに新しいコンフィギュレーションを

 autobuild edit configure

 autobuild edit  build

で追加して、新しいコンフィギュレーションを対話形式で作成し、コンフィギュレーションをビルドします。コンフィギュレーションの作成に関する詳細な情報は Autobuild_How_To にあるかと思います。