OpenWeaveを構築するためにサポートされている主なツールチェーンはGNUAutotoolsです。
システム要求
すべての主要なOSプラットフォームは、OpenWeaveの構築とクロスコンパイルをサポートしています。リストされているツールチェーンは、Nestによって公式にテストされています。
Linux | ||||||
---|---|---|---|---|---|---|
要件:Ubuntuの14.04(トラスティ)が正式にサポートされていますが、任意の類似したLinuxベースのシステムが動作するはずです。 | ||||||
C / C ++、Java、Pythonバインディング |
| |||||
C / C ++、Javaバインディング |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
要件: XQuartzシンボリックリンクを別のディレクトリ・サブツリーをクローニングします。 | ||||||
C / C ++、Cocoaバインディング |
| |||||
C / C ++、Pythonバインディング |
|
ウィンドウズ | ||||||
---|---|---|---|---|---|---|
要件: CygwinのLinuxのコマンドラインのサポートのため。 | ||||||
C / C ++バインディング |
|
埋め込み | ||||||
---|---|---|---|---|---|---|
C / C ++バインディング |
|
前提条件
サポートされているツールチェーンに加えて、OpenWeaveをビルドする前に次のパッケージとツールをインストールすることをお勧めします。
パッケージ
Linux:
sudo apt-get install python-pip python-setuptools bridge-utils /
libglib2.0-dev libdbus-1-dev libudev-dev /
libical-dev libreadline-dev
LinuxおよびMacOS X:
pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomex
sudo cpan -i Text::Template
GNU Autotools
OpenWeaveは、ビルドシステムをGNUAutotoolsに依存しています。 OpenWeaveを正常にビルドするには、GNUAutotoolsのバージョンが利用可能である必要があります。 Linuxでシステム提供バージョンのautotoolsを使用するには:
sudo apt-get install libtool autoconf automake
GNU Autotoolsがすぐに利用できない、またはインストールできないシステム(Mac OSなど)、またはシステムが提供するバージョンがすぐに使用できるビルド生成を提供しないシステムの場合、NestLabsはカスタマイズされたターンキービルドを作成しましたGNUAutotoolsに基づくシステムフレームワーク。システムは、ビルド生成で使用されるプログラムのセットを既知の適切なバージョンに固定します。ツールを特定のバージョンに固定すると、autotoolsの出力のチャーンが比較的少なくなるため、開発者とサポートのエクスペリエンスが予測可能になります。 OpenWeaveでの使用にはGNUAutotoolsのNestLabsビルドをお勧めします。
Nest Labs GNU Autotoolsをビルドするには:
git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools
ハッピー
OpenWeaveに含まれているテストスクリプトを実行する、またはシミュレートされたトポロジでWeaveを使用するには、LinuxマシンにHappyをインストールします。参照してください幸せなセットアップの詳細については、を。
スタンドアロンアプリケーション
デスクトップまたはサーバー開発ホストには、デフォルトのOpenWeaveスタンドアロンアプリケーションを使用します。
- クローンOpenWeaveリポジトリ:
git clone https://github.com/openweave/openweave-core.git
- OpenWeaveスタンドアロンアプリケーションをビルドします。
cd openweave-core
make -f Makefile-Standalone
使用しhelp
とフラグをMakefile-Standalone
ビルドスイッチは、ビルドのカスタマイズのために利用可能であるかを学ぶために。
make -f Makefile-Standalone help
たとえば、Weaveデバッグコードとロギングを有効にするには、次のようにします。
make -f Makefile-Standalone DEBUG=1
プロジェクトのリンク
- クローンOpenWeaveリポジトリ:
git clone https://github.com/openweave/openweave-core.git
- GNU Autotool群のためのビルド環境を設定します。
cd openweave-core
./bootstrap
./configure
- ビルドOpenWeave:
make all
- ステージプロジェクトのリンクのための別の場所に出力:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
ステージングした後、下のディレクトリを使用する<openweave-output>
リンクプロジェクトのために:
-
/usr/local/include
-公共のヘッダーを /usr/local/lib
-ライブラリ
AndroidとiOS
AndroidとiOSのプロジェクトのリンクのためのビルドライブラリに、プラットフォーム固有の使用Makefiles
:
make -f Makefile-Android
make -f Makefile-iOS
使用しhelp
とフラグをMakefile- <platform>
ビルドスイッチは、ビルドのカスタマイズのために利用可能であるかを学ぶために。例えば:
make -f Makefile-Android help
make -f Makefile-iOS help
構成
さまざまなスクリプトとヘッダーを使用してOpenWeaveを構成する前に、autotoolsを使用して関連するビルドファイルをブートストラップします。
./bootstrap
このステップでは、ツリーのチェックアウトした後、その後の変更時に1回だけ実行する必要configure.ac
またはMakefile.am
。ビルド構成やターゲットを変更するだけの場合は、繰り返す必要はありません。
スクリプト
使用--help
設定可能なオプションについての詳細を学ぶために含まれる構成スクリプトを使用してフラグを。
./configure --help
たとえば、BlueZをサポートせずにOpenWeaveを構成するには、次のようにします。
./configure --without-bluez
ヘッダー
付属Makefiles
コンパイル時に定数を定義する2つのヘッダファイルを使用します。
プロジェクト固有の構成ヘッダーも提供される場合があります。これらのファイルをプロジェクトディレクトリに配置します。OpenWeaveリポジトリ内に配置しないでください。適切な構成オプションを使用して、構成中に各ファイルの場所を指定します。
ヘッダーファイル | 構成オプション |
---|---|
InetProjectConfig.h | --with-weave-inet-project-includes= <directory> |
WeaveProjectConfig.h | --with-weave-project-includes= <directory> |
例えば、プロジェクト固有の使用するOpenWeaveを設定するにはWeaveProjectConfig.h
中にあるファイル~/my-project/headers
:
./configure --with-weave-project-includes=~/my-project/headers