$ 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 libglib2.0-dev
+ $ sudo apt-get install libboost-dev libboost-program-options-dev libboost-thread-dev uuid-dev libssl-dev libtool libglib2.0-dev libcap-dev libcurl4-openssl-dev autotools-dev autoconf
Build release binaries:
$ scons
('<iotivity>' is the path to 'iotivity' project. If your device is x86, arm,
or arm64, please change 'x86_64' to the proper arch)
+3. To build and test IoTivity with Security enabled (required for certification)
+follow the instructions found in:
+ <iotivity>/resource/csdk/security/README-building-and-running-secure-IoTivity-stack.txt
+
== How to build IoTivity projects ==
IoTivity includes a series of projects. You can find all these projects here:
* 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)
* RD_MODE=CLIENT or SERVER (Build including Resource Directory)
* SIMULATOR=true or false (Build with simulator module)
* Possible values for <WITH_MQ> are: PUB,SUB,BROKER (Build including Message Queue)
-> PUB : publisher, SUB : subscriber, BROKER : MQ broker(not supported yet)
+ * LOG_LEVEL=DEBUG or INFO or WARNING or ERROR or FATAL
+ (select log level to print, LOGGING option should be true)
+ ex) LOG_LEVEL=DEBUG : All logs including DEBUG, INFO, WARNING, ERROR, FATAL level is printed.
+ LOG_LEVEL=INFO : The logs including INFO, WARNING, ERROR, FATAL level is printed.
+ LOG_LEVEL=WARNING : The logs including WARNING, ERROR, FATAL level is printed.
+ LOG_LEVEL=ERROR : The logs including ERROR, FATAL level is printed.
+ LOG_LEVEL=FATAL : FATAL level is printed.
+ Log entries that have the OC_LOG_PRIVATE_DATA bit set, in addition to DEBUG, INFO, WARNING,
+ ERROR, or FATAL, contain confidential information and therefore are not printed by default.
+ The application has to call OCSetLogLevel() to enable printing of private information in the
+ log.
Note:
1) for convenience, a script (auto_build.sh) is provided to run possible build