Toolchain utama yang didukung untuk membangun OpenWeave adalah GNU Autotools.
Persyaratan sistem
Semua platform OS utama mendukung pembangunan dan kompilasi silang OpenWeave. Toolchain yang terdaftar telah diuji secara resmi oleh Nest.
Linux | ||||||
---|---|---|---|---|---|---|
Persyaratan: Ubuntu 14.04 (Trusty) secara resmi didukung, tetapi setiap mirip sistem berbasis Linux harus bekerja. | ||||||
C/C++, Java, Python binding |
| |||||
C/C++, Java binding |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Persyaratan: XQuartz untuk kloning satu direktori subtree ke yang lain dengan link simbolik. | ||||||
C/C++, Kakao mengikat |
| |||||
C/C++, Python binding |
|
jendela | ||||||
---|---|---|---|---|---|---|
Persyaratan: Cygwin untuk dukungan baris perintah Linux. | ||||||
Binding C/C++ |
|
Tertanam | ||||||
---|---|---|---|---|---|---|
Binding C/C++ |
|
Prasyarat
Selain rantai alat yang didukung, kami menyarankan 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 pembuatannya. Versi GNU Autotools harus tersedia untuk berhasil membangun OpenWeave. Untuk menggunakan versi autotools yang disediakan sistem di Linux:
sudo apt-get install libtool autoconf automake
Untuk sistem di mana GNU Autotools tidak tersedia atau tidak 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 disesuaikan kerangka kerja sistem, berdasarkan GNU Autotools. Sistem menyematkan set program yang digunakan dalam pembuatan build ke versi bagus yang diketahui. Menyematkan alat ke versi tertentu juga memastikan churn yang relatif rendah dalam output alat otomatis sehingga mengarah ke pengalaman pengembang dan dukungan yang dapat diprediksi. Build Nest Labs dari GNU Autotools direkomendasikan untuk digunakan dengan OpenWeave.
Untuk membangun 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 Selamat pengaturan untuk informasi lebih lanjut.
Aplikasi mandiri
Gunakan aplikasi OpenWeave Standalone default untuk desktop atau host pengembangan server.
- Mengkloning repositori OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Membangun aplikasi OpenWeave Standalone:
cd openweave-core
make -f Makefile-Standalone
Gunakan help
bendera dengan Makefile-Standalone
untuk mempelajari apa membangun switch yang tersedia untuk membangun kustomisasi.
make -f Makefile-Standalone help
Misalnya, untuk mengaktifkan kode debug Weave dan logging:
make -f Makefile-Standalone DEBUG=1
Penautan proyek
- Mengkloning repositori OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Mengkonfigurasi membangun lingkungan untuk GNU autotools:
cd openweave-core
./bootstrap
./configure
- Membangun OpenWeave:
make all
- 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 proyek yang menghubungkan:
-
/usr/local/include
- header publik -
/usr/local/lib
- libraries
Android dan iOS
Untuk membangun perpustakaan untuk Android dan iOS menghubungkan proyek, menggunakan platform-spesifik Makefiles
:
make -f Makefile-Android
make -f Makefile-iOS
Gunakan help
bendera dengan Makefile- <platform>
untuk mempelajari apa membangun switch yang tersedia untuk membangun kustomisasi. 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 sekali, setelah checkout pohon, dan kemudian pada setiap perubahan configure.ac
atau Makefile.am
. Itu tidak perlu diulang ketika hanya mengubah konfigurasi atau target build.
Skrip
Gunakan --help
bendera dengan konfigurasi script yang disertakan untuk mempelajari lebih lanjut tentang pilihan konfigurasi.
./configure --help
Misalnya, untuk mengonfigurasi OpenWeave tanpa dukungan BlueZ:
./configure --without-bluez
Header
Termasuk Makefiles
menggunakan dua file header yang mendefinisikan konstanta pada saat kompilasi:
Header konfigurasi khusus proyek juga dapat disediakan. Tempatkan file-file ini di 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 mengkonfigurasi OpenWeave menggunakan proyek-spesifik WeaveProjectConfig.h
file yang terletak di ~/my-project/headers
:
./configure --with-weave-project-includes=~/my-project/headers