Głównym łańcuchem narzędzi do tworzenia OpenWeave jest GNU Autotools.
Wymagania systemowe
Główne platformy systemów operacyjnych obsługują tworzenie i kompilowanie plików OpenWeave. Wymienione łańcuchy narzędzi zostały oficjalnie przetestowane przez Nest.
Linux | ||||||
---|---|---|---|---|---|---|
Wymagania: Ubuntu 14.04 (Trusty) jest oficjalnie obsługiwany, ale powinien działać podobny system oparty na systemie Linux. | ||||||
C/C++, Java, wiązania Pythona |
|
|||||
C/C++, powiązania Java |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Wymagania: XQuartz do kopiowania jednego poddrzewa katalogów do innego za pomocą linków symbolicznych. | ||||||
C/C++, wiązania kakao |
|
|||||
Wiązania Pythona w języku C/C++ |
|
Windows | ||||||
---|---|---|---|---|---|---|
Wymagania: Cygwin na potrzeby obsługi wiersza poleceń systemu Linux. | ||||||
Wiązania C/C++ |
|
Wbudowany | ||||||
---|---|---|---|---|---|---|
Wiązania C/C++ |
|
Wymagania wstępne
Oprócz obsługiwanego łańcucha narzędzi zalecamy zainstalowanie tych pakietów i narzędzi przed utworzeniem kompilacji OpenWeave.
Pakiety
System Linux:
sudo apt-get install python-pip python-setuptools bridge-utils /
libglib2.0-dev libdbus-1-dev libudev-dev /
libical-dev libreadline-dev
Linux i Mac OS X:
pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomex
sudo cpan -i Text::Template
Automatyczny GNU
OpenWeave korzysta z GNU Autotools dla swojego systemu kompilacji. Do utworzenia kompilacji OpenWeave musi być dostępna wersja GNU Autotools. Aby skorzystać z udostępnianej przez system wersji narzędzi automatycznych w systemie Linux:
sudo apt-get install libtool autoconf automake
W przypadku systemów, w których narzędzia GNU Autotools nie można łatwo zainstalować lub zainstalować (np. Mac OS), albo w systemach, w których wersja systemowa nie zapewnia solidnej konstrukcji gotowej do użycia, Nest Labs stworzyła dostosowaną do infrastruktury platformę kompilacji opartą na GNU Autotools. System przypina zestaw programów używanych do generowania kompilacji do znanej, dobrej wersji. Przypinanie narzędzi do konkretnej wersji pozwala też stosunkowo zmniejszyć liczbę rezygnacji z narzędzi w ten sposób, a tym samym zapewnić przewidywalną obsługę programistów i wsparcie. Zalecamy korzystanie z kompilacji Nest GNU Autotools w połączeniu z OpenWeave.
Aby utworzyć automatyczne narzędzia Nest Labs GNU:
git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools
Radosna muzyka
Aby uruchomić skrypty testowe dołączone do OpenWeave lub użyć Weave w symulowanych topologiach, zainstaluj Happy na swoim komputerze z systemem Linux. Więcej informacji znajdziesz w sekcji Udanej konfiguracji.
Aplikacja samodzielna
Używaj domyślnej aplikacji OpenWeave Standaam na hoście komputerów lub serwerów programistycznych.
- Skopiuj repozytorium OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Utwórz aplikację samodzielną OpenWeave:
cd openweave-core
make -f Makefile-Standalone
Użyj flagi help
z Makefile-Standalone
, aby dowiedzieć się, jakie przełączniki kompilacji są dostępne do dostosowania.
make -f Makefile-Standalone help
Aby na przykład włączyć kod debugowania i logowanie Weave:
make -f Makefile-Standalone DEBUG=1
Łączenie projektów
- Skopiuj repozytorium OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Skonfiguruj środowisko kompilacji dla Automatycznych narzędzi GNU:
cd openweave-core
./bootstrap
./configure
- Utwórz OpenWeave:
make all
- Umieść dane wyjściowe w osobnej lokalizacji do łączenia projektów:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
Po przejściowej próbie użycia projektu użyj linków w katalogu <openweave-output>
:
/usr/local/include
– nagłówki publiczne/usr/local/lib
– biblioteki
Android i iOS
Aby utworzyć biblioteki do łączenia projektów na Androida i iOS, użyj platformy Makefiles
przeznaczonej na tę platformę:
make -f Makefile-Android
make -f Makefile-iOS
Użyj flagi help
z Makefile-<platform>
, aby dowiedzieć się, jakie przełączniki kompilacji są dostępne do dostosowania. Przykład:
make -f Makefile-Android help
make -f Makefile-iOS help
Konfiguracja
Zanim skonfigurujesz narzędzie OpenWeave za pomocą różnych skryptów i nagłówków, użyj narzędzi automatycznych, aby pobrać odpowiednie pliki kompilacji:
./bootstrap
Tę czynność trzeba wykonać raz po przejściu do drzewa, a potem w przypadku zmian w configure.ac
i Makefile.am
. Nie musisz powtarzać tych ustawień przy zmianie konfiguracji lub celu kompilacji.
Skrypty
Aby dowiedzieć się więcej o opcjach do skonfigurowania, użyj flagi --help
z dołączonym skryptem konfiguracji.
./configure --help
Aby na przykład skonfigurować OpenWeave bez obsługi BlueZ:
./configure --without-bluez
nagłówków,
Uwzględnione obiekty Makefiles
używają 2 plików nagłówka, które określają stałe w czasie kompilacji:
Możesz też podać nagłówki konfiguracji konkretnego projektu. Umieść te pliki w katalogu projektu – nie umieszczaj ich w repozytorium OpenWeave. Wybierz odpowiednią opcję konfiguracji, aby podczas konfiguracji określić lokalizację każdego pliku:
Plik nagłówka | Opcja konfiguracji |
---|---|
InetProjectConfig.h |
--with-weave-inet-project-includes=<directory> |
WeaveProjectConfig.h |
--with-weave-project-includes=<directory> |
Aby na przykład skonfigurować OpenWeave tak, aby używał WeaveProjectConfig.h
projektu związanego z projektem w ~/my-project/headers
:
./configure --with-weave-project-includes=~/my-project/headers