Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Bangun OpenWeave

Toolchain utama yang didukung untuk membangun OpenWeave adalah GNU Autotools.

Persyaratan sistem

Semua platform OS utama mendukung pembuatan dan kompilasi silang OpenWeave. Toolchain yang terdaftar telah secara resmi diuji oleh Nest.

Linux

Persyaratan: Ubuntu 14.04 (Trusty) secara resmi didukung, tetapi sistem berbasis Linux yang serupa seharusnya berfungsi.
C / C ++, Java, pengikatan Python
Toolchain gcc 4.6.3
Target i386-tidak diketahui-linux-gnu
x86_64-tidak diketahui-linux-gnu
C / C ++, pengikatan Java
Toolchain gcc 4.6
Target arm-unknown-linux-android
armv7-tidak diketahui-linux-android
i386-tidak diketahui-linux-android

Mac OS X

Persyaratan: XQuartz untuk mengkloning satu subpohon direktori ke yang lain dengan tautan simbolis.
C / C ++, Pengikatan kakao
Target armv7-apple-darwin-ios.dll
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C / C ++, pengikatan Python
Toolchain LLVM / dentang 3.5 (6.0)
Target i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

Windows

Persyaratan: Cygwin untuk dukungan baris perintah Linux.
Binding C / C ++
Toolchain gcc 4.8.3
Target i686-pc-cygwin.dll

Tersemat

Binding C / C ++
Toolchain gcc 4.4.1
LLVM / dentang 3.1
LLVM / dentang 3.3
Target arm * -unknown-linux *
arm * -unknown-freertos-lwip

Prasyarat

Selain toolchain yang didukung, kami merekomendasikan menginstal paket dan alat berikut sebelum membangun OpenWeave.

Paket

Linux:

sudo apt-get install python-pip python-setuptools bridge-utils /
               libglib2.0-dev libdbus-1-dev libudev-dev /
               libical-dev libreadline-dev

Linux dan Mac OS X:

pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomex
sudo cpan -i Text::Template

GNU Autotools

OpenWeave bergantung pada GNU Autotools untuk sistem pembuatannya. Versi GNU Autotools harus tersedia agar berhasil membangun OpenWeave. Untuk menggunakan versi autotools yang disediakan sistem di Linux:

sudo apt-get install libtool autoconf automake
.dll

Untuk sistem di mana GNU Autotools tidak tersedia atau dapat diinstal (misalnya, Mac OS) atau pada sistem di mana versi yang disediakan sistem tidak menyediakan pembuatan build out-of-box yang solid, Nest Labs telah membuat build turnkey yang disesuaikan kerangka sistem, berdasarkan GNU Autotools. Sistem menyematkan kumpulan program yang digunakan dalam pembuatan build ke versi yang dikenal baik. Menyematkan alat ke versi tertentu juga memastikan churn yang relatif rendah dalam output autotools sehingga mengarah ke pengalaman pengembang dan dukungan yang dapat diprediksi. Build Nest Labs dari GNU Autotools direkomendasikan untuk digunakan dengan OpenWeave.

Untuk membuat Nest Labs GNU Autotools:

git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools

Senang

Untuk menjalankan skrip pengujian yang disertakan dalam OpenWeave, atau untuk menggunakan Weave dalam topologi simulasi, instal Happy di mesin Linux Anda. Lihat Happy setup untuk informasi lebih lanjut.

Aplikasi mandiri

Gunakan aplikasi Standalone OpenWeave default untuk desktop atau host pengembangan server.

  1. Gandakan repositori OpenWeave:
    git clone https://github.com/openweave/openweave-core.git
  2. Buat aplikasi OpenWeave Standalone: ​​
    cd openweave-core
    make -f Makefile-Standalone

Gunakan tanda help dengan Makefile-Standalone untuk mempelajari sakelar build apa yang tersedia untuk kustomisasi build.

make -f Makefile-Standalone help

Misalnya, untuk mengaktifkan kode debug Weave dan logging:

make -f Makefile-Standalone DEBUG=1

Proyek menghubungkan

  1. Gandakan repositori OpenWeave:
    git clone https://github.com/openweave/openweave-core.git
  2. Konfigurasikan lingkungan build untuk GNU Autotools:
    cd openweave-core
    ./bootstrap
    ./configure
  3. Bangun OpenWeave:
    make all
  4. Tahap keluaran ke lokasi terpisah untuk proyek menghubungkan:
    mkdir <openweave-output>
    make DESTDIR=<openweave-output> install

Setelah staging, gunakan direktori di bawah <openweave-output> untuk penautan proyek:

  • /usr/local/include - header publik
  • /usr/local/lib - perpustakaan

Android dan iOS

Untuk membangun perpustakaan untuk penautan proyek Android dan iOS, gunakan Makefiles khusus platform:

make -f Makefile-Android
make -f Makefile-iOS

Gunakan flag help dengan Makefile- <platform> untuk mempelajari switch build apa yang tersedia untuk kustomisasi build. Sebagai contoh:

make -f Makefile-Android help
make -f Makefile-iOS help

Konfigurasi

Sebelum mengonfigurasi OpenWeave dengan berbagai skrip dan header, gunakan autotools untuk mem-bootstrap file build yang relevan:

./bootstrap

Langkah ini perlu dilakukan satu kali, setelah checkout hierarki, dan selanjutnya pada setiap perubahan pada configure.ac atau Makefile.am . Ini tidak perlu diulangi hanya dengan mengubah konfigurasi atau target build.

Script

Gunakan tanda --help dengan skrip konfigurasi yang disertakan untuk mempelajari lebih lanjut tentang opsi yang dapat dikonfigurasi.

./configure --help

Misalnya, untuk mengonfigurasi OpenWeave tanpa dukungan BlueZ:

./configure --without-bluez

Header

Makefiles disertakan menggunakan dua file header yang menentukan konstanta pada waktu kompilasi:

Header konfigurasi khusus proyek juga dapat disediakan. Tempatkan file-file ini dalam direktori proyek Anda — jangan letakkan di dalam repositori OpenWeave. Gunakan opsi konfigurasi yang sesuai untuk menentukan lokasi setiap file selama konfigurasi:

File header Opsi konfigurasi
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

Misalnya, untuk mengonfigurasi OpenWeave agar menggunakan file WeaveProjectConfig.h khusus WeaveProjectConfig.h terletak di ~/my-project/headers :

./configure --with-weave-project-includes=~/my-project/headers