Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Сборка OpenWeave

Основной поддерживаемый набор инструментов для сборки OpenWeave - GNU Autotools.

Системные Требования

Все основные платформы ОС поддерживают сборку и кросс-компиляцию OpenWeave. Перечисленные наборы инструментов были официально протестированы Nest.

Linux

Требования: Ubuntu 14.04 (Trusty) официально поддерживается, но любая аналогичная система на основе Linux должна работать.
Привязки C / C ++, Java, Python
компилированные инструменты gcc 4.6.3
Цели i386-неизвестно-Linux-гну
x86_64-неизвестно-Linux-гну
C / C ++, привязки Java
компилированные инструменты gcc 4.6
Цели рука неизвестного-линукс-андроид
ARMv7-неизвестно-линукс-андроид
i386-неизвестно-линукс-андроид

Mac OS X

Требования: XQuartz для клонирования одного поддерева каталога в другое с помощью символических ссылок.
C / C ++, какао-связки
Цели ARMv7-яблочно-Darwin-ИСН
armv7s-яблочный-Darwin-ИСНЫ
i386-яблоко-Darwin-ИСН
C / C ++, привязки Python
компилированные инструменты LLVM / clang 3.5 (6.0)
Цели i386-яблоко-Darwin-MacOSX
x86_64-яблочно-Darwin-MacOSX

Windows

Требования: поддержка командной строки Cygwin для Linux.
Привязки C / C ++
компилированные инструменты gcc 4.8.3
Цели i686-рс-Cygwin

внедренный

Привязки C / C ++
компилированные инструменты gcc 4.4.1
LLVM / clang 3.1
LLVM / clang 3.3
Цели рука * -Неизвестный-Linux *
рука * -Неизвестный-FreeRTOS-LwIP

Предпосылки

В дополнение к поддерживаемой цепочке инструментов, мы рекомендуем установить следующие пакеты и инструменты перед сборкой OpenWeave.

пакеты

Linux:

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

Linux и Mac OS X:

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

GNU Autotools

OpenWeave зависит от GNU Autotools для своей системы сборки. Для успешного построения OpenWeave должна быть доступна версия GNU Autotools. Чтобы использовать системную версию автоинструментов в Linux:

 sudo apt-get install libtool autoconf automake 

Для систем, где инструменты GNU Autotools недоступны или не устанавливаются (например, Mac OS), или в системах, где предоставляемая система версия не обеспечивает надежной генерации сборки из коробки, Nest Labs создала индивидуальную сборку под ключ каркас системы, основанный на GNU Autotools. Система прикрепляет набор программ, используемых при создании сборки, к известной хорошей версии. Прикрепление инструментов к определенной версии также обеспечивает относительно низкий отток результатов автоинструментов, что приводит к предсказуемому опыту разработчиков и поддержки. Сборка GNU Autotools для Nest Labs рекомендуется для использования с OpenWeave.

Чтобы построить Nest Labs GNU Autotools:

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

Счастливый

Чтобы запустить тестовые сценарии, включенные в OpenWeave, или использовать Weave в смоделированных топологиях, установите Happy на свой компьютер Linux. См. Happy setup для получения дополнительной информации.

Автономное приложение

Используйте автономное приложение OpenWeave по умолчанию для хоста разработки на рабочем столе или сервере.

  1. Клонировать репозиторий OpenWeave:
     git clone https://github.com/openweave/openweave-core.git 
  2. Создайте отдельное приложение OpenWeave:
     cd openweave-core
    make -f Makefile-Standalone 

Используйте флаг help с Makefile-Standalone чтобы узнать, какие ключи сборки доступны для настройки сборки.

 make -f Makefile-Standalone help 

Например, чтобы включить Weave отладочный код и ведение журнала:

 make -f Makefile-Standalone DEBUG=1 

Связывание проекта

  1. Клонировать репозиторий OpenWeave:
     git clone https://github.com/openweave/openweave-core.git 
  2. Настройте среду сборки для GNU Autotools:
     cd openweave-core
    ./bootstrap
    ./configure 
  3. Сборка OpenWeave:
     make all 
  4. Поместите вывод в отдельное место для связи проекта:
     mkdir <openweave-output>
    make DESTDIR= <openweave-output> install 

После подготовки используйте каталоги в <openweave-output> для связывания проекта:

  • /usr/local/include - публичные заголовки
  • /usr/local/lib - библиотеки

Android и iOS

Для создания библиотек для линковки проектов Android и iOS используйте Makefiles - Makefiles конкретной платформы:

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

Используйте флаг help с Makefile- <platform> чтобы узнать, какие ключи сборки доступны для настройки сборки. Например:

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

конфигурация

Перед настройкой OpenWeave с различными скриптами и заголовками, используйте автоинструменты для загрузки соответствующих файлов сборки:

 ./bootstrap 

Этот шаг необходимо выполнить один раз, после проверки дерева, и впоследствии при любых изменениях в configure.ac или Makefile.am . Это не нужно повторять при простом изменении конфигурации сборки или целей.

Сценарии

Используйте флаг --help с включенным сценарием конфигурации, чтобы узнать больше о настраиваемых параметрах.

 ./configure --help 

Например, чтобы настроить OpenWeave без поддержки BlueZ:

 ./configure --without-bluez 

Заголовки

Включенные Makefiles используют два заголовочных файла, которые определяют константы во время компиляции:

Конкретные заголовки конфигурации проекта также могут быть предоставлены. Поместите эти файлы в каталог проекта - не размещайте их в репозитории OpenWeave. Используйте соответствующий параметр конфигурации, чтобы указать местоположение каждого файла во время настройки:

Заголовочный файл Вариант конфигурации
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

Например, чтобы настроить OpenWeave для использования специфичного для WeaveProjectConfig.h файла WeaveProjectConfig.h расположенного в ~/my-project/headers :

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