构建 OpenWeave 的主要支持工具链是 GNU Autotools。
系统要求
所有主要的操作系统平台都支持 OpenWeave 的构建和交叉编译。列出的工具链已由 Nest 正式测试。
Linux | ||||||
---|---|---|---|---|---|---|
要求:Ubuntu的14.04(忠实的)官方支持,但任何类似的基于Linux的系统应该工作。 | ||||||
C/C++、Java、Python 绑定 |
| |||||
C/C++、Java 绑定 |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
要求: XQuartz克隆一个目录树到另一个符号链接。 | ||||||
C/C++、Cocoa 绑定 |
| |||||
C/C++、Python 绑定 |
|
视窗 | ||||||
---|---|---|---|---|---|---|
要求: Cygwin的用于Linux的命令行支持。 | ||||||
C/C++ 绑定 |
|
嵌入式 | ||||||
---|---|---|---|---|---|---|
C/C++ 绑定 |
|
先决条件
除了支持的工具链之外,我们建议在构建 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自动工具
OpenWeave 的构建系统依赖于 GNU Autotools。必须有一个 GNU Autotools 版本才能成功构建 OpenWeave。在 Linux 上使用系统提供的 autotools 版本:
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,请在您的 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自动工具:
cd openweave-core
./bootstrap
./configure
- 构建OpenWeave:
make all
- 级的输出到不同的地点供项目链接:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
升级后,使用目录下<openweave-output>
项目链接:
-
/usr/local/include
-公共标题 /usr/local/lib
-库
安卓和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
例如,要在不支持 BlueZ 的情况下配置 OpenWeave:
./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