Google berkomitmen untuk memajukan ekuitas ras untuk komunitas kulit hitam. Lihat bagaimana.
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 pembangunan dan kompilasi silang dari OpenWeave. Toolchain yang terdaftar telah diuji secara resmi oleh Nest.

Linux

Persyaratan: Ubuntu 14.04 (Trusty) secara resmi didukung, tetapi sistem berbasis Linux yang serupa harus bekerja.
C / C ++, Java, binding Python
Rantai alat gcc 4.6.3
Target i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C / C ++, binding Java
Rantai alat gcc 4.6
Target arm-unknown-linux-android
armv7-unknown-linux-android
i386-unknown-linux-android

Mac OS X

Persyaratan: XQuartz untuk mengkloning satu subtree direktori ke direktori lain dengan tautan simbolik.
C / C ++, binding Kakao
Target armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C / C ++, binding Python
Rantai alat LLVM / dentang 3.5 (6.0)
Target i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

Windows

Persyaratan: Cygwin untuk dukungan baris perintah Linux.
B / C binding
Rantai alat gcc 4.8.3
Target i686-pc-cygwin

Tertanam

B / C binding
Rantai alat gcc 4.4.1
LLVM / dentang 3.1
LLVM / dentang 3.3
Target lengan * -unknown-linux *
lengan * -unknown-freertos-lwip

Prasyarat

Selain toolchain yang didukung, kami sarankan untuk 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 build-nya. Versi GNU Autotools harus tersedia untuk berhasil membangun OpenWeave. Untuk menggunakan versi autotool yang disediakan sistem di Linux:

 sudo apt-get install libtool autoconf automake 

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 generasi build out-of-box yang solid, Nest Labs telah membuat build turnkey yang dikustomisasi. kerangka kerja sistem, berdasarkan Autotools GNU. Sistem menyematkan sekumpulan program yang digunakan dalam pembuatan generasi ke versi bagus yang diketahui. Menyematkan alat ke versi tertentu juga memastikan churn yang relatif rendah dalam output autotool sehingga mengarah ke pengalaman pengembang dan dukungan yang dapat diprediksi. Pembuatan Nest Labs dari GNU Autotools direkomendasikan untuk digunakan dengan OpenWeave.

Untuk membangun Autotools Nest Labs GNU:

 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 termasuk dalam OpenWeave, atau menggunakan Weave dalam topologi simulasi, instal Happy di mesin Linux Anda. Lihat Pengaturan senang untuk informasi lebih lanjut.

Aplikasi mandiri

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

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

Gunakan bendera help dengan Makefile-Standalone untuk mempelajari switch apa saja yang tersedia untuk kustomisasi build.

 make -f Makefile-Standalone help 

Misalnya, untuk mengaktifkan Weave code debug dan logging:

 make -f Makefile-Standalone DEBUG=1 

Tautan proyek

  1. Kloning 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 output ke lokasi terpisah untuk menghubungkan proyek:
     mkdir <openweave-output>
    make DESTDIR= <openweave-output> install 

Setelah pementasan, gunakan direktori di bawah <openweave-output> untuk menghubungkan proyek:

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

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 bendera help dengan Makefile- <platform> untuk mempelajari switch apa saja yang tersedia untuk kustomisasi build. Sebagai contoh:

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

Konfigurasi

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

 ./bootstrap 

Langkah ini perlu dilakukan sekali, setelah checkout pohon, dan selanjutnya pada setiap perubahan untuk configure.ac atau Makefile.am . Itu tidak perlu diulang ketika hanya mengubah konfigurasi atau target build.

Skrip

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

 ./configure --help 

Misalnya, untuk mengkonfigurasi OpenWeave tanpa dukungan BlueZ:

 ./configure --without-bluez 

Tajuk

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

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

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

Sebagai contoh, untuk mengkonfigurasi OpenWeave untuk menggunakan file WeaveProjectConfig.h khusus WeaveProjectConfig.h terletak di ~/my-project/headers :

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