OpenWeave oluşturmak için desteklenen birincil araç zinciri GNU Autotools'tur.
Sistem gereksinimleri
Tüm büyük işletim sistemi platformları, OpenWeave'in oluşturulmasını ve çapraz derlenmesini destekler. Listelenen araç zincirleri, Nest tarafından resmi olarak test edilmiştir.
Linux | ||||||
---|---|---|---|---|---|---|
Gereksinimler: Ubuntu 14.04 (Trusty) resmi olarak desteklenen, ancak benzer herhangi Linux tabanlı sistem çalışması gerekir. | ||||||
C/C++, Java, Python bağlamaları |
| |||||
C/C++, Java bağlamaları |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Gereksinimler: XQuartz sembolik bağlantıları olan başka bir dizin alt ağacı klonlama için. | ||||||
C/C++, Kakao bağlamaları |
| |||||
C/C++, Python bağlamaları |
|
pencereler | ||||||
---|---|---|---|---|---|---|
Gereksinimler: Cygwin Linux komut satırı desteği için. | ||||||
C/C++ bağlamaları |
|
gömülü | ||||||
---|---|---|---|---|---|---|
C/C++ bağlamaları |
|
Önkoşullar
Desteklenen bir araç zincirine ek olarak, OpenWeave'i oluşturmadan önce aşağıdaki paketleri ve araçları kurmanızı öneririz.
Paketler
Linux:
sudo apt-get install python-pip python-setuptools bridge-utils /
libglib2.0-dev libdbus-1-dev libudev-dev /
libical-dev libreadline-dev
Linux ve Mac OS X:
pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomex
sudo cpan -i Text::Template
GNU Otomatik Araçları
OpenWeave, yapı sistemi için GNU Autotools'a bağlıdır. OpenWeave'i başarılı bir şekilde oluşturmak için GNU Autotools'un bir sürümü mevcut olmalıdır. Linux'ta otomatik araçların sistem tarafından sağlanan sürümünü kullanmak için:
sudo apt-get install libtool autoconf automake
GNU Autotools'un hazır olmadığı veya kurulamadığı sistemler (örneğin, Mac OS) veya sistem tarafından sağlanan sürümün kullanıma hazır sağlam bir yapı üretimi sağlamadığı sistemler için Nest Labs, özelleştirilmiş, anahtar teslimi bir yapı oluşturmuştur. GNU Autotools'a dayalı sistem çerçevesi. Sistem, yapı oluşturmada kullanılan program kümesini bilinen iyi bir sürüme sabitler. Araçları belirli bir sürüme sabitlemek ayrıca otomatik araçların çıktısında nispeten düşük kesinti sağlar ve bu da öngörülebilir geliştirici ve destek deneyimine yol açar. GNU Autotools'un Nest Labs yapısının OpenWeave ile kullanılması önerilir.
Nest Labs GNU Autotools'u oluşturmak için:
git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools
Mutlu
OpenWeave'de bulunan test komut dosyalarını çalıştırmak veya Weave'i simüle edilmiş topolojilerde kullanmak için Linux makinenize Happy kurun. Bkz Mutlu kurulumu Daha fazla bilgi için.
Bağımsız uygulama
Bir masaüstü veya sunucu geliştirme ana bilgisayarı için varsayılan OpenWeave Bağımsız uygulamasını kullanın.
- OpenWeave deposunu Clone:
git clone https://github.com/openweave/openweave-core.git
- OpenWeave Bağımsız uygulaması oluşturun:
cd openweave-core
make -f Makefile-Standalone
Kullanım help
işaretleyin Makefile-Standalone
inşa anahtarları inşa özelleştirme için hangi öğrenmek için.
make -f Makefile-Standalone help
Örneğin, Örgü hata ayıklama kodunu ve günlüğe kaydetmeyi etkinleştirmek için:
make -f Makefile-Standalone DEBUG=1
Proje bağlama
- OpenWeave deposunu Clone:
git clone https://github.com/openweave/openweave-core.git
- GNU Autotools için oluşturma ortamını yapılandırın:
cd openweave-core
./bootstrap
./configure
- Yapı OpenWeave:
make all
- Proje bağlama için ayrı bir yere çıktı sahneye:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
Evreleme sonra altında dizinleri kullanmak <openweave-output>
bağlama projesi için:
-
/usr/local/include
- Kamu başlıklarını -
/usr/local/lib
- kütüphaneler
Android ve iOS
Android ve iOS proje bağlantı için inşa kütüphaneleri için, platforma özel kullanmak Makefiles
:
make -f Makefile-Android
make -f Makefile-iOS
Kullanım help
işaretleyin Makefile- <platform>
yapı anahtarları inşa özelleştirme için hangi öğrenmek için. Örneğin:
make -f Makefile-Android help
make -f Makefile-iOS help
Yapılandırma
OpenWeave'i çeşitli komut dosyaları ve başlıklarla yapılandırmadan önce, ilgili derleme dosyalarını önyüklemek için otomatik araçları kullanın:
./bootstrap
Bu adım bir ağaç Kontrolden sonra ve daha sonra herhangi bir değişiklik üzerinde, bir kere gerçekleştirilmesi gereken configure.ac
veya Makefile.am
. Yalnızca yapı yapılandırmalarını veya hedeflerini değiştirirken tekrarlanması gerekmez.
Kodlar
Kullanım --help
yapılandırılabilir seçenekleri hakkında daha fazla bilgi edinmek için dahil yapılandırma komut dosyası ile bayrağı.
./configure --help
Örneğin, OpenWeave'i BlueZ desteği olmadan yapılandırmak için:
./configure --without-bluez
Başlıklar
Dahil Makefiles
derleme zamanında sabitleri tanımlayan iki başlık dosyaları kullanın:
Projeye özel konfigürasyon başlıkları da sağlanabilir. Bu dosyaları proje dizininize yerleştirin—onları OpenWeave deposuna yerleştirmeyin. Yapılandırma sırasında her dosyanın konumunu belirtmek için uygun yapılandırma seçeneğini kullanın:
Başlık dosyası | Yapılandırma seçeneği |
---|---|
InetProjectConfig.h | --with-weave-inet-project-includes= <directory> |
WeaveProjectConfig.h | --with-weave-project-includes= <directory> |
Örneğin, yapılandırmak OpenWeave bir proje özgü kullanmak WeaveProjectConfig.h
bulunan dosyayı ~/my-project/headers
:
./configure --with-weave-project-includes=~/my-project/headers