En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Construir OpenWeave

La cadena de herramientas principal compatible para crear OpenWeave es GNU Autotools.

Requisitos del sistema

Todas las principales plataformas de sistemas operativos admiten la creación y compilación cruzada de OpenWeave. Nest ha probado oficialmente las cadenas de herramientas enumeradas.

Linux

Requisitos: Ubuntu 14.04 (Trusty) es oficialmente compatible, pero cualquier sistema similar basado en Linux debería funcionar.
C / C ++, Java, enlaces de Python
Cadenas de herramientas gcc 4.6.3
Objetivos i386-desconocido-linux-gnu
x86_64-unknown-linux-gnu
C / C ++, enlaces Java
Cadenas de herramientas gcc 4.6
Objetivos brazo-desconocido-linux-android
armv7-unknown-linux-android
i386-desconocido-linux-android

Mac OS X

Requisitos: XQuartz para clonar un subárbol de directorio a otro con enlaces simbólicos.
C / C ++, enlaces Cocoa
Objetivos armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C / C ++, enlaces de Python
Cadenas de herramientas LLVM / sonido metálico 3,5 (6,0)
Objetivos i386-manzana-darwin-macosx
x86_64-apple-darwin-macosx

Ventanas

Requisitos: Cygwin para soporte de línea de comandos de Linux.
Enlaces C / C ++
Cadenas de herramientas gcc 4.8.3
Objetivos i686-pc-cygwin

Incrustado

Enlaces C / C ++
Cadenas de herramientas gcc 4.4.1
LLVM / clang 3.1
LLVM / clang 3.3
Objetivos brazo * -unknown-linux *
brazo * -unknown-freertos-lwip

Prerrequisitos

Además de una cadena de herramientas compatible, recomendamos instalar los siguientes paquetes y herramientas antes de compilar OpenWeave.

Paquetes

Linux:

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

Linux y Mac OS X:

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

Herramientas automáticas GNU

OpenWeave depende de GNU Autotools para su sistema de construcción. Debe estar disponible una versión de GNU Autotools para construir OpenWeave con éxito. Para usar la versión de autotools proporcionada por el sistema en Linux:

sudo apt-get install libtool autoconf automake

Para los sistemas donde las herramientas automáticas GNU no están disponibles o no se pueden instalar fácilmente (por ejemplo, Mac OS) o en sistemas donde la versión proporcionada por el sistema no proporciona una generación de compilación sólida y lista para usar, Nest Labs ha creado una compilación llave en mano personalizada. marco del sistema, basado en GNU Autotools. El sistema fija el conjunto de programas utilizados en la generación de compilación a una versión buena conocida. Anclar las herramientas a una versión en particular también garantiza una tasa de rotación relativamente baja en la salida de las herramientas automáticas, lo que conduce a una experiencia predecible de desarrollador y soporte. Se recomienda la versión Nest Labs de GNU Autotools para su uso con OpenWeave.

Para crear herramientas automáticas GNU de Nest Labs:

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

Contento

Para ejecutar los scripts de prueba incluidos en OpenWeave, o para usar Weave en topologías simuladas, instale Happy en su máquina Linux. Consulte Configuración feliz para obtener más información.

Aplicación independiente

Utilice la aplicación OpenWeave Standalone predeterminada para un host de desarrollo de servidor o de escritorio.

  1. Clonar el repositorio de OpenWeave:
    git clone https://github.com/openweave/openweave-core.git
  2. Cree la aplicación OpenWeave Standalone: ​​
    cd openweave-core
    make -f Makefile-Standalone

Utilice el indicador de help con Makefile-Standalone para saber qué conmutadores de compilación están disponibles para la personalización de compilación.

make -f Makefile-Standalone help

Por ejemplo, para habilitar el código de depuración y el registro de Weave:

make -f Makefile-Standalone DEBUG=1

Vinculación de proyectos

  1. Clonar el repositorio de OpenWeave:
    git clone https://github.com/openweave/openweave-core.git
  2. Configure el entorno de compilación para GNU Autotools:
    cd openweave-core
    ./bootstrap
    ./configure
  3. Construir OpenWeave:
    make all
  4. Organice la salida en una ubicación separada para vincular el proyecto:
    mkdir <openweave-output>
    make DESTDIR=<openweave-output> install

Después de la preparación, use los directorios debajo de <openweave-output> para vincular el proyecto:

  • /usr/local/include - encabezados públicos
  • /usr/local/lib - bibliotecas

Android y iOS

Para crear bibliotecas para la vinculación de proyectos de Android e iOS, use los Makefiles específicos de la plataforma:

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

Utilice el indicador de help con Makefile- <platform> para saber qué conmutadores de compilación están disponibles para la personalización de compilación. Por ejemplo:

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

Configuración

Antes de configurar OpenWeave con varios scripts y encabezados, use las herramientas automáticas para arrancar los archivos de compilación relevantes:

./bootstrap

Este paso debe realizarse una vez, después de una verificación de árbol y, posteriormente, en cualquier cambio en configure.ac o Makefile.am . No es necesario repetirlo cuando simplemente se cambian las configuraciones de compilación o los objetivos.

Guiones

Utilice la --help con el script de configuración incluido para obtener más información sobre las opciones configurables.

./configure --help

Por ejemplo, para configurar OpenWeave sin el soporte de BlueZ:

./configure --without-bluez

Encabezados

Los Makefiles incluidos utilizan dos archivos de encabezado que definen constantes en tiempo de compilación:

También se pueden proporcionar encabezados de configuración específicos del proyecto. Coloque estos archivos en el directorio de su proyecto, no los coloque dentro del repositorio de OpenWeave. Utilice la opción de configuración adecuada para especificar la ubicación de cada archivo durante la configuración:

Archivo de cabecera Opción de configuración
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

Por ejemplo, para configurar OpenWeave para usar un archivo WeaveProjectConfig.h específico del WeaveProjectConfig.h ubicado en ~/my-project/headers :

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