O principal conjunto de ferramentas compatível para a criação do OpenWeave é o GNU Autotools.
Requisitos do sistema
Todas as principais plataformas de SO oferecem suporte à criação e compilação cruzada do OpenWeave. Os conjuntos de ferramentas listados foram testados oficialmente pelo Nest.
Linux | ||||||
---|---|---|---|---|---|---|
Requisitos: o Ubuntu 14.04 (Trusty) é oficialmente compatível, mas qualquer sistema semelhante baseado em Linux deve funcionar. | ||||||
Vinculações C/C++, Java e Python |
|
|||||
C/C++, vinculações Java |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Requisitos: XQuartz para clonar uma subárvore de diretórios para outra com links simbólicos. | ||||||
C/C++, vinculações de Cocoa |
|
|||||
C/C++, vinculações Python |
|
Windows | ||||||
---|---|---|---|---|---|---|
Requisitos: Cygwin para ter suporte à linha de comando do Linux. | ||||||
Vinculações C/C++ |
|
Embedded | ||||||
---|---|---|---|---|---|---|
Vinculações C/C++ |
|
Prerequisites
Além de um conjunto de ferramentas compatível, recomendamos a instalação dos pacotes e ferramentas a seguir antes da criação do OpenWeave.
Entrega de 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 Auto GNU
O OpenWeave depende do GNU Autotools para o sistema de compilação dele. Uma versão do GNU Autotools precisa estar disponível para criar o OpenWeave. Para usar a versão fornecida pelo sistema de ferramentas automáticas no Linux:
sudo apt-get install libtool autoconf automake
Para sistemas em que o GNU Autotools não está disponível ou não pode ser instalado (por exemplo, Mac OS) ou em sistemas em que a versão fornecida pelo sistema não fornece uma geração sólida de compilação pronta para uso, o Nest Labs criou um framework de sistema de compilação pronto para uso personalizado, baseado no GNU Autotools. O sistema fixa o conjunto de programas usados na geração do build em uma versão válida conhecida. Fixar as ferramentas em uma versão específica também garante um desligamento relativamente baixo na saída de ferramentas automáticas, levando a uma experiência previsível de suporte e desenvolvimento. A versão do Nest Labs do GNU Autotools é recomendada para uso com o OpenWeave.
Para criar ferramentas automáticas do Nest Labs GNU:
git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools
Alegre
Para executar os scripts de teste incluídos no OpenWeave ou usar o Weave em topologias simuladas, instale o Happy na máquina Linux. Consulte Configuração feliz para mais informações.
App independente
Use o aplicativo padrão OpenWeave Standalone para um host de desenvolvimento de computador ou servidor.
- Clone o repositório do OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Crie o aplicativo OpenWeave Standalone:
cd openweave-core
make -f Makefile-Standalone
Use a sinalização help
com Makefile-Standalone
para saber quais interruptores de compilação estão disponíveis para personalização de builds.
make -f Makefile-Standalone help
Por exemplo, para ativar a geração de registros e o código de depuração do Weave:
make -f Makefile-Standalone DEBUG=1
Vinculação de projetos
- Clone o repositório do OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Configure o ambiente de build do GNU Autotools:
cd openweave-core
./bootstrap
./configure
- Crie o OpenWeave:
make all
- Prepare a saída para um local separado para a vinculação do projeto:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
Após o preparo, 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 o Makefiles
específico da plataforma:
make -f Makefile-Android
make -f Makefile-iOS
Use a sinalização help
com Makefile-<platform>
para
saber quais interruptores de compilação estão disponíveis para personalização de builds. 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
Essa etapa precisa ser realizada uma vez, após uma finalização da compra em árvore e, posteriormente, em todas as mudanças em configure.ac
ou Makefile.am
. Ele não precisa ser repetido ao simplesmente alterar as configurações ou os destinos do build.
Scripts
Use a sinalização --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 o suporte da BlueZ:
./configure --without-bluez
Cabeçalhos
Os Makefiles
incluídos usam dois arquivos principais que definem constantes no
momento da compilação:
Também é possível fornecer cabeçalhos de configuração específicos do projeto. 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 a localização de cada arquivo durante a configuração:
Arquivo principal | 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 projeto localizado em ~/my-project/headers
:
./configure --with-weave-project-includes=~/my-project/headers