O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Construir OpenWeave

O principal conjunto de ferramentas suportado para a construção do OpenWeave é o GNU Autotools.

requisitos de sistema

Todas as principais plataformas de sistema operacional oferecem suporte à construção e compilação cruzada do OpenWeave. Os conjuntos de ferramentas listados foram testados oficialmente pela Nest.

Linux

Requisitos: Ubuntu 14.04 (Trusty) é oficialmente compatível, mas qualquer sistema semelhante baseado em Linux deve funcionar.
C / C ++, Java, ligações Python
Conjuntos de ferramentas gcc 4.6.3
Alvos i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C / C ++, ligações Java
Conjuntos de ferramentas gcc 4.6
Alvos arm-unknown-linux-android
armv7-unknown-linux-android
i386-unknown-linux-android

Mac OS X

Requisitos: XQuartz para clonar uma subárvore de diretório em outra com links simbólicos.
C / C ++, ligações Cocoa
Alvos armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C / C ++, ligações Python
Conjuntos de ferramentas LLVM / clang 3,5 (6,0)
Alvos i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

janelas

Requisitos: Cygwin para suporte de linha de comando do Linux.
Ligações C / C ++
Conjuntos de ferramentas gcc 4.8.3
Alvos i686-pc-cygwin

embutido

Ligações C / C ++
Conjuntos de ferramentas gcc 4.4.1
LLVM / clang 3.1
LLVM / clang 3.3
Alvos arm * -unknown-linux *
arm * -unknown-freertos-lwip

Pré-requisitos

Além de um conjunto de ferramentas compatível, recomendamos instalar os seguintes pacotes e ferramentas antes de compilar o OpenWeave.

Pacotes

Linux:

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

Linux e Mac OS X:

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

GNU Autotools

OpenWeave depende do GNU Autotools para seu sistema de construção. Uma versão do GNU Autotools deve estar disponível para construir o OpenWeave com sucesso. Para usar a versão fornecida pelo sistema do autotools no Linux:

sudo apt-get install libtool autoconf automake

Para sistemas onde o GNU Autotools não está prontamente disponível ou instalável (por exemplo, Mac OS) ou em sistemas onde a versão fornecida pelo sistema não fornece uma geração de compilação pronta para uso, a Nest Labs criou uma compilação pronta para uso personalizada framework do sistema, baseado em GNU Autotools. O sistema fixa o conjunto de programas usados ​​na geração do build em uma versão válida. Fixar as ferramentas em uma versão específica também garante uma rotatividade relativamente baixa na saída de ferramentas automáticas, levando a uma experiência previsível de desenvolvedor e suporte. A compilação do GNU Autotools do Nest Labs é recomendada para uso com o OpenWeave.

Para construir o Nest Labs GNU Autotools:

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

Feliz

Para executar os scripts de teste incluídos no OpenWeave, ou para usar o Weave em topologias simuladas, instale o Happy em sua máquina Linux. Consulte Happy setup para obter mais informações.

Aplicativo autônomo

Use o aplicativo padrão OpenWeave Standalone para um host de desenvolvimento de desktop ou servidor.

  1. Clone o repositório OpenWeave:
    git clone https://github.com/openweave/openweave-core.git
  2. Crie o aplicativo autônomo do OpenWeave:
    cd openweave-core
    make -f Makefile-Standalone

Use o sinalizador de help com Makefile-Standalone para saber quais opções de construção estão disponíveis para personalização de construção.

make -f Makefile-Standalone help

Por exemplo, para ativar o código de depuração e registro do Weave:

make -f Makefile-Standalone DEBUG=1

Vinculação de projeto

  1. Clone o repositório OpenWeave:
    git clone https://github.com/openweave/openweave-core.git
  2. Configure o ambiente de construção para GNU Autotools:
    cd openweave-core
    ./bootstrap
    ./configure
  3. Construir OpenWeave:
    make all
  4. Prepare a saída para um local separado para vinculação do projeto:
    mkdir <openweave-output>
    make DESTDIR=<openweave-output> install

Após a preparação, use os diretórios em <openweave-output> para vincular o projeto:

  • /usr/local/include - cabeçalhos públicos
  • /usr/local/lib - bibliotecas

Android e iOS

Para construir bibliotecas para vinculação de projetos Android e iOS, use os Makefiles específicos da plataforma:

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

Use o sinalizador de help com Makefile- <platform> para saber quais opções de construção estão disponíveis para personalização de construção. Por exemplo:

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

Configuração

Antes de configurar o OpenWeave com vários scripts e cabeçalhos, use o autotools para inicializar os arquivos de compilação relevantes:

./bootstrap

Esta etapa precisa ser executada uma vez, após uma verificação da árvore e, subsequentemente, em quaisquer alterações em configure.ac ou Makefile.am . Não precisa ser repetido ao simplesmente alterar as configurações ou destinos de construção.

Scripts

Use o sinalizador --help com o script de configuração incluído para aprender mais sobre as opções configuráveis.

./configure --help

Por exemplo, para configurar OpenWeave sem suporte BlueZ:

./configure --without-bluez

Cabeçalhos

Os Makefiles incluídos usam dois arquivos de cabeçalho que definem constantes em tempo de compilação:

Cabeçalhos de configuração específicos do projeto também podem ser fornecidos. Coloque esses arquivos no diretório do projeto - não os coloque no repositório OpenWeave. Use a opção de configuração apropriada para especificar a localização de cada arquivo durante a configuração:

Arquivo de cabeçalho Opção de configuração
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

Por exemplo, para configurar o OpenWeave para usar um arquivo WeaveProjectConfig.h específico do WeaveProjectConfig.h localizado em ~/my-project/headers :

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