Google s'est engagé à promouvoir l'équité raciale pour les communautés noires. Regarde comment.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Construire OpenWeave

La principale chaîne d'outils prise en charge pour la construction d'OpenWeave est GNU Autotools.

Configuration requise

Toutes les principales plates-formes OS prennent en charge la construction et la compilation croisée d'OpenWeave. Les chaînes d'outils répertoriées ont été officiellement testées par Nest.

Linux

Exigences: Ubuntu 14.04 (Trusty) est officiellement pris en charge, mais tout système similaire basé sur Linux devrait fonctionner.
C / C ++, Java, liaisons Python
Chaînes à outils gcc 4.6.3
Cibles i386-inconnu-linux-gnu
x86_64-inconnu-linux-gnu
C / C ++, liaisons Java
Chaînes à outils gcc 4.6
Cibles arm-inconnu-linux-android
armv7-inconnu-linux-android
i386-inconnu-linux-android

Mac OS X

Exigences: XQuartz pour cloner une sous-arborescence de répertoires à une autre avec des liens symboliques.
C / C ++, liaisons Cocoa
Cibles armv7-pomme-darwin-ios
armv7s-pomme-darwin-ios
i386-pomme-darwin-ios
C / C ++, liaisons Python
Chaînes à outils LLVM / clang 3,5 (6,0)
Cibles i386-pomme-darwin-macosx
x86_64-pomme-darwin-macosx

les fenêtres

Exigences: Prise en charge de la ligne de commande Cygwin pour Linux.
Liaisons C / C ++
Chaînes à outils gcc 4.8.3
Cibles i686-pc-cygwin

Embarqué

Liaisons C / C ++
Chaînes à outils gcc 4.4.1
LLVM / clang 3.1
LLVM / clang 3.3
Cibles arm * -unknown-linux *
bras * -unknown-freertos-lwip

Conditions préalables

En plus d'une chaîne d'outils prise en charge, nous vous recommandons d'installer les packages et outils suivants avant de créer OpenWeave.

Paquets

Linux:

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

Linux et Mac OS X:

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

Outils automatiques GNU

OpenWeave dépend de GNU Autotools pour son système de construction. Une version de GNU Autotools doit être disponible pour réussir à construire OpenWeave. Pour utiliser la version fournie par le système des outils automatiques sous Linux:

 sudo apt-get install libtool autoconf automake 

Pour les systèmes où les Autotools GNU ne sont pas facilement disponibles ou installables (par exemple, Mac OS) ou sur les systèmes où la version fournie par le système ne fournit pas une génération de construction solide prête à l'emploi, Nest Labs a créé une version clé en main personnalisée Framework système, basé sur GNU Autotools. Le système épingle l'ensemble des programmes utilisés dans la génération de build à une bonne version connue. L'épinglage des outils à une version particulière garantit également un taux de désabonnement relativement faible dans la sortie des outils automatiques, conduisant ainsi à une expérience prévisible des développeurs et du support. La version Nest Labs de GNU Autotools est recommandée pour une utilisation avec OpenWeave.

Pour créer les Autotools GNU de Nest Labs:

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

Heureux

Pour exécuter les scripts de test inclus dans OpenWeave, ou pour utiliser Weave dans des topologies simulées, installez Happy sur votre machine Linux. Voir Configuration heureuse pour plus d'informations.

Application autonome

Utilisez l'application OpenWeave Standalone par défaut pour un hôte de développement de bureau ou de serveur.

  1. Clonez le référentiel OpenWeave:
     git clone https://github.com/openweave/openweave-core.git 
  2. Créez l'application OpenWeave Standalone:
     cd openweave-core
    make -f Makefile-Standalone 

Utilisez l'indicateur d' help avec Makefile-Standalone pour savoir quels commutateurs de build sont disponibles pour la personnalisation de build.

 make -f Makefile-Standalone help 

Par exemple, pour activer le code de débogage et la journalisation de Weave:

 make -f Makefile-Standalone DEBUG=1 

Liaison de projet

  1. Clonez le référentiel OpenWeave:
     git clone https://github.com/openweave/openweave-core.git 
  2. Configurez l'environnement de construction pour GNU Autotools:
     cd openweave-core
    ./bootstrap
    ./configure 
  3. Construisez OpenWeave:
     make all 
  4. Placez la sortie dans un emplacement distinct pour la liaison du projet:
     mkdir <openweave-output>
    make DESTDIR= <openweave-output> install 

Après la <openweave-output> , utilisez les répertoires sous <openweave-output> pour la liaison de projet:

  • /usr/local/include - en-têtes publics
  • /usr/local/lib - bibliothèques

Android et iOS

Pour créer des bibliothèques pour la liaison de projets Android et iOS, utilisez les Makefiles spécifiques à la plate-forme:

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

Utilisez l'indicateur d' help avec Makefile- <platform> pour savoir quels commutateurs de build sont disponibles pour la personnalisation de build. Par exemple:

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

Configuration

Avant de configurer OpenWeave avec divers scripts et en-têtes, utilisez les autotools pour amorcer les fichiers de construction appropriés:

 ./bootstrap 

Cette étape doit être effectuée une fois, après une extraction de l'arborescence, et par la suite sur toute modification apportée à configure.ac ou Makefile.am . Il n'est pas nécessaire de le répéter lors de la simple modification des configurations de construction ou des cibles.

Les scripts

Utilisez l'indicateur --help avec le script de configuration inclus pour en savoir plus sur les options configurables.

 ./configure --help 

Par exemple, pour configurer OpenWeave sans le support BlueZ:

 ./configure --without-bluez 

En-têtes

Les Makefiles inclus utilisent deux fichiers d'en-tête qui définissent des constantes au moment de la compilation:

Des en-têtes de configuration spécifiques au projet peuvent également être fournis. Placez ces fichiers dans le répertoire de votre projet - ne les placez pas dans le référentiel OpenWeave. Utilisez l'option de configuration appropriée pour spécifier l'emplacement de chaque fichier lors de la configuration:

En tête de fichier Option de configuration
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

Par exemple, pour configurer OpenWeave pour utiliser un fichier WeaveProjectConfig.h spécifique au WeaveProjectConfig.h situé dans ~/my-project/headers :

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