OpenWeave derlemek için desteklenen birincil araç zinciri GNU Autotools'dur.
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 desteklenir, ancak benzer Linux tabanlı sistem çalışır. | ||||||
C/C++, Java, Python bağlantıları |
|
|||||
C/C++, Java bağlamaları |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Gereksinimler: Bir dizin alt ağacını, sembolik bağlantılarle klonlamak için XQuartz. | ||||||
C/C++, Kakao bağlantıları |
|
|||||
C/C++, Python bağlamaları |
|
Windows | ||||||
---|---|---|---|---|---|---|
Gereksinimler: Linux komut satırı desteği için Cygwin. | ||||||
C/C++ bağlamalar |
|
Yerleşik | ||||||
---|---|---|---|---|---|---|
C/C++ bağlamalar |
|
Ön koşullar
Desteklenen bir araç zincirine ek olarak, OpenWeave oluşturmadan önce aşağıdaki paketleri ve araçları yüklemenizi ö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 Autotools
OpenWeave, derleme sistemi için GNU Autotools'a bağlıdır. OpenWeave'i başarılı bir şekilde oluşturmak için bir GNU Autotools sürümü bulunmalı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'ın hemen kullanılamadığı veya yüklenemediği sistemler (örneğin, Mac OS) veya sistem tarafından sağlanan sürümün sağlam bir kullanıma hazır derleme sağlamadığı sistemlerde Nest Labs, GNU Autotools'a dayalı, özelleştirilmiş ve kullanıma hazır bir derleme sistemi çerçevesi oluşturur. Sistem, derleme oluşturmada kullanılan program grubunu bilinen iyi bir sürüme sabitler. Araçların belirli bir sürüme sabitlenmesi de otomatik araçların üretilmesinde nispeten düşük bir kullanıcı kaybına neden olur. Böylece, tahmin edilebilir geliştirici ve destek deneyimi sağlanır. GNU Autotools'un Nest Labs yapısının OpenWeave ile kullanılması önerilir.
Nest Labs GNU Autotools 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 yer alan test komut dosyalarını çalıştırmak veya simüle edilmiş topolojilerde Weave'i kullanmak için Linux makinenize Happy'yi yükleyin. Daha fazla bilgi için Mutlu kurulum bölümüne bakın.
Bağımsız uygulama
Bir masaüstü veya sunucu geliştirme ana makinesi için varsayılan OpenWeave bağımsız uygulamasını kullanın.
- OpenWeave veri deposunu klonlayın:
git clone https://github.com/openweave/openweave-core.git
- OpenWeave bağımsız uygulamasını oluşturun:
cd openweave-core
make -f Makefile-Standalone
Derleme özelleştirmede kullanılabilecek derleme anahtarlarını öğrenmek için Makefile-Standalone
ile help
işaretini kullanın.
make -f Makefile-Standalone help
Örneğin, Weave hata ayıklama kodunu ve günlük kaydını etkinleştirmek için:
make -f Makefile-Standalone DEBUG=1
Proje bağlantısı
- OpenWeave veri deposunu klonlayın:
git clone https://github.com/openweave/openweave-core.git
- GNU Autotools için derleme ortamını yapılandırın:
cd openweave-core
./bootstrap
./configure
- OpenWeave oluşturun:
make all
- Çıkışı, proje bağlantısı için ayrı bir konumda aşamalı olarak sunun:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
Hazırlıktan sonra, proje bağlantısı için <openweave-output>
altındaki dizinleri kullanın:
/usr/local/include
— genel üstbilgiler/usr/local/lib
— kitaplıklar
Android ve iOS
Android ve iOS proje bağlantıları için kitaplık oluşturmak istiyorsanız platforma özgü Makefiles
kullanın:
make -f Makefile-Android
make -f Makefile-iOS
Derleme özelleştirmede kullanılabilecek derleme anahtarlarını öğrenmek için Makefile-<platform>
ile help
işaretini kullanın. Ö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ı başlatmak için otomatik araçları kullanın:
./bootstrap
Bu adımın bir kez, ağaç ödemesi yapıldıktan sonra ve ardından configure.ac
veya Makefile.am
ile ilgili tüm değişikliklerde yapılması gerekir. Bu işlemi, yalnızca derleme yapılandırmalarını veya hedeflerini değiştirirken tekrarlamanız gerekmez.
Komut Dosyaları
Yapılandırılabilir seçenekler hakkında daha fazla bilgi edinmek için birlikte verilen yapılandırma komut dosyasıyla --help
işaretini kullanın.
./configure --help
Örneğin, BlueZ desteği olmadan OpenWeave'i yapılandırmak için:
./configure --without-bluez
Üst bilgiler
Dahil edilen Makefiles
, derleme zamanında sabit değerleri tanımlayan iki başlık dosyası kullanır:
Projeye özgü yapılandırma başlıkları da sağlanabilir. Bu dosyaları proje dizininize yerleştirin; OpenWeave deposuna yerleştirmeyin. Yapılandırma sırasında her bir 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, OpenWeave'i ~/my-project/headers
içinde bulunan projeye özel bir WeaveProjectConfig.h
dosyası kullanacak şekilde yapılandırmak için:
./configure --with-weave-project-includes=~/my-project/headers