X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Readme.scons.txt;h=56f5f026f592d922e34c2d11306490bee6ebbb88;hb=00ea712a521f27b69f55e9a5a54bb3a2b486150f;hp=ff468a1e6f4724a660f16cd8bf6a694498a9c6f5;hpb=3e8beea9441aabdab1a70f03848d0491619f34cd;p=platform%2Fupstream%2Fiotivity.git diff --git a/Readme.scons.txt b/Readme.scons.txt index ff468a1..56f5f02 100644 --- a/Readme.scons.txt +++ b/Readme.scons.txt @@ -1,11 +1,14 @@ == Quick guide: build and run IoTivity projects on Ubuntu == 1. Build - Go to the top directory of 'iotivity' project(Note: should always run 'scons' -command in this directory) + Go to the top directory of 'iotivity' project(Note: should always run 'scons' + command in this directory) + + Install build tools: + $ sudo apt-get install git-core scons ssh build-essential g++ doxygen valgrind Install external libraries: - $ sudo apt-get install libboost-dev libboost-program-options-dev libboost-thread-dev uuid-dev libssl-dev libtool + $ sudo apt-get install libboost-dev libboost-program-options-dev libboost-thread-dev uuid-dev libssl-dev libtool libglib2.0-dev Build release binaries: $ scons @@ -133,39 +136,137 @@ tool isn't installed. An message will be displayed, please follow the message to skip it. -=== Build IoTivity project on Linux(Ubuntu) === +=== Build IoTivity project === -1. Build IoTivity project for Linux - $ cd - $ sudo apt-get install libboost-dev libboost-thread-dev libssl-dev libtool - $ scons +Linux: + * Possible values for are: ALL, IP, BLE + +1. Go to root directory + $ cd + $ sudo apt-get install libboost-dev libboost-thread-dev libssl-dev libtool + +2. Execute following command(s) to start build based on transport selection required + + -> Building for all transports : + $ scons TARGET_OS=linux TARGET_TRANSPORT=ALL + + -> Building for a specific transport : + $ scons TARGET_OS=linux TARGET_TRANSPORT=IP + + -> Building for multiple transports : + $ scons TARGET_OS=linux TARGET_TRANSPORT=IP,BLE TARGET_ARCH=xxx + + -> Clean Build (all transports) : + $ scons TARGET_OS=linux TARGET_TRANSPORT=ALL -c (for clean) + +Android: + * Possible values for are: ALL, IP, BT, BLE + * Possible values for are: x86, armeabi, armeabi-v7a, armeabi-v7a-hard + (To see all of its allowed value, please execute command 'scons TARGET_OS=android -Q -h') + +1. Go to root directory + $ cd + +2. Execute following command(s) to start build based on transport selection required + + -> Building for all transports : + $ scons TARGET_OS=android TARGET_TRANSPORT=ALL TARGET_ARCH=xxx -2. Build IoTivity project for Android - $ cd - $ scons TARGET_OS=android TARGET_ARCH=xxx -(xxx can be x86, armeabi, armeabi-v7a, armeabi-v7a-hard. To see all of its -allowed value, please execute command 'scons TARGET_OS=android -Q -h') - -3. Build IoTivity project for Arduino - $ cd - $ sudo apt-get install dos2unix - $ scons TARGET_OS=arduino TARGET_ARCH=xxx BOARD=yyy SHIELD=zzz -(xxx can be avr, arm; yyy is the name of the board, zzz is the shield type, to -get allowed values run: scons TARGET_OS=arduino TARGET_ARCH=xxx SHIELD=zzz -h. + -> Building for a specific transport : + $ scons TARGET_OS=android TARGET_TRANSPORT=IP TARGET_ARCH=xxx + + -> Building for multiple transports : + $ scons TARGET_OS=android TARGET_TRANSPORT=IP,BT,BLE TARGET_ARCH=xxx + + -> Clean Build (all transports) : + $ scons TARGET_OS=android TARGET_TRANSPORT=ALL -c (for clean) + +Tizen: + * Possible values for are: ALL, IP, BT, BLE + + 1. Go to root directory + $ cd + + 2. Execute following command(s) to start build based on transport selection required + + -> Building for all transports : + $ scons TARGET_OS=tizen TARGET_TRANSPORT=ALL + + -> Building for a specific transport : + $ scons TARGET_OS=tizen TARGET_TRANSPORT=IP + + -> Building for multiple transports : + $ scons TARGET_OS=tizen TARGET_TRANSPORT=IP,BT,BLE TARGET_ARCH=xxx + + -> Clean Build (all transports) : + $ scons TARGET_OS=tizen TARGET_TRANSPORT=ALL -c (for clean) + +(we provide the spec file required by gbs tool at toools/tizen directory. +gbs is default build tool for Tizen platform, we can refer the following +wiki to setup Tizen development environment: +https://source.tizen.org/documentation/developer-guide/getting-started-guide) + +Arduino: + * Possible values for are: IP, BLE + * Possible values for are: arv, arm + (arv: arduino due, arm: arduino mega) + * Possible values for are: arduino_due_x_dbg, arduino_due_x, mega + * Possible values for are: ETH, WIFI + (It is required in the case of the arduino due.) + + 1. Go to root directory + $ cd + $ sudo apt-get install dos2unix + + 2. Execute following command(s) to start build based on transport selection required + + -> Building for a specific transport : + $ scons TARGET_OS=arduino TARGET_ARCH=xxx BOARD=yyy SHIELD=zzz + +(To get allowed values run: scons TARGET_OS=arduino TARGET_ARCH=xxx SHIELD=zzz -h. You may see a option 'CPU' in the output of above command line, that's due to some boards have different processors, to specify the processor, add 'CPU=zzz' in the command line. If no 'CPU' option exists, that means the board only support one kind of processor, it's unnecessary to specify it) -4. Build Iotivity project for Tizen - $ cd - $ sh gbsbuild.sh -(we provide the spec file required by gbs tool at toools/tizen directory. -gbs is default build tool for Tizen platfrom, we can refer the following -wiki to setup Tizen development environment: -https://source.tizen.org/documentation/developer-guide/getting-started-guide) +Mac OSX: + * Possible values for are: OSX version, e.g. 10.9 + + 1. Go to root directory + $ cd -Note: Currently most IoTivity project doesn't support Windows, so you can't set + 2. Execute following command(s) to start build based on transport selection required + + -> Building for a specific transport : + $ scons SYS_VERSION=yyy + +IOS: + * Possible values for are: i386, x86_64, armv7, armv7s, arm64 + * Possible values for are: IOS version, e.g. 7.0 + + 1. Go to root directory + $ cd + + 2. Execute following command(s) to start build based on transport selection required + + -> Building for a specific transport : + $ scons TARGET_OS=ios TARGET_ARCH=xxx SYS_VERSION=yyy + +* Additional options + * VERBOSE=true or false (Show compilation) + * RELEASE=true or false (Build for release?) + * LOGGING=true or false (Enable stack logging) + * SECURED=1 or 0 (Build with DTLS) + * TEST=1 or 0 (Run unit tests) + * SECURED=1 or 0 (Build with DTLS) + * BUILD_SAMPLE=ON or OFF (Build with sample) + * ROUTING=GW or EP (Enable routing) + * WITH_TCP=true or false (Enable CoAP over TCP Transport, arduino is not supported) + * WITH_RA=true or false (Build with Remote Access module) + * WITH_RD=1 or 0 (Build including Resource Directory) + * SIMULATOR=true or false (Build with simulator module) + +Note1: Currently most IoTivity project doesn't support Windows, so you can't set TARGET_OS to 'windows' except the project support Windows. That's to say if the project doesn't support Windows, run: @@ -174,25 +275,7 @@ or run on Windows $ scons may always fail. - -=== Build IoTivity project on Mac OSX === - -1. Build IoTivity project for Mac OSX - $ cd - $ scons SYS_VERSION=yyy -(yyy is the OSX version, e.g. 10.9) - -2. Build IoTivity project for Android(It's the same as on Ubuntu) - $ cd - $ scons TARGET_OS=android TARGET_ARCH=xxx -(xxx can be x86, armeabi, armeabi-v7a, armeabi-v7a-hard) - -3. Build IoTivity project for IOS - $ cd - $ scons TARGET_OS=ios TARGET_ARCH=xxx SYS_VERSION=yyy -(xxx can be i386, x86_64, armv7, armv7s, arm64, yyy is IOS version, e.g. 7.0) - -Note: +Note2: 1) for convenience, a script (auto_build.sh) is provided to run possible build at once. Following is the usage: