Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

OpenWeave 빌드

OpenWeave 빌드를 위해 지원되는 기본 도구 체인은 GNU Autotools입니다.

시스템 요구 사항

모든 주요 OS 플랫폼은 OpenWeave의 빌드 및 교차 컴파일을 지원합니다. 나열된 도구 모음은 Nest에서 공식적으로 테스트했습니다.

리눅스

요구 사항 : 우분투 14.04 (트러스티)는 공식적으로 지원되지만 유사한 리눅스 기반 시스템이 작동합니다.
C/C++, Java, Python 바인딩
도구 모음 gcc 4.6.3
대상 i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C/C++, 자바 바인딩
도구 모음 gcc 4.6
대상 arm-unknown-linux-android
armv7-unknown-linux-android
i386-unknown-linux-android

맥 OS X

요구 사항 : XQuartz 기호 링크 다른 하나 개의 디렉토리의 서브 트리를 복제합니다.
C/C++, 코코아 바인딩
대상 armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C/C++, 파이썬 바인딩
도구 모음 LLVM/clang 3.5(6.0)
대상 i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

요구 사항 : Cygwin에서 리눅스 명령 줄 지원.
C/C++ 바인딩
도구 모음 gcc 4.8.3
대상 i686-pc-cygwin

임베디드

C/C++ 바인딩
도구 모음 gcc 4.4.1
LLVM/clang 3.1
LLVM/clang 3.3
대상 arm*-알 수 없음-linux*
arm*-알 수 없음-freertos-lwip

전제 조건

지원되는 도구 모음 외에도 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 버전을 사용할 수 있어야 합니다. Linux에서 시스템 제공 버전의 autotools를 사용하려면:

sudo apt-get install libtool autoconf automake

GNU Autotools를 쉽게 사용할 수 없거나 설치할 수 없는 시스템(예: Mac OS) 또는 시스템 제공 버전이 견고한 기본 빌드 생성을 제공하지 않는 시스템의 경우 Nest Labs는 맞춤형 턴키 빌드를 만들었습니다. GNU Autotools를 기반으로 하는 시스템 프레임워크. 시스템은 빌드 생성에 사용된 프로그램 세트를 알려진 양호한 버전으로 고정합니다. 도구를 특정 버전에 고정하면 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 독립 실행형 애플리케이션을 사용하십시오.

  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 - 라이브러리

안드로이드와 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를 구성하기 전에 autotools를 사용하여 관련 빌드 파일을 부트스트랩합니다.

./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