Here's an example use case: “You want to add full support for BLE on Arduino using SCons in the IoTivity Repo” To do so, you would simply do the following. (Note: This is based of email correspondence of this exact use case and full support for BLE on Arduino using SCons hasn't been tied up yet as of May 18th.)
To build BLE for Arduino, you may build for the Arduino ATMega 2560 or Arduino Due at this time. You can may specify the following (Append '-h' to the following scons command see all other available options, but please note that only “mega” and “arduino_due_x”/“arduino_due_x_dbg” are the only supported “BOARD” options when building for Arduino) at the root of the repo:
NOTE: This will not result in a successful build. However, it will download & install the appropriate BLE libraries, configure them, and apply our patches to those BLE libraries. The core stack is still undergoing work to provide full BLE support. Once this script finishes and the resulting build fails, you will see the BLE libraries that were downloaded & patched (at iotivity/extlibs/arduino/arduino-1.5.8/libraries).
scons TARGET_OS=arduino BOARD=mega TARGET_TRANSPORT=BLE
To add support for another shield or board, you will need to start by reading iotivity/scons_script_how_to.txt & iotivity/Readme.scons.txt for general scons information wrt. IoTivity. After this, you may want to start by looking into the following scons files(in this order): - iotivity/SConstruct - iotivity/arduino.scons - iotivity/build_common/SConscript - iotivity/build_common/arduino/SConscript - iotivity/extlibs/arduino/SConscript
To find what we've based these SConscript's off of, please see iotivity/resource/csdk/connectivity/build/arduino/Arduino_Setup_README.txt.
If you find anything here is missing in description or definition, please take note and reply to me (Joey Morrow email@example.com). I would like to document and fix any issues an end user may find now.