Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。
このページは Cloud Translation API によって翻訳されました。
Switch to English

OpenWeaveをビルドする

OpenWeaveを構築するためにサポートされている主要なツールチェーンは、GNU Autotoolsです。

システム要求

すべての主要なOSプラットフォームは、OpenWeaveのビルドとクロスコンパイルをサポートしています。リストされているツールチェーンは、Nestによって正式にテストされています。

Linux

要件: Ubuntu 14.04(Trusty)は公式にサポートされていますが、同様のLinuxベースのシステムであれば動作するはずです。
C / C ++、Java、Pythonバインディング
ツールチェーン gcc 4.6.3
目標 i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C / C ++、Javaバインディング
ツールチェーン gcc 4.6
対象 arm-unknown-linux-android
armv7-unknown-linux-android
i386-unknown-linux-android

Mac OS X

要件:シンボリックリンクを使用して、1つのディレクトリサブツリーを別のディレクトリサブツリーに複製するためのXQuartz
C / C ++、Cocoaバインディング
対象 armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C / C ++、Pythonバインディング
ツールチェーン LLVM / clang 3.5(6.0)
対象 i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

ウィンドウズ

要件: Cygwin for Linuxコマンドラインサポート。
C / C ++バインディング
ツールチェーン gcc 4.8.3
目標 i686-pc-cygwin

埋め込み

C / C ++バインディング
ツールチェーン gcc 4.4.1
LLVM / clang 3.1
LLVM / clang 3.3
目標 arm * -unknown-linux *
arm * -unknown-freertos-lwip

前提条件

サポートされているツールチェーンに加えて、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に基づくシステムフレームワーク。システムは、ビルド生成で使用される一連のプログラムを既知の適切なバージョンに固定します。ツールを特定のバージョンに固定することで、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スタンドアロンアプリケーションを使用します。

  1. OpenWeaveリポジトリのクローン:
    git clone https://github.com/openweave/openweave-core.git
  2. OpenWeaveスタンドアロンアプリケーションをビルドします:
    cd openweave-core
    make -f Makefile-Standalone

Makefile-Standalone helpフラグを使用して、ビルドのカスタマイズに使用できるビルドスイッチを確認します。

make -f Makefile-Standalone help

たとえば、Weaveデバッグコードとロギングを有効にするには:

make -f Makefile-Standalone DEBUG=1

プロジェクトのリンク

  1. OpenWeaveリポジトリのクローンを作成します:
    git clone https://github.com/openweave/openweave-core.git
  2. GNU Autotoolsのビルド環境を構成します。
    cd openweave-core
    ./bootstrap
    ./configure
  3. OpenWeaveのビルド:
    make all
  4. プロジェクトリンク用の別の場所に出力をステージングします:
    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を構成する前に、autotoolsを使用して関連するビルドファイルをブートストラップします。

./bootstrap

このステップは、ツリーのチェックアウト後に1回実行する必要がありconfigure.ac 。その後、 configure.acまたはMakefile.amへの変更時に実行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