Основным поддерживаемым набором инструментов для создания OpenWeave является GNU Autotools.
Системные Требования
Все основные платформы ОС поддерживают сборку и кросс-компиляцию OpenWeave. Перечисленные наборы инструментов были официально протестированы Nest.
линукс | ||||||
---|---|---|---|---|---|---|
Требования: Ubuntu 14.04 (Trusty) официально поддерживается, но любая аналогичная система на базе Linux должна работать. | ||||||
Связки C/C++, Java, Python |
| |||||
C/C++, привязки Java |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Требования: XQuartz для клонирования одного поддерева каталогов в другое с символическими ссылками. | ||||||
C/C++, привязки какао |
| |||||
C/C++, привязки Python |
|
Окна | ||||||
---|---|---|---|---|---|---|
Требования: Cygwin для поддержки командной строки Linux. | ||||||
Привязки C/C++ |
|
Встроенный | ||||||
---|---|---|---|---|---|---|
Привязки C/C++ |
|
Предпосылки
В дополнение к поддерживаемой цепочке инструментов мы рекомендуем установить следующие пакеты и инструменты перед сборкой OpenWeave.
Пакеты
Линукс:
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
OpenWeave зависит от GNU Autotools для своей системы сборки. Для успешной сборки OpenWeave должна быть доступна версия GNU Autotools. Чтобы использовать системную версию 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 .
Автономное приложение
Используйте стандартное приложение OpenWeave Standalone для настольного или серверного узла разработки.
- Клонируйте репозиторий OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Создайте автономное приложение OpenWeave:
cd openweave-core
make -f Makefile-Standalone
Используйте флаг help
с Makefile-Standalone
, чтобы узнать, какие параметры сборки доступны для настройки сборки.
make -f Makefile-Standalone help
Например, чтобы включить отладочный код и ведение журнала Weave:
make -f Makefile-Standalone DEBUG=1
Связывание проекта
- Клонируйте репозиторий OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Настройте среду сборки для GNU Autotools:
cd openweave-core
./bootstrap
./configure
- Сборка OpenWeave:
make all
- Переместите вывод в отдельное место для связывания проекта:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
После подготовки используйте каталоги в разделе <openweave-output>
для связывания проекта:
-
/usr/local/include
— публичные заголовки -
/usr/local/lib
— библиотеки
Android и iOS
Чтобы собрать библиотеки для связывания проектов Android и iOS, используйте 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
для конкретного проекта, расположенного в ~/my-project/headers
:
./configure --with-weave-project-includes=~/my-project/headers
,Основным поддерживаемым набором инструментов для создания OpenWeave является GNU Autotools.
Системные Требования
Все основные платформы ОС поддерживают сборку и кросс-компиляцию OpenWeave. Перечисленные наборы инструментов были официально протестированы Nest.
линукс | ||||||
---|---|---|---|---|---|---|
Требования: Ubuntu 14.04 (Trusty) официально поддерживается, но любая аналогичная система на базе Linux должна работать. | ||||||
Связки C/C++, Java, Python |
| |||||
C/C++, привязки Java |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Требования: XQuartz для клонирования одного поддерева каталогов в другое с символическими ссылками. | ||||||
C/C++, привязки какао |
| |||||
C/C++, привязки Python |
|
Окна | ||||||
---|---|---|---|---|---|---|
Требования: Cygwin для поддержки командной строки Linux. | ||||||
Привязки C/C++ |
|
Встроенный | ||||||
---|---|---|---|---|---|---|
Привязки C/C++ |
|
Предпосылки
В дополнение к поддерживаемой цепочке инструментов мы рекомендуем установить следующие пакеты и инструменты перед сборкой OpenWeave.
Пакеты
Линукс:
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
OpenWeave зависит от GNU Autotools для своей системы сборки. Для успешной сборки OpenWeave должна быть доступна версия GNU Autotools. Чтобы использовать системную версию 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 .
Автономное приложение
Используйте стандартное приложение OpenWeave Standalone для настольного или серверного узла разработки.
- Клонируйте репозиторий OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Создайте автономное приложение OpenWeave:
cd openweave-core
make -f Makefile-Standalone
Используйте флаг help
с Makefile-Standalone
, чтобы узнать, какие параметры сборки доступны для настройки сборки.
make -f Makefile-Standalone help
Например, чтобы включить отладочный код и ведение журнала Weave:
make -f Makefile-Standalone DEBUG=1
Связывание проекта
- Клонируйте репозиторий OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Настройте среду сборки для GNU Autotools:
cd openweave-core
./bootstrap
./configure
- Сборка OpenWeave:
make all
- Переместите вывод в отдельное место для связывания проекта:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
После подготовки используйте каталоги в разделе <openweave-output>
для связывания проекта:
-
/usr/local/include
— публичные заголовки -
/usr/local/lib
— библиотеки
Android и iOS
Чтобы собрать библиотеки для связывания проектов Android и iOS, используйте 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
для конкретного проекта, расположенного в ~/my-project/headers
:
./configure --with-weave-project-includes=~/my-project/headers