O Google está comprometido em promover a equidade racial para as comunidades negras. Veja como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Crie o OpenWeave

A principal cadeia de ferramentas suportada para a criação do OpenWeave é o GNU Autotools.

requisitos de sistema

Todas as principais plataformas de sistemas operacionais oferecem suporte à criação e compilação cruzada do OpenWeave. As cadeias de ferramentas listadas foram oficialmente testadas pelo Nest.

Linux

Requisitos: O Ubuntu 14.04 (Trusty) é oficialmente suportado, mas qualquer sistema similar baseado em Linux deve funcionar.
Ligações C / C ++, Java, Python
Ferramentas gcc 4.6.3
Metas i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C / C ++, ligações Java
Ferramentas gcc 4.6
Metas 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 de cacau
Metas armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C / C ++, ligações Python
Ferramentas LLVM / clang 3,5 (6,0)
Metas i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

janelas

Requisitos: Suporte à linha de comando do Cygwin for Linux.
Ligações C / C ++
Ferramentas gcc 4.8.3
Metas i686-pc-cygwin

embutido

Ligações C / C ++
Ferramentas gcc 4.4.1
LLVM / clang 3,1
LLVM / clang 3,3
Metas arm * -unknown-linux *
arm * -unknown-freertos-lwip

Pré-requisitos

Além de uma cadeia de ferramentas suportada, recomendamos a instalação dos seguintes pacotes e ferramentas antes de criar 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 

Ferramentas automáticas GNU

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

 sudo apt-get install libtool autoconf automake 

Para sistemas em que as GNU Autotools não estão prontamente disponíveis ou instaláveis ​​(por exemplo, Mac OS) ou em sistemas em que a versão fornecida pelo sistema não fornece uma sólida geração de compilação pronta para uso, a Nest Labs criou uma compilação personalizada pronta para uso estrutura do sistema, baseada no GNU Autotools. O sistema fixa o conjunto de programas usados ​​na geração de compilação a uma versão boa conhecida. Fixar as ferramentas a 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 versão do Nest Labs do GNU Autotools é recomendada para uso com o OpenWeave.

Para criar as ferramentas automáticas GNU do Nest Labs:

 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 usar o Weave em topologias simuladas, instale o Happy na sua máquina Linux. Consulte Configuração feliz para obter mais informações.

Aplicativo autônomo

Use o aplicativo OpenWeave Standalone padrão 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 OpenWeave Standalone:
     cd openweave-core
    make -f Makefile-Standalone 

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

 make -f Makefile-Standalone help 

Por exemplo, para habilitar o código de depuração e o logon 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 o GNU Autotools:
     cd openweave-core
    ./bootstrap
    ./configure 
  3. Crie o OpenWeave:
     make all 
  4. Prepare a saída em 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 criar bibliotecas para vinculação de projetos para 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 compilação estão disponíveis para personalização da compilaçã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 as ferramentas automáticas para inicializar os arquivos de compilação relevantes:

 ./bootstrap 

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

Scripts

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

 ./configure --help 

Por exemplo, para configurar o OpenWeave sem suporte ao 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 do OpenWeave. Use a opção de configuração apropriada para especificar o local 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