Google setzt sich dafür ein, die Rassengerechtigkeit für schwarze Gemeinschaften zu fördern. Siehe wie.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Erstellen Sie OpenWeave

Die primär unterstützte Toolchain zum Erstellen von OpenWeave sind GNU Autotools.

System Anforderungen

Alle wichtigen Betriebssystemplattformen unterstützen das Erstellen und Kompilieren von OpenWeave. Gelistete Toolchains wurden von Nest offiziell getestet.

Linux

Anforderungen: Ubuntu 14.04 (Trusty) wird offiziell unterstützt, aber jedes ähnliche Linux-basierte System sollte funktionieren.
C / C ++, Java, Python-Bindungen
Werkzeugketten gcc 4.6.3
Ziele i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C / C ++, Java-Bindungen
Werkzeugketten gcc 4.6
Ziele Arm-Unbekannt-Linux-Android
armv7-unknown-linux-android
i386-unknown-linux-android

Mac OS X

Anforderungen: XQuartz zum Klonen eines Verzeichnis-Teilbaums in einen anderen mit symbolischen Links.
C / C ++, Kakaobindungen
Ziele armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C / C ++, Python-Bindungen
Werkzeugketten LLVM / Klirren 3,5 (6,0)
Ziele i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

Windows

Anforderungen: Unterstützung für Cygwin für Linux-Befehlszeilen.
C / C ++ - Bindungen
Werkzeugketten gcc 4.8.3
Ziele i686-pc-cygwin

Eingebettet

C / C ++ - Bindungen
Werkzeugketten gcc 4.4.1
LLVM / Klirren 3.1
LLVM / Klirren 3.3
Ziele arm * -unknown-linux *
arm * -unknown-freertos-lwip

Voraussetzungen

Zusätzlich zu einer unterstützten Toolchain empfehlen wir, die folgenden Pakete und Tools zu installieren, bevor Sie OpenWeave erstellen.

Pakete

Linux:

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

Linux und Mac OS X:

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

GNU Autotools

OpenWeave ist für sein Build-System von GNU Autotools abhängig. Eine Version von GNU Autotools muss verfügbar sein, um OpenWeave erfolgreich zu erstellen. So verwenden Sie die vom System bereitgestellte Version von Autotools unter Linux:

 sudo apt-get install libtool autoconf automake 

Für Systeme, auf denen die GNU Autotools nicht sofort verfügbar oder installierbar sind (z. B. Mac OS) oder auf Systemen, auf denen die vom System bereitgestellte Version keine solide sofort einsatzbereite Build-Generierung bietet, hat Nest Labs einen benutzerdefinierten, schlüsselfertigen Build erstellt System-Framework, basierend auf GNU Autotools. Das System fixiert die bei der Build-Generierung verwendeten Programme mit einer bekanntermaßen guten Version. Durch das Fixieren der Tools auf eine bestimmte Version wird auch eine relativ geringe Abwanderung der Ausgabe von Autotools sichergestellt, was zu einer vorhersehbaren Entwickler- und Supporterfahrung führt. Für die Verwendung mit OpenWeave wird der Nest Labs-Build von GNU Autotools empfohlen.

So erstellen Sie Nest Labs GNU Autotools:

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

glücklich

Installieren Sie Happy auf Ihrem Linux-Computer, um die in OpenWeave enthaltenen Testskripte auszuführen oder Weave in simulierten Topologien zu verwenden. Weitere Informationen finden Sie unter Happy Setup .

Eigenständige Anwendung

Verwenden Sie die standardmäßige OpenWeave Standalone-Anwendung für einen Desktop- oder Server-Entwicklungshost.

  1. Klonen Sie das OpenWeave-Repository:
     git clone https://github.com/openweave/openweave-core.git 
  2. Erstellen Sie die OpenWeave Standalone-Anwendung:
     cd openweave-core
    make -f Makefile-Standalone 

Verwenden Sie das help Flag mit Makefile-Standalone , um zu erfahren, welche Build-Switches für die Build-Anpassung verfügbar sind.

 make -f Makefile-Standalone help 

So aktivieren Sie beispielsweise den Weave-Debugcode und die Protokollierung:

 make -f Makefile-Standalone DEBUG=1 

Projektverknüpfung

  1. Klonen Sie das OpenWeave-Repository:
     git clone https://github.com/openweave/openweave-core.git 
  2. Konfigurieren Sie die Build-Umgebung für GNU Autotools:
     cd openweave-core
    ./bootstrap
    ./configure 
  3. Erstellen Sie OpenWeave:
     make all 
  4. Stellen Sie die Ausgabe an einen separaten Ort für die Projektverknüpfung:
     mkdir <openweave-output>
    make DESTDIR= <openweave-output> install 

Verwenden Sie nach dem Staging die Verzeichnisse unter <openweave-output> für die Projektverknüpfung:

  • /usr/local/include - öffentliche Header
  • /usr/local/lib - Bibliotheken

Android und iOS

Verwenden Sie die plattformspezifischen Makefiles um Bibliotheken für die Verknüpfung von Android- und iOS-Projekten zu erstellen:

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

Verwenden Sie das help Flag mit Makefile- <platform> , um zu erfahren, welche Build-Switches für die Build-Anpassung verfügbar sind. Beispielsweise:

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

Aufbau

Verwenden Sie die Autotools, um die relevanten Build-Dateien zu booten, bevor Sie OpenWeave mit verschiedenen Skripten und Headern konfigurieren:

 ./bootstrap 

Dieser Schritt muss einmal nach dem Auschecken eines Baums und anschließend bei Änderungen an configure.ac oder Makefile.am . Es muss nicht wiederholt werden, wenn einfach Build-Konfigurationen oder Ziele geändert werden.

Skripte

Verwenden Sie das Flag --help mit dem enthaltenen Konfigurationsskript, um mehr über konfigurierbare Optionen zu erfahren.

 ./configure --help 

So konfigurieren Sie OpenWeave beispielsweise ohne BlueZ-Unterstützung:

 ./configure --without-bluez 

Überschriften

Die enthaltenen Makefiles verwenden zwei Header-Dateien, die zur Kompilierungszeit Konstanten definieren:

Es können auch projektspezifische Konfigurationsheader bereitgestellt werden. Platzieren Sie diese Dateien in Ihrem Projektverzeichnis. Platzieren Sie sie nicht im OpenWeave-Repository. Verwenden Sie die entsprechende Konfigurationsoption, um den Speicherort jeder Datei während der Konfiguration anzugeben:

Header-Datei Konfigurationsoption
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

So konfigurieren Sie OpenWeave beispielsweise für die Verwendung einer projektspezifischen WeaveProjectConfig.h Datei in ~/my-project/headers :

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