La toolchain principale supportata per la creazione di OpenWeave è GNU Autotools.
Requisiti di sistema
Tutte le principali piattaforme OS supportano la creazione e la compilazione incrociata di OpenWeave. Le toolchain elencate sono state testate ufficialmente da Nest.
Linux | ||||||
---|---|---|---|---|---|---|
Requisiti: Ubuntu 14.04 (Trusty) è ufficialmente supportato, ma qualsiasi sistema basato su Linux simili dovrebbero funzionare. | ||||||
Associazioni C/C++, Java, Python |
| |||||
C/C++, collegamenti Java |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Requisiti: XQuartz per la clonazione di una sottostruttura di directory ad un'altra con i link simbolici. | ||||||
C/C++, associazioni cacao |
| |||||
C/C++, collegamenti Python |
|
finestre | ||||||
---|---|---|---|---|---|---|
Requisiti: Cygwin per il supporto linea di comando di Linux. | ||||||
Associazioni C/C++ |
|
Incorporato | ||||||
---|---|---|---|---|---|---|
Associazioni C/C++ |
|
Prerequisiti
Oltre a una toolchain supportata, ti consigliamo di installare i seguenti pacchetti e strumenti prima di creare 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 da GNU Autotools per il suo sistema di compilazione. Una versione di GNU Autotools deve essere disponibile per compilare con successo OpenWeave. Per utilizzare la versione di autotools fornita dal sistema su Linux:
sudo apt-get install libtool autoconf automake
Per i sistemi in cui GNU Autotools non sono prontamente disponibili o installabili (ad esempio, Mac OS) o su sistemi in cui la versione fornita dal sistema non fornisce una solida generazione di build out-of-box, Nest Labs ha creato una build personalizzata e chiavi in mano framework di sistema, basato su GNU Autotools. Il sistema associa l'insieme di programmi utilizzati nella generazione della build a una versione valida nota. Il fissaggio degli strumenti a una versione particolare garantisce anche un tasso di abbandono relativamente basso nell'output di autotools, portando così a un'esperienza di sviluppo e supporto prevedibile. La build Nest Labs di GNU Autotools è consigliata per l'uso con OpenWeave.
Per creare gli strumenti automatici GNU di Nest Labs:
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 utilizzare Weave in topologie simulate, installa Happy sulla tua macchina Linux. Vedere configurazione Felice per ulteriori informazioni.
Applicazione autonoma
Utilizzare l'applicazione OpenWeave Standalone predefinita per un host di sviluppo desktop o server.
- Clonare il repository OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- L'applicazione standalone OpenWeave:
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 abilitare il codice di debug e la registrazione di Weave:
make -f Makefile-Standalone DEBUG=1
Collegamento del progetto
- Clonare il repository OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Configurare l'ambiente di sviluppo per GNU Autotools:
cd openweave-core
./bootstrap
./configure
- Costruire OpenWeave:
make all
- 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 intestazioni, usa gli autotools per avviare i file di build pertinenti:
./bootstrap
Questo passaggio deve essere eseguita una volta, dopo una cassa albero, e successivamente su eventuali modifiche configure.ac
o Makefile.am
. Non è necessario ripeterlo quando si modificano semplicemente le configurazioni di build o le destinazioni.
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 fornite anche intestazioni di configurazione specifiche del progetto. Inserisci questi file nella directory del tuo progetto, non posizionarli 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