OpenWeave をビルドする際の主なサポート対象ツールチェーンは GNU Autotools です。
システム要件
主な OS プラットフォームはすべて、OpenWeave のビルドとクロスコンパイルをサポートしています。記載されているツールチェーンは、Nest によって正式にテストされています。
Linux | ||||||
---|---|---|---|---|---|---|
要件: Ubuntu 14.04(Trusty)は正式にサポートされていますが、同様の Linux ベースのシステムも使用できます。 | ||||||
C/C++、Java、Python のバインディング |
|
|||||
C/C++、Java バインディング |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
要件: XQuartz は、シンボリック リンクを使用してディレクトリ サブツリーのクローンを作成します。 | ||||||
C/C++、Cocoa バインディング |
|
|||||
C/C++、Python バインディング |
|
Windows | ||||||
---|---|---|---|---|---|---|
要件: Cygwin(Linux コマンドライン サポート用)。 | ||||||
C/C++ バインディング |
|
埋め込み | ||||||
---|---|---|---|---|---|---|
C/C++ バインディング |
|
Prerequisites
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 または Mac OS X:
pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomex
sudo cpan -i Text::Template
GNU Autotools
OpenWeave のビルドシステムは GNU Autotools に依存しています。OpenWeave を正常にビルドするには、GNU Autotools のバージョンが必要です。Linux でシステムツールの Autotools を使用するには:
sudo apt-get install libtool autoconf automake
GNU Autotools が容易にインストールまたはインストールできないシステム(Mac OS など)や、システムが提供するバージョンが安定したビルドビルドを提供しないシステムの場合、Nest Labs は GNU Autotools に基づいてカスタマイズされたターンキー ビルドシステム フレームワークを作成しました。システムは、ビルド生成で使用される一連のプログラムを既知の正常なバージョンに固定します。また、ツールを特定のバージョンに固定すると、自動ツールの出力のチャーンが比較的低くなり、デベロッパーとサポートが予測しやすくなります。GNU Autotools の Nest Labs ビルドは、OpenWeave で使用することをおすすめします。
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
ビルドのカスタマイズに使用できるビルドスイッチを確認するには、Makefile-Standalone
で help
フラグを使用します。
make -f Makefile-Standalone help
たとえば、Weave デバッグコードとロギングを有効にするには、次のようにします。
make -f Makefile-Standalone DEBUG=1
プロジェクト リンク
- OpenWeave リポジトリのクローンを作成します。
git clone https://github.com/openweave/openweave-core.git
- GNU Autotools のビルド環境を構成します。
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
ビルドのカスタマイズに使用できるビルドスイッチを確認するには、Makefile-<platform>
で help
フラグを使用します。次に例を示します。
make -f Makefile-Android help
make -f Makefile-iOS help
構成
さまざまなスクリプトとヘッダーを使用して OpenWeave を構成する前に、関連するビルドファイルをオートツールを使用してブートストラップします。
./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> |
たとえば、~/my-project/headers
にあるプロジェクト固有の WeaveProjectConfig.h
ファイルを使用するように OpenWeave を構成するには、次のようにします。
./configure --with-weave-project-includes=~/my-project/headers