Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

OpenWeave 빌드

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

시스템 요구 사항

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

리눅스

요구 사항 : Ubuntu 14.04 (Trusty)가 공식적으로 지원되지만 유사한 Linux 기반 시스템이 작동해야합니다.
C / C ++, Java, Python 바인딩
툴체인 gcc 4.6.3
목표 i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C / C ++, Java 바인딩
툴체인 gcc 4.6
목표 arm-unknown-linux-android
armv7-unknown-linux-android
i386-unknown-linux-android

맥 OS X

요구 사항 : 심볼릭 링크를 사용하여 한 디렉토리 하위 트리를 다른 디렉토리로 복제하기위한 XQuartz .
C / C ++, Cocoa 바인딩
목표 armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
C / C ++, Python 바인딩
툴체인 LLVM / clang 3.5 (6.0)
목표 i386- 애플-다윈 -macosx
x86_64- 애플-다윈 -macosx

윈도우

요구 사항 : Linux 명령 줄 지원을위한 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 * -unknown-linux *
arm * -unknown-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 Autotools

OpenWeave는 빌드 시스템을 위해 GNU Autotools에 의존합니다. OpenWeave를 성공적으로 빌드하려면 GNU Autotools 버전을 사용할 수 있어야합니다. 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 애플리케이션을 사용합니다.

  1. OpenWeave 저장소 복제 :
    git clone https://github.com/openweave/openweave-core.git
  2. OpenWeave Standalone 애플리케이션 빌드 :
    cd openweave-core
    make -f Makefile-Standalone

Makefile-Standalonehelp 플래그를 사용하여 빌드 사용자 정의에 사용할 수있는 빌드 스위치를 알아보십시오.

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 사용하십시오.

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

Makefile- <platform> 에서 help 플래그를 사용하여 빌드 사용자 정의에 사용할 수있는 빌드 스위치를 알아보십시오. 예를 들면 :

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>

예를 들어 ~/my-project/headers 있는 프로젝트 별 WeaveProjectConfig.h 파일을 사용하도록 OpenWeave를 구성하려면 다음을 WeaveProjectConfig.h 하십시오.

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