Google jest zaangażowany w promowanie równości rasowej dla społeczności czarnych. Zobacz jak.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Zbuduj OpenWeave

Podstawowym obsługiwanym łańcuchem narzędzi do budowania OpenWeave jest GNU Autotools.

Wymagania systemowe

Wszystkie główne platformy systemu operacyjnego obsługują tworzenie i kompilację krzyżową OpenWeave. Wymienione łańcuchy narzędzi zostały oficjalnie przetestowane przez Nest.

Linux

Wymagania: Ubuntu 14.04 (Trusty) jest oficjalnie obsługiwany, ale każdy podobny system oparty na Linuksie powinien działać.
Powiązania C / C ++, Java, Python
Łańcuchy narzędzi gcc 4.6.3
Cele i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C / C ++, powiązania Java
Łańcuchy narzędzi gcc 4.6
Cele arm-unknown-linux-android
armv7-unknown-linux-android
i386-unknown-linux-android

Mac OS X

Wymagania: XQuartz do klonowania jednego poddrzewa katalogu do innego z dowiązaniami symbolicznymi.
C / C ++, powiązania Cocoa
Cele armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C / C ++, powiązania Pythona
Łańcuchy narzędzi LLVM / clang 3,5 (6,0)
Cele i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

Windows

Wymagania: obsługa wiersza poleceń Cygwin dla systemu Linux.
Wiązania C / C ++
Łańcuchy narzędzi gcc 4.8.3
Cele i686-pc-cygwin

Osadzone

Wiązania C / C ++
Łańcuchy narzędzi gcc 4.4.1
LLVM / clang 3.1
LLVM / clang 3.3
Cele arm * -unknown-linux *
arm * -unknown-freertos-lwip

Wymagania wstępne

Oprócz obsługiwanego łańcucha narzędzi zalecamy zainstalowanie następujących pakietów i narzędzi przed utworzeniem OpenWeave.

Pakiety

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 

GNU Autotools

OpenWeave opiera się na GNU Autotools dla swojego systemu kompilacji. Aby pomyślnie zbudować OpenWeave, musi być dostępna wersja GNU Autotools. Aby użyć dostarczonej 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 są łatwo dostępne lub nie można ich zainstalować (na przykład Mac OS) lub w systemach, w których wersja dostarczona przez system nie zapewnia solidnego generowania kompilacji po wyjęciu z pudełka, Nest Labs stworzyło dostosowaną, gotową do użycia kompilację framework systemu, oparty na GNU Autotools. System przypina zestaw programów używanych do generowania kompilacji do znanej dobrej wersji. Przypięcie narzędzi do konkretnej wersji zapewnia również stosunkowo niską zmianę wyniku działania narzędzi automatycznych, co prowadzi do przewidywalnego doświadczenia programisty i wsparcia. Kompilacja Nest Labs GNU Autotools jest zalecana do użytku z OpenWeave.

Aby zbudować Nest Labs GNU Autotools:

 git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools 

Szczęśliwy

Aby uruchomić skrypty testowe zawarte w OpenWeave lub użyć Weave w symulowanych topologiach, zainstaluj Happy na swoim komputerze z systemem Linux. Aby uzyskać więcej informacji, zobacz Szczęśliwa konfiguracja .

Samodzielna aplikacja

Użyj domyślnej samodzielnej aplikacji OpenWeave dla hosta programistycznego dla komputerów stacjonarnych lub serwerów.

  1. Sklonuj repozytorium OpenWeave:
     git clone https://github.com/openweave/openweave-core.git 
  2. Zbuduj samodzielną aplikację 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 dostosowywania kompilacji.

 make -f Makefile-Standalone help 

Na przykład, aby włączyć kod debugowania Weave i rejestrowanie:

 make -f Makefile-Standalone DEBUG=1 

Łączenie projektów

  1. Sklonuj repozytorium OpenWeave:
     git clone https://github.com/openweave/openweave-core.git 
  2. Skonfiguruj środowisko kompilacji dla GNU Autotools:
     cd openweave-core
    ./bootstrap
    ./configure 
  3. Zbuduj OpenWeave:
     make all 
  4. Umieść dane wyjściowe w oddzielnej lokalizacji, aby połączyć projekt:
     mkdir <openweave-output>
    make DESTDIR= <openweave-output> install 

Po przygotowaniu użyj katalogów w <openweave-output> do łączenia projektów:

  • /usr/local/include - publiczne nagłówki
  • /usr/local/lib - biblioteki

Android i iOS

Aby zbudować biblioteki do łączenia projektów z systemem Android i iOS, użyj Makefiles specyficznych dla platformy:

 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 dostosowywania kompilacji. Na przykład:

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

Konfiguracja

Przed skonfigurowaniem OpenWeave za pomocą różnych skryptów i nagłówków, użyj narzędzi automatycznych, aby załadować odpowiednie pliki kompilacji:

 ./bootstrap 

Ten krok należy wykonać raz, po pobraniu drzewa, a następnie po wszelkich zmianach w configure.ac lub Makefile.am . Nie trzeba go powtarzać po prostu zmieniając konfiguracje kompilacji lub cele.

Skrypty

Użyj flagi --help z dołączonym skryptem konfiguracyjnym, aby dowiedzieć się więcej o konfigurowalnych opcjach.

 ./configure --help 

Na przykład, aby skonfigurować OpenWeave bez obsługi BlueZ:

 ./configure --without-bluez 

Nagłówki

Dołączone Makefiles używają dwóch plików nagłówkowych, które definiują stałe w czasie kompilacji:

Można również podać nagłówki konfiguracji specyficzne dla projektu. Umieść te pliki w katalogu swojego projektu - nie umieszczaj ich w repozytorium OpenWeave. Użyj odpowiedniej opcji konfiguracyjnej, aby określić lokalizację każdego pliku podczas konfiguracji:

Plik nagłówkowy Opcja konfiguracji
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

Na przykład, aby skonfigurować OpenWeave do korzystania z pliku WeaveProjectConfig.h specyficznego dla WeaveProjectConfig.h , znajdującego się w ~/my-project/headers :

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