command in this directory)
Install external libraries:
- $ sudo apt-get install libboost-dev libboost-program-options-dev libexpat1-dev libboost-thread-dev
+ $ sudo apt-get install libboost-dev libboost-program-options-dev libexpat1-dev libboost-thread-dev uuid-dev libssl-dev
Build release binaries:
$ scons
-(Note: C++ sdk requires cereal. Please follow the instruction in the build
-message to install cereal)
+(Note: C sdk requires tiny-cbor. Please follow the instruction in the build
+message to install tiny-cbor)
Build debug binaries:
$scons RELEASE=false
Arduino:
To build for Arduino, Arduino IDE is required.
Arduino IDE: http://arduino.cc/en/Main/Software
- (Note: recommend install Arduino IDE >=1.5.7)
+ (Note: recommend install Arduino IDE >=1.5.8)
Arduino builds are dependent on latest Time library. Download it from here:
http://www.pjrc.com/teensy/td_libs_Time.html
so you don't need to add it in command line each time. The build script will
guide you to do that.)
+Tizen:
+To build for tizen platform tiny-cbor library is needed.
+Please download tiny-cbor if it is not present in extlibs/tiny-cbor folder
+by doing the following:
+ $ git clone https://github.com/01org/tinycbor.git extlibs/tinycbor/tinycbor
+
+
* 3. External libraries
IoTivity project depends on some external libraries, such as boost, expat ...
During building, the existence of external library will be checked, if it doesn't
1. Build IoTivity project for Linux
$ cd <top directory of the project>
- $ sudo apt-get install libboost-dev libexpat1-dev libboost-thread-dev
+ $ sudo apt-get install libboost-dev libexpat1-dev libboost-thread-dev libssl-dev
$ scons
2. Build IoTivity project for Android
3. Build IoTivity project for Arduino
$ cd <top directory of the project>
- $ scons TARGET_OS=arduino TARGET_ARCH=xxx BOARD=yyy
-(xxx can be avr, arm; yyy is the name of the board, to get its allowed value
-run: scons TARGET_OS=arduino TARGET_ARCH=xxx -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)
+ $ 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.
+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 <top directory of the project>
- $ gbs build -A xxx --packaging-dir tools/tizen/
-(xxx can be i586 or armv7l, 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:
+ $ 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)
-=== Build IoTivity project on Windows ===
-
-1. Build IoTivity project for Android(It's the same as on Ubuntu)
- $ cd <top directory of the project>
- $ scons TARGET_OS=android TARGET_ARCH=xxx
-(xxx can be x86, armeabi, armeabi-v7a, armeabi-v7a-hard ...)
-
-2. Build IoTivity project for Arduino(It's the same as on Ubuntu)
- $ cd <top directory of the project>
- $ scons TARGET_OS=arduino TARGET_ARCH=xxx BOARD=yyy
-(xxx can be avr, arm; yyy is the name of the board, to get its allowed value
-run: scons TARGET_OS=arduino TARGET_ARCH=xxx -h. You may see a option 'CPU' in
-the output of above command line, that's due to some boards have different
-processor, 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)
-
-
Note: Currently most IoTivity project doesn't support Windows, so you can't set
TARGET_OS to 'windows' except the project support Windows.
at once. Following is the usage:
To build:
- $ auto_build.sh <path-to-android-ndk> <path-to-arduino-home>
+ $ auto_build.sh <path-to-android-ndk>
To clean:
$ auto_build.sh -c
-
-2) For Arduino build, the Time library should >=1.3. The old can only be built
-with Arduino IDE 1.0.x