Google si impegna a far progredire equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

costruire OpenWeave

La toolchain principale supportato per la costruzione OpenWeave è GNU Autotools.

Requisiti di sistema

Tutte le principali piattaforme OS supportano costruzione e cross-compilazione di OpenWeave. toolchain elencati sono stati ufficialmente testati da Nest.

Linux

Requisiti: Ubuntu 14.04 (Trusty) è ufficialmente supportato, ma qualsiasi sistema basato su Linux simili dovrebbero funzionare.
C / C ++, Java, Python
toolchain gcc 4.6.3
obiettivi i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
/ C ++, C binding Java
toolchain gcc 4.6
obiettivi arm-unknown-linux-android
ARMv7-unknown-linux-android
i386-unknown-linux-android

Mac OS X

Requisiti: XQuartz per la clonazione di una sottostruttura di directory ad un'altra con i link simbolici.
C / C ++, attacchi di cacao
obiettivi ARMv7-apple-Darwin-ios
armv7s-apple-Darwin-ios
i386-apple-Darwin-ios
C / C ++, Python
toolchain LLVM / clang 3.5 (6.0)
obiettivi i386-apple-darwin-MacOSX
x86_64-apple-darwin-MacOSX

finestre

Requisiti: Cygwin per il supporto linea di comando di Linux.
attacchi C / C ++
toolchain gcc 4.8.3
obiettivi i686-pc-cygwin

Incorporato

attacchi C / C ++
toolchain gcc 4.4.1
LLVM / clang 3.1
LLVM / clang 3.3
obiettivi braccio * -Sconosciuto-linux *
braccio * -Sconosciuto-FreeRTOS-lwip

Prerequisiti

Oltre a una toolchain supportato, si consiglia di installare i seguenti pacchetti e gli strumenti prima di costruire OpenWeave.

Pacchi

Linux:

 sudo apt-get install python-pip python-setuptools bridge-utils /
               libglib2.0-dev libdbus-1-dev libudev-dev /
               libical-dev libreadline-dev 

Linux e Mac OS X:

 pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomex
sudo cpan -i Text::Template 

GNU Autotools

OpenWeave dipende GNU Autotools per il suo sistema di compilazione. Una versione di GNU Autotools deve essere disponibile a costruire con successo OpenWeave. Per utilizzare la versione fornita dal sistema di autotools su Linux:

 sudo apt-get install libtool autoconf automake 

Per i sistemi in cui i Autotools GNU non sono facilmente disponibili o installabile (ad esempio, Mac OS) o su sistemi in cui la versione fornita dal sistema non fornisce una generazione solida out-of-box di compilazione, Nest Labs ha creato una personalizzata, costruzione chiavi in ​​mano framework sistema, basato su GNU Autotools. I perni di sistema l'insieme di programmi per la generazione in generazione di una nota versione buona. Pinning gli strumenti che una particolare versione garantisce anche relativamente basso churn nell'output del autotools portando così allo sviluppatore prevedibile e esperienza supporto. La build Nest Labs di GNU Autotools è raccomandato per l'uso con OpenWeave.

Per costruire Nest Labs GNU Autotools:

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

Contento

Per eseguire gli script di test inclusi in OpenWeave, o per usare Weave nelle topologie simulati, installare Felice sulla vostra macchina Linux. Vedere configurazione Felice per ulteriori informazioni.

applicazione stand-alone

Utilizzare l'applicazione predefinita OpenWeave standalone per una miriade di sviluppo desktop o server.

  1. Clonare il repository OpenWeave:
     git clone https://github.com/openweave/openweave-core.git 
  2. L'applicazione OpenWeave Standalone:
     cd openweave-core
    make -f Makefile-Standalone 

Utilizzare l' help contrassegna con Makefile-Standalone per imparare ciò che sono disponibili per la personalizzazione di build switch di compilazione.

 make -f Makefile-Standalone help 

Ad esempio, per consentire Weave debug del codice e la registrazione:

 make -f Makefile-Standalone DEBUG=1 

linking del progetto

  1. Clonare il repository OpenWeave:
     git clone https://github.com/openweave/openweave-core.git 
  2. Configurare l'ambiente di sviluppo per GNU Autotools:
     cd openweave-core
    ./bootstrap
    ./configure 
  3. Costruire OpenWeave:
     make all 
  4. In scena l'output in un luogo separato per il progetto di collegamento:
     mkdir <openweave-output>
    make DESTDIR= <openweave-output> install 

Dopo messa in scena, usare le directory in <openweave-output> per il progetto di collegamento:

  • /usr/local/include - headers pubblici
  • /usr/local/lib - librerie

Android e iOS

Per le librerie di compilazione per Android e iOS progetto di collegamento, utilizzare le specifiche della piattaforma Makefiles :

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

Utilizzare l' help contrassegna con Makefile- <platform> per imparare ciò che sono disponibili per la personalizzazione di build switch di compilazione. Per esempio:

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

Configurazione

Prima di configurare OpenWeave con vari script e le intestazioni, utilizzare i autotools per il bootstrap i file di generazione rilevanti:

 ./bootstrap 

Questo passaggio deve essere eseguita una volta, dopo una cassa albero, e successivamente su eventuali modifiche configure.ac o Makefile.am . Non ha bisogno di essere ripetuto quando semplicemente modificare le configurazioni o obiettivi di compilazione.

Script

Utilizzare il --help contrassegna con lo script di configurazione in dotazione per ulteriori informazioni sulle opzioni configurabili.

 ./configure --help 

Ad esempio, per configurare OpenWeave senza supporto BlueZ:

 ./configure --without-bluez 

intestazioni

I inclusi Makefiles utilizzano due file header che definiscono le costanti a tempo di compilazione:

possono essere forniti anche le intestazioni di configurazione specifica per il progetto. Posizionare questi file nella directory project-non metterli all'interno del repository OpenWeave. Utilizzare l'opzione di configurazione appropriata per specificare la posizione di ciascun file durante la configurazione:

File di intestazione opzione di configurazione
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

Ad esempio, per configurare OpenWeave usare un progetto specifico WeaveProjectConfig.h file che si trova in ~/my-project/headers :

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