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) está soportado oficialmente, pero cualquier sistema basado en Linux similares deben trabajar. | ||||||
C / C ++, Java, enlaces de Python |
| |||||
C / C ++, enlaces Java |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Requisitos: XQuartz para la clonación de un sub-árbol de directorio a otro con enlaces simbólicos. | ||||||
C / C ++, enlaces Cocoa |
| |||||
C / C ++, enlaces de Python |
|
Ventanas | ||||||
---|---|---|---|---|---|---|
Requisitos: Cygwin para el soporte de la línea de comandos de Linux. | ||||||
Enlaces C / C ++ |
|
Incorporado | ||||||
---|---|---|---|---|---|---|
Enlaces C / C ++ |
|
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 utilizar la versión de autotools proporcionada por el sistema en Linux:
sudo apt-get install libtool autoconf automake
Para los sistemas en los que 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 compilación de 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. Ver configuración feliz para más información.
Aplicación independiente
Utilice la aplicación independiente OpenWeave predeterminada para un host de desarrollo de servidor o de escritorio.
- Clonar el repositorio OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Generar la aplicación OpenWeave Independiente:
cd openweave-core
make -f Makefile-Standalone
Utilice la help
, marca con Makefile-Standalone
para aprender lo que está disponible para la personalización acumulación interruptores de construcció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
- Clonar el repositorio OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Configurar el entorno de construcción para GNU Autotools:
cd openweave-core
./bootstrap
./configure
- Construir OpenWeave:
make all
- Organizar la salida a un lugar separado para la vinculación del proyecto:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
Después de la clasificación, utilizar los directorios bajo <openweave-output>
para el proyecto de vinculación:
-
/usr/local/include
- cabeceras públicas -
/usr/local/lib
- bibliotecas
Android y iOS
Para construir bibliotecas para Android y iOS vinculación proyecto, utilice las específicas de la plataforma Makefiles
:
make -f Makefile-Android
make -f Makefile-iOS
Utilice la help
, marca con Makefile- <platform>
para aprender lo que está disponible para la personalización acumulación interruptores de construcció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 se debe realizar una vez, después de una extracción de árboles, 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
Usar la --help
, marca con la secuencia de comandos de configuración incluido para aprender más acerca de las opciones configurables.
./configure --help
Por ejemplo, para configurar OpenWeave sin el soporte de BlueZ:
./configure --without-bluez
Encabezados
Las incluidos Makefiles
utilizan dos ficheros de cabecera 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 utilizar un proyecto específico WeaveProjectConfig.h
archivo que se encuentra en ~/my-project/headers
:
./configure --with-weave-project-includes=~/my-project/headers