Chuỗi công cụ chính được hỗ trợ để xây dựng OpenWeave là GNU Autotools.
Yêu cầu hệ thống
Tất cả các nền tảng hệ điều hành chính đều hỗ trợ xây dựng và biên dịch chéo OpenWeave. Các công cụ trong danh sách đã được Nest chính thức thử nghiệm.
Linux | ||||||
---|---|---|---|---|---|---|
Yêu cầu: Ubuntu 14.04 (Trusty) được hỗ trợ chính thức, nhưng bất kỳ hệ thống dựa trên Linux tương tự nào cũng sẽ hoạt động. | ||||||
Các liên kết C / C ++, Java, Python |
| |||||
C / C ++, liên kết Java |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
Yêu cầu: XQuartz để sao chép một cây con thư mục này sang một thư mục khác với các liên kết tượng trưng. | ||||||
C / C ++, liên kết cacao |
| |||||
C / C ++, liên kết Python |
|
các cửa sổ | ||||||
---|---|---|---|---|---|---|
Yêu cầu: Cygwin để hỗ trợ dòng lệnh Linux. | ||||||
Liên kết C / C ++ |
|
Nhúng | ||||||
---|---|---|---|---|---|---|
Liên kết C / C ++ |
|
Điều kiện tiên quyết
Ngoài chuỗi công cụ được hỗ trợ, chúng tôi khuyên bạn nên cài đặt các gói và công cụ sau trước khi xây dựng OpenWeave.
Các gói
Linux:
sudo apt-get install python-pip python-setuptools bridge-utils /
libglib2.0-dev libdbus-1-dev libudev-dev /
libical-dev libreadline-dev
Linux và Mac OS X:
pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomex
sudo cpan -i Text::Template
GNU Autotools
OpenWeave phụ thuộc vào GNU Autotools cho hệ thống xây dựng của nó. Phải có phiên bản GNU Autotools để xây dựng thành công OpenWeave. Để sử dụng phiên bản tự động do hệ thống cung cấp trên Linux:
sudo apt-get install libtool autoconf automake
Đối với các hệ thống mà Công cụ tự động GNU không có sẵn hoặc không thể cài đặt được (ví dụ: Mac OS) hoặc trên các hệ thống mà phiên bản do hệ thống cung cấp không cung cấp một bản dựng hoàn chỉnh chắc chắn, Nest Labs đã tạo một bản dựng tùy chỉnh, chìa khóa trao tay khung hệ thống, dựa trên GNU Autotools. Hệ thống ghim bộ chương trình được sử dụng trong quá trình tạo bản dựng thành một phiên bản tốt đã biết. Việc ghim các công cụ vào một phiên bản cụ thể cũng đảm bảo đầu ra của các công cụ tự động tương đối thấp, do đó dẫn đến trải nghiệm hỗ trợ và nhà phát triển có thể dự đoán được. Bản dựng GNU Autotools của Nest Labs được khuyến nghị sử dụng với OpenWeave.
Để xây dựng Công cụ tự động GNU của Nest Labs:
git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools
Vui mừng
Để chạy các tập lệnh thử nghiệm có trong OpenWeave hoặc để sử dụng Weave trong các cấu trúc liên kết mô phỏng, hãy cài đặt Happy trên máy Linux của bạn. Xem Thiết lập hạnh phúc để biết thêm thông tin.
Ứng dụng độc lập
Sử dụng ứng dụng OpenWeave Standalone mặc định cho máy chủ phát triển máy tính để bàn hoặc máy chủ.
- Sao chép kho lưu trữ OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Xây dựng ứng dụng OpenWeave Standalone:
cd openweave-core
make -f Makefile-Standalone
Sử dụng cờ help
với Makefile-Standalone
để tìm hiểu những công tắc bản dựng nào có sẵn để tùy chỉnh bản dựng.
make -f Makefile-Standalone help
Ví dụ: để bật mã gỡ lỗi Weave và ghi nhật ký:
make -f Makefile-Standalone DEBUG=1
Liên kết dự án
- Sao chép kho lưu trữ OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- Định cấu hình môi trường xây dựng cho GNU Autotools:
cd openweave-core
./bootstrap
./configure
- Xây dựng OpenWeave:
make all
- Đưa đầu ra đến một vị trí riêng biệt để liên kết dự án:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
Sau khi dàn dựng, hãy sử dụng các thư mục trong <openweave-output>
để liên kết dự án:
-
/usr/local/include
- tiêu đề công khai -
/usr/local/lib
- thư viện
Android và iOS
Để xây dựng thư viện cho liên kết dự án Android và iOS, hãy sử dụng Makefiles
dành riêng cho nền tảng:
make -f Makefile-Android
make -f Makefile-iOS
Sử dụng cờ help
với Makefile- <platform>
để tìm hiểu những công tắc bản dựng nào có sẵn để tùy chỉnh bản dựng. Ví dụ:
make -f Makefile-Android help
make -f Makefile-iOS help
Cấu hình
Trước khi định cấu hình OpenWeave với các tập lệnh và tiêu đề khác nhau, hãy sử dụng công cụ tự động để khởi động các tệp xây dựng có liên quan:
./bootstrap
Bước này cần phải được thực hiện một lần, sau một kiểm tra cây, và sau đó trên bất kỳ thay đổi nào configure.ac
hoặc Makefile.am
. Nó không cần phải lặp lại khi chỉ cần thay đổi cấu hình hoặc mục tiêu xây dựng.
Tập lệnh
Sử dụng cờ --help
với tập lệnh cấu hình đi kèm để tìm hiểu thêm về các tùy chọn có thể định cấu hình.
./configure --help
Ví dụ: để định cấu hình OpenWeave mà không hỗ trợ BlueZ:
./configure --without-bluez
Tiêu đề
Các tệp Makefiles
kèm sử dụng hai tệp tiêu đề xác định các hằng số tại thời điểm biên dịch:
Tiêu đề cấu hình cụ thể của dự án cũng có thể được cung cấp. Đặt các tệp này vào thư mục dự án của bạn — không đặt chúng trong kho lưu trữ OpenWeave. Sử dụng tùy chọn cấu hình thích hợp để chỉ định vị trí của từng tệp trong quá trình cấu hình:
Tập tin tiêu đề | Tùy chọn cấu hình |
---|---|
InetProjectConfig.h | --with-weave-inet-project-includes= <directory> |
WeaveProjectConfig.h | --with-weave-project-includes= <directory> |
Ví dụ: để định cấu hình OpenWeave để sử dụng tệp WeaveProjectConfig.h
dành riêng cho dự án nằm trong ~/my-project/headers
:
./configure --with-weave-project-includes=~/my-project/headers