La chaîne d'outils principale compatible pour la création d'OpenWeave est GNU Autotools.
Configuration système requise
Toutes les principales plates-formes d'OS permettent de compiler et d'effectuer une compilation croisée d'OpenWeave. Les chaînes d'outils répertoriées ont été officiellement testées par Nest.
Linux | ||||||
---|---|---|---|---|---|---|
Configuration requise:Ubuntu 14.04 (Trusty) est officiellement compatible, mais tout système Linux similaire devrait fonctionner. | ||||||
C/C++, Java, liaisons Python |
|
|||||
C/C++, liaisons Java |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Conditions requises:XQuartz pour cloner une sous-arborescence d'un répertoire à un autre à l'aide de liens symboliques. | ||||||
C/C++, liaisons Cocoa |
|
|||||
C/C++, liaisons Python |
|
Windows | ||||||
---|---|---|---|---|---|---|
Configuration requise : Cygwin pour la compatibilité avec les lignes de commande Linux. | ||||||
Liaisons C/C++ |
|
Intégrée | ||||||
---|---|---|---|---|---|---|
Liaisons C/C++ |
|
Prerequisites
En plus d'une chaîne d'outils compatible, nous vous recommandons d'installer les packages et outils suivants avant de créer OpenWeave.
Colis
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 des outils GNU Autotools pour son système de compilation. Une version de GNU Autotools doit être disponible pour créer OpenWeave. Pour utiliser la version des outils automatiques fournie par le système sous Linux:
sudo apt-get install libtool autoconf automake
Pour les systèmes sur lesquels les outils automatiques GNU ne sont pas facilement accessibles ou installables (par exemple, Mac OS) ou pour les systèmes sur lesquels la version fournie par le système ne propose pas de génération d'applications robuste, Nest Labs a créé un framework système personnalisé de compilation, basé sur GNU Autotools. Le système épingle l'ensemble des programmes utilisés pour générer la compilation sur une version connue. L'épinglage des outils à une version particulière permet également de réduire les risques de perte d'utilisateurs dans la sortie des outils automatiques, ce qui entraîne une expérience prévisible avec les développeurs et les équipes d'assistance. La compilation de Nest Labs de GNU Autotools est recommandée pour l'utilisation d'OpenWeave.
Pour créer les outils automatiques GNU Nest Labs:
git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools
Sourire
Pour exécuter les scripts de test inclus dans OpenWeave ou pour utiliser Weave dans des simulations de topologie, installez Happy sur votre machine Linux. Pour en savoir plus, consultez la section Bonne configuration.
Application autonome
Utilisez l'application OpenWeave autonome par défaut pour un hôte de développement de serveur ou de bureau.
- Clonez le dépôt OpenWeave :
git clone https://github.com/openweave/openweave-core.git
- Créez l'application OpenWeave autonome :
cd openweave-core
make -f Makefile-Standalone
Utilisez l'option help
avec Makefile-Standalone
pour découvrir les commutateurs disponibles pour la personnalisation de la compilation.
make -f Makefile-Standalone help
Par exemple, pour activer le journal et le code de débogage Weave:
make -f Makefile-Standalone DEBUG=1
Association de projets
- Clonez le dépôt OpenWeave :
git clone https://github.com/openweave/openweave-core.git
- Configurez l'environnement de compilation pour les outils automatiques GNU :
cd openweave-core
./bootstrap
./configure
- Créez OpenWeave :
make all
- Placez le résultat dans un emplacement distinct pour l'association de projet :
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
Après la préproduction, utilisez les répertoires sous <openweave-output>
pour associer le projet:
/usr/local/include
— en-têtes publics/usr/local/lib
: bibliothèques
Android et iOS
Pour créer des bibliothèques pour l'association de projets Android et iOS, utilisez le fichier Makefiles
spécifique à la plate-forme:
make -f Makefile-Android
make -f Makefile-iOS
Utilisez l'option help
avec Makefile-<platform>
pour découvrir les commutateurs disponibles pour la personnalisation de la compilation. Exemple :
make -f Makefile-Android help
make -f Makefile-iOS help
Configuration
Avant de configurer OpenWeave avec différents scripts et en-têtes, utilisez les outils automatiques pour amorcer les fichiers de compilation appropriés:
./bootstrap
Cette étape doit être effectuée une fois, après le règlement d'un arbre, puis sur toute modification apportée à configure.ac
ou Makefile.am
. Il n'est pas nécessaire de le répéter lorsque vous modifiez simplement les configurations ou les cibles de compilation.
Scripts
Utilisez l'option --help
avec le script de configuration inclus pour en savoir plus sur les options configurables.
./configure --help
Par exemple, pour configurer OpenWeave sans prise en charge BlueZ:
./configure --without-bluez
En-têtes
La Makefiles
incluse utilise deux fichiers d'en-tête qui définissent des constantes au moment de la compilation:
Vous pouvez également fournir des en-têtes de configuration spécifiques au projet. Placez ces fichiers dans votre répertoire de projet et ne les placez pas dans le dépôt OpenWeave. Utilisez l'option de configuration appropriée pour spécifier l'emplacement de chaque fichier pendant la configuration:
Fichier d'en-tête | Option de configuration |
---|---|
InetProjectConfig.h |
--with-weave-inet-project-includes=<directory> |
WeaveProjectConfig.h |
--with-weave-project-includes=<directory> |
Par exemple, pour configurer OpenWeave afin d'utiliser un fichier WeaveProjectConfig.h
spécifique à un projet et situé dans ~/my-project/headers
:
./configure --with-weave-project-includes=~/my-project/headers