From eb27e53ba9b038aa1808e8ed9aa2163ec230fce9 Mon Sep 17 00:00:00 2001 From: Pawel Winogrodzki Date: Mon, 20 Feb 2017 00:08:45 -0800 Subject: [PATCH] IOT-1583: Preparing connectivity scons script for /W3 changes (part 1). First batch of changes connectivity scons scripts to allow enabling of /W3 level warnings for the connectivity directory only. This change makes sure the connectivity Environment variable is separated from the global "env", so it only modifies the way connectivity is built. Change-Id: I76e9f742bb462b8b9dd6c5c26e07d9c553d70446 Signed-off-by: Pawel Winogrodzki Reviewed-on: https://gerrit.iotivity.org/gerrit/17367 Tested-by: jenkins-iotivity Reviewed-by: Dan Mihai Reviewed-by: Ashok Babu Channa --- build_common/SConscript | 124 ++++++++++++- cloud/samples/client/SConscript | 29 ++-- java/jni/SConscript | 2 +- plugins/src/SConscript | 1 + resource/csdk/connectivity/SConscript | 88 +--------- resource/csdk/connectivity/common/SConscript | 46 ++--- resource/csdk/connectivity/src/SConscript | 193 +++++++++------------ .../connectivity/src/bt_edr_adapter/SConscript | 36 +--- .../src/bt_edr_adapter/android/SConscript | 18 +- .../src/bt_edr_adapter/tizen/SConscript | 26 +-- .../csdk/connectivity/src/bt_le_adapter/SConscript | 34 +--- .../src/bt_le_adapter/android/SConscript | 20 ++- .../src/bt_le_adapter/arduino/SConscript | 16 +- .../src/bt_le_adapter/linux/SConscript | 34 ++-- .../src/bt_le_adapter/tizen/SConscript | 21 +-- .../csdk/connectivity/src/ip_adapter/SConscript | 57 ++---- .../connectivity/src/ip_adapter/android/SConscript | 14 +- .../connectivity/src/ip_adapter/arduino/SConscript | 27 +-- .../connectivity/src/ip_adapter/tizen/SConscript | 10 +- .../connectivity/src/ip_adapter/windows/SConscript | 12 -- .../csdk/connectivity/src/nfc_adapter/SConscript | 34 +--- .../src/nfc_adapter/android/SConscript | 10 +- .../csdk/connectivity/src/ra_adapter/SConscript | 14 +- .../csdk/connectivity/src/tcp_adapter/SConscript | 40 ++--- .../src/tcp_adapter/arduino/SConscript | 17 +- resource/csdk/connectivity/test/SConscript | 51 +++--- resource/csdk/connectivity/util/SConscript | 57 +++--- resource/csdk/resource-directory/SConscript | 18 +- .../csdk/resource-directory/samples/SConscript | 1 + .../csdk/resource-directory/unittests/SConscript | 1 + resource/csdk/security/SConscript | 3 +- resource/examples/SConscript | 104 +++++------ .../provisioning/examples/provisioningclient.cpp | 2 +- resource/src/SConscript | 1 + .../mediator/richsdk/src/EnrolleeSecurity.cpp | 2 +- .../easy-setup/sampleapp/enrollee/linux/SConscript | 7 +- service/notification/SConscript | 9 +- .../notification/cpp-wrapper/provider/SConscript | 1 + service/notification/examples/linux/SConscript | 9 +- service/resource-encapsulation/SConscript | 2 +- 40 files changed, 547 insertions(+), 644 deletions(-) delete mode 100644 resource/csdk/connectivity/src/ip_adapter/windows/SConscript diff --git a/build_common/SConscript b/build_common/SConscript index 06c6cd8..5f3f64c 100644 --- a/build_common/SConscript +++ b/build_common/SConscript @@ -375,6 +375,126 @@ pc_vars = { env.Substfile(pc_file, SUBST_DICT = pc_vars) ###################################################################### +# Setting global CPPDEFINES +###################################################################### +target_transport = env.get('TARGET_TRANSPORT') +with_mq = env.get('WITH_MQ') +with_ra = env.get('WITH_RA') +with_tcp = env.get('WITH_TCP') +rd_mode = env.get('RD_MODE') +with_ra_ibb = env.get('WITH_RA_IBB') + +if (env.get('WITH_UPSTREAM_LIBCOAP') == '1'): + env.AppendUnique(CPPDEFINES = ['WITH_UPSTREAM_LIBCOAP']) + +if (target_os not in ['arduino', 'windows']): + env.AppendUnique(CPPDEFINES = ['WITH_POSIX']) + +if (target_os in ['darwin','ios']): + env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE']) + +if (env.get('SECURED') == '1'): + env.AppendUnique(CPPDEFINES = ['__WITH_DTLS__']) + +if ((env.get('SECURED') == '1') and with_tcp): + env.AppendUnique(CPPDEFINES = ['__WITH_TLS__']) + +if (env.get('MULTIPLE_OWNER') == '1'): + env.AppendUnique(CPPDEFINES=['MULTIPLE_OWNER']) + +if (env.get('ROUTING') == 'GW'): + env.AppendUnique(CPPDEFINES = ['ROUTING_GATEWAY']) +elif (env.get('ROUTING') == 'EP'): + env.AppendUnique(CPPDEFINES = ['ROUTING_EP']) + +if (target_os == 'arduino'): + env.AppendUnique(CPPDEFINES = ['SINGLE_THREAD']) + env.AppendUnique(CPPDEFINES = ['WITH_ARDUINO']) +elif (('IP' in target_transport) or ('ALL' in target_transport)): + env.AppendUnique(CPPDEFINES = ['WITH_BWT']) + +if (target_os in ['linux', 'tizen', 'android'] and with_tcp): + env.AppendUnique(CPPDEFINES = ['WITH_TCP']) + +if (target_os in ['linux', 'tizen', 'android', 'arduino', 'ios']): + if (('BLE' in target_transport) or ('BT' in target_transport) or ('ALL' in target_transport)): + env.AppendUnique(CPPDEFINES = ['WITH_TCP']) + +if 'ALL' in target_transport: + if with_ra: + env.AppendUnique(CPPDEFINES = ['RA_ADAPTER']) + if with_tcp: + env.AppendUnique(CPPDEFINES = ['TCP_ADAPTER']) + if (target_os in ['linux']): + env.AppendUnique(CPPDEFINES = ['IP_ADAPTER', 'NO_EDR_ADAPTER', 'LE_ADAPTER']) + elif (target_os == 'android'): + env.AppendUnique(CPPDEFINES = ['IP_ADAPTER', 'EDR_ADAPTER', 'LE_ADAPTER', 'NFC_ADAPTER']) + elif (target_os in['darwin', 'ios', 'msys_nt', 'windows']): + env.AppendUnique(CPPDEFINES = ['IP_ADAPTER', 'NO_EDR_ADAPTER', 'NO_LE_ADAPTER']) + else: + env.AppendUnique(CPPDEFINES = ['IP_ADAPTER', 'EDR_ADAPTER', 'LE_ADAPTER']) +else: + if ('BT' in target_transport): + if (target_os == 'linux'): + print "CA Transport BT is not supported " + Exit(1) + else: + env.AppendUnique(CPPDEFINES = ['EDR_ADAPTER']) + else: + env.AppendUnique(CPPDEFINES = ['NO_EDR_ADAPTER']) + + if ('BLE' in target_transport): + env.AppendUnique(CPPDEFINES = ['LE_ADAPTER']) + else: + env.AppendUnique(CPPDEFINES = ['NO_LE_ADAPTER']) + + if ('IP' in target_transport): + env.AppendUnique(CPPDEFINES = ['IP_ADAPTER']) + else: + env.AppendUnique(CPPDEFINES = ['NO_IP_ADAPTER']) + + if with_tcp: + if (target_os in ['linux', 'tizen', 'android', 'arduino', 'ios', 'windows']): + env.AppendUnique(CPPDEFINES = ['TCP_ADAPTER', 'WITH_TCP']) + else: + print "CA Transport TCP is not supported " + Exit(1) + else: + env.AppendUnique(CPPDEFINES = ['NO_TCP_ADAPTER']) + + if ('NFC' in target_transport): + if (target_os == 'android'): + env.AppendUnique(CPPDEFINES = ['NFC_ADAPTER']) + else: + print "CA Transport NFC is not supported " + Exit(1) + else: + env.AppendUnique(CPPDEFINES = ['NO_NFC_ADAPTER']) + +if ('SUB' in with_mq): + env.AppendUnique(CPPDEFINES = ['MQ_SUBSCRIBER', 'WITH_MQ']) + +if ('PUB' in with_mq): + env.AppendUnique(CPPDEFINES = ['MQ_PUBLISHER', 'WITH_MQ']) + +if ('BROKER' in with_mq): + env.AppendUnique(CPPDEFINES = ['MQ_BROKER', 'WITH_MQ']) + +if env.get('LOGGING'): + env.AppendUnique(CPPDEFINES = ['TB_LOG']) + +if env.get('WITH_CLOUD') and with_tcp: + env.AppendUnique(CPPDEFINES = ['WITH_CLOUD']) + +if 'CLIENT' in rd_mode: + env.AppendUnique(CPPDEFINES = ['RD_CLIENT']) + +if 'SERVER' in rd_mode: + env.AppendUnique(CPPDEFINES = ['RD_SERVER']) + +if with_ra_ibb: + env.AppendUnique(CPPDEFINES = ['RA_ADAPTER_IBB']) +###################################################################### # Link scons to Yocto cross-toolchain ONLY when target_os is yocto ###################################################################### if target_os == "yocto": @@ -427,9 +547,7 @@ if target_os == "yocto": ''' if env.get('RELEASE'): env.AppendUnique(CPPDEFINES = ['NDEBUG']) - if env.get('LOGGING'): - env.AppendUnique(CPPDEFINES = ['TB_LOG']) - env.AppendUnique(CPPDEFINES = ['WITH_POSIX', '__linux__', '_GNU_SOURCE']) + env.AppendUnique(CPPDEFINES = ['__linux__', '_GNU_SOURCE']) env.AppendUnique(CFLAGS = ['-std=gnu99']) env.AppendUnique(CCFLAGS = ['-Wall', '-Wextra', '-fPIC']) env.AppendUnique(LIBS = ['dl', 'pthread', 'uuid']) diff --git a/cloud/samples/client/SConscript b/cloud/samples/client/SConscript index 32e8a1c..a7ce5b9 100644 --- a/cloud/samples/client/SConscript +++ b/cloud/samples/client/SConscript @@ -32,23 +32,24 @@ cc_sample_app_env = lib_env.Clone() # Build flags ###################################################################### # For bring up purposes only, the forked version will live here. -cc_sample_app_env.AppendUnique(CPPPATH = ['../../../resource/csdk/connectivity/lib/libcoap-4.1.1/include', - '../../../extlibs/mbedtls/mbedtls/include']) +cc_sample_app_env.AppendUnique(CPPPATH = ['#/resource/csdk/connectivity/lib/libcoap-4.1.1/include', + '#/extlibs/mbedtls/mbedtls/include']) cc_sample_app_env.AppendUnique(CPPPATH = [ - '../../../resource/include/', - '../../../resource/csdk/resource-directory/include', - '../../../resource/csdk/include', - '../../../resource/csdk/stack/include', - '../../../resource/c_common/ocrandom/include', - '../../../resource/csdk/logger/include', - '../../../resource/oc_logger/include', - '../../../resource/csdk/connectivity/inc', - '../../../resource/csdk/connectivity/api', - '../../../resource/csdk/connectivity/common/inc', - '../../../resource/csdk/security/provisioning/include', - '../../../resource/csdk/security/provisioning/include/internal' + '#/resource/include/', + '#/resource/csdk/resource-directory/include', + '#/resource/csdk/include', + '#/resource/csdk/stack/include', + '#/resource/c_common/ocrandom/include', + '#/resource/csdk/logger/include', + '#/resource/oc_logger/include', + '#/resource/csdk/connectivity/inc', + '#/resource/csdk/connectivity/api', + '#/resource/csdk/connectivity/common/inc', + '#/resource/csdk/security/include', + '#/resource/csdk/security/provisioning/include', + '#/resource/csdk/security/provisioning/include/internal' ]) cc_sample_app_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-Wextra', '-std=c++0x', '-pthread']) diff --git a/java/jni/SConscript b/java/jni/SConscript index 6228e01..997864d 100644 --- a/java/jni/SConscript +++ b/java/jni/SConscript @@ -65,7 +65,7 @@ if target_os not in ['windows', 'winrt']: jni_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')]) jni_env.AppendUnique(RPATH = [env.get('BUILD_DIR')]) -jni_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'connectivity_abstraction']) +jni_env.PrependUnique(LIBS = ['resource_directory', 'oc', 'octbstack', 'oc_logger', 'connectivity_abstraction']) if env.get('SECURED') == '1': jni_env.AppendUnique(CPPDEFINES= ['__WITH_TLS__']) jni_env.PrependUnique(LIBS = ['mbedtls', 'ocprovision', 'ocpmapi']) diff --git a/plugins/src/SConscript b/plugins/src/SConscript index 6cd7097..d3715f1 100644 --- a/plugins/src/SConscript +++ b/plugins/src/SConscript @@ -48,6 +48,7 @@ env.PrependUnique(CPPPATH = [ os.path.join(src_dir, 'resource', 'c_common', 'oic os.path.join(src_dir, 'resource', 'oc_logger', 'include'), os.path.join(src_dir, 'resource', 'csdk', 'logger', 'include'), os.path.join(src_dir, 'resource', 'csdk', 'stack', 'include'), + os.path.join(src_dir, 'resource', 'csdk', 'security', 'include'), os.path.join(src_dir, 'resource', 'csdk', 'include') ]) env.AppendUnique(CPPPATH = [ os.path.join(pi_path, 'include'), diff --git a/resource/csdk/connectivity/SConscript b/resource/csdk/connectivity/SConscript index fdaea91..58a1822 100644 --- a/resource/csdk/connectivity/SConscript +++ b/resource/csdk/connectivity/SConscript @@ -4,12 +4,13 @@ Import('env') -target_os = env.get('TARGET_OS') -transport = env.get('TARGET_TRANSPORT') -build_sample = env.get('BUILD_SAMPLE') -with_ra = env.get('WITH_RA') -with_tcp = env.get('WITH_TCP') -with_mq = env.get('WITH_MQ') +connectivity_env = env.Clone() +target_os = connectivity_env.get('TARGET_OS') +transport = connectivity_env.get('TARGET_TRANSPORT') +build_sample = connectivity_env.get('BUILD_SAMPLE') +with_ra = connectivity_env.get('WITH_RA') +with_tcp = connectivity_env.get('WITH_TCP') +with_mq = connectivity_env.get('WITH_MQ') print "Given Transport is %s" % transport print "Given OS is %s" % target_os @@ -24,77 +25,4 @@ if target_os in targets_disallow_multitransport: print "%s disallowed until testing can validate use of multiple transports on %s %d" % (transport, target_os, len(transport)) Exit(1) -if 'ALL' in transport: - if with_ra == True: - env.AppendUnique(CPPDEFINES = ['RA_ADAPTER']) - if with_tcp == True: - env.AppendUnique(CPPDEFINES = ['TCP_ADAPTER']) - if target_os in ['linux']: - env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','NO_EDR_ADAPTER','LE_ADAPTER']) - elif target_os == 'tizen': - env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER']) - elif target_os == 'android': - env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER', 'NFC_ADAPTER']) - elif target_os in['darwin','ios']: - env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','NO_EDR_ADAPTER','NO_LE_ADAPTER']) - elif target_os in ['msys_nt', 'windows']: - env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','NO_EDR_ADAPTER','NO_LE_ADAPTER']) - else: - env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER']) - print "CA Transport is ALL" -else: - if 'BT' in transport: - if target_os in ['linux']: - print "CA Transport BT is not supported in Linux" - Exit(1) - else: - env.AppendUnique(CPPDEFINES = ['EDR_ADAPTER']) - print "CA Transport is BT" - else: - env.AppendUnique(CPPDEFINES = ['NO_EDR_ADAPTER']) - - if 'BLE' in transport: - env.AppendUnique(CPPDEFINES = ['LE_ADAPTER']) - print "CA Transport is BLE" - else: - env.AppendUnique(CPPDEFINES = ['NO_LE_ADAPTER']) - - if 'IP' in transport: - env.AppendUnique(CPPDEFINES = ['IP_ADAPTER']) - print "CA Transport is IP" - else: - env.AppendUnique(CPPDEFINES = ['NO_IP_ADAPTER']) - - if with_tcp == True: - if target_os in ['linux', 'tizen', 'android', 'arduino', 'ios', 'windows']: - env.AppendUnique(CPPDEFINES = ['TCP_ADAPTER', 'WITH_TCP']) - print "CA Transport is TCP" - else: - print "CA Transport TCP is not supported " - Exit(1) - else: - env.AppendUnique(CPPDEFINES = ['NO_TCP_ADAPTER']) - - if 'NFC' in transport: - if target_os in['android']: - env.AppendUnique(CPPDEFINES = ['NFC_ADAPTER']) - print "CA Transport is NFC" - else: - print "CA Transport NFC is not supported " - Exit(1) - else: - env.AppendUnique(CPPDEFINES = ['NO_NFC_ADAPTER']) - -if 'SUB' in with_mq: - env.AppendUnique(CPPDEFINES = ['MQ_SUBSCRIBER', 'WITH_MQ']) - print "MQ SUB support" - -if 'PUB' in with_mq: - env.AppendUnique(CPPDEFINES = ['MQ_PUBLISHER', 'WITH_MQ']) - print "MQ PUB support" - -if 'BROKER' in with_mq: - env.AppendUnique(CPPDEFINES = ['MQ_BROKER', 'WITH_MQ']) - print "MQ Broker support" - -env.SConscript('./src/SConscript') +SConscript('src/SConscript', exports = 'connectivity_env') diff --git a/resource/csdk/connectivity/common/SConscript b/resource/csdk/connectivity/common/SConscript index 3cdeef1..2a25872 100644 --- a/resource/csdk/connectivity/common/SConscript +++ b/resource/csdk/connectivity/common/SConscript @@ -1,41 +1,33 @@ ## # CA build script ## +import os -Import('env') +Import('connectivity_env') print "Reading common folder script" -ca_os = env.get('TARGET_OS') -src_dir = env.get('SRC_DIR') -root_dir = './../' +target_os = connectivity_env.get('TARGET_OS') +src_dir = os.path.abspath(os.curdir) - -ca_common_path = root_dir + 'common/' -ca_common_src_path = ca_common_path + 'src/' - -env.AppendUnique(CPPPATH = [ - '#resource/c_common/octhread/include/', - 'common/inc/', - src_dir + '/resource/csdk/logger/include/', - ]) +connectivity_env.AppendUnique(CPPPATH = [ + '#resource/c_common/octhread/include/', + '#resource/csdk/connectivity/common/inc/', + '#resource/csdk/logger/include/', + ]) ###################################################################### -# Source files and Target(s) +# Source files ###################################################################### +ca_common_src_path = os.path.join(src_dir, 'src') ca_common_src = [ - ca_common_src_path + 'uarraylist.c', - ca_common_src_path + 'ulinklist.c', - ca_common_src_path + 'uqueue.c', - ca_common_src_path + 'caremotehandler.c' - ] + os.path.join(ca_common_src_path, 'uarraylist.c'), + os.path.join(ca_common_src_path, 'ulinklist.c'), + os.path.join(ca_common_src_path, 'uqueue.c'), + os.path.join(ca_common_src_path, 'caremotehandler.c') + ] -if env['POSIX_SUPPORTED'] or ca_os in ['windows']: - platform_src = [ - ca_common_src_path + 'cathreadpool_pthreads.c', - ] -else: - platform_src = [] +if connectivity_env['POSIX_SUPPORTED'] or target_os in ['windows']: + ca_common_src.append(os.path.join(ca_common_src_path, 'cathreadpool_pthreads.c')) -env.AppendUnique(CA_SRC = ca_common_src) -env.AppendUnique(CA_SRC = platform_src) +connectivity_env.AppendUnique(CA_SRC = ca_common_src) diff --git a/resource/csdk/connectivity/src/SConscript b/resource/csdk/connectivity/src/SConscript index f660d25..52e8902 100644 --- a/resource/csdk/connectivity/src/SConscript +++ b/resource/csdk/connectivity/src/SConscript @@ -3,16 +3,16 @@ ## import os.path -Import('env') - -ca_os = env.get('TARGET_OS') -ca_transport = env.get('TARGET_TRANSPORT') -secured = env.get('SECURED') -multiple_owner = env.get('MULTIPLE_OWNER') -with_ra = env.get ('WITH_RA') -with_ra_ibb = env.get('WITH_RA_IBB') -with_tcp = env.get('WITH_TCP') -src_dir = env.get('SRC_DIR') +Import('connectivity_env') + +ca_os = connectivity_env.get('TARGET_OS') +ca_transport = connectivity_env.get('TARGET_TRANSPORT') +secured = connectivity_env.get('SECURED') +multiple_owner = connectivity_env.get('MULTIPLE_OWNER') +with_ra = connectivity_env.get ('WITH_RA') +with_ra_ibb = connectivity_env.get('WITH_RA_IBB') +with_tcp = connectivity_env.get('WITH_TCP') +src_dir = connectivity_env.get('SRC_DIR') root_dir = os.pardir ca_path = os.curdir @@ -22,82 +22,60 @@ ca_path = os.curdir print"Reading ca script %s"%ca_transport -env.PrependUnique(CPPPATH = [ os.path.join(root_dir, 'api') ]) +connectivity_env.PrependUnique(CPPPATH = [ os.path.join(root_dir, 'api') ]) -with_upstream_libcoap = env.get('WITH_UPSTREAM_LIBCOAP') +with_upstream_libcoap = connectivity_env.get('WITH_UPSTREAM_LIBCOAP') if with_upstream_libcoap == '1': # For bring up purposes only, we manually copy the forked version to where the unforked version is downloaded. - env.AppendUnique(CPPPATH = [os.path.join('#extlibs', 'libcoap', 'libcoap', 'include')]) - env.AppendUnique(CPPDEFINES = ['WITH_UPSTREAM_LIBCOAP']) + connectivity_env.AppendUnique(CPPPATH = [os.path.join('#extlibs', 'libcoap', 'libcoap', 'include')]) else: # For bring up purposes only, the forked version will live here. - env.AppendUnique(CPPPATH = [ os.path.join('#resource', 'csdk', 'connectivity', 'lib', 'libcoap-4.1.1', 'include')]) + connectivity_env.AppendUnique(CPPPATH = [ os.path.join('#resource', 'csdk', 'connectivity', 'lib', 'libcoap-4.1.1', 'include')]) -env.AppendUnique(CPPPATH = [ os.path.join(root_dir, 'inc'), +connectivity_env.AppendUnique(CPPPATH = [ os.path.join(root_dir, 'inc'), os.path.join(src_dir, 'resource', 'csdk', 'logger', 'include'), os.path.join(root_dir, 'common', 'inc'), os.path.join(root_dir, 'util', 'inc') ]) -if ca_os not in ['arduino', 'windows']: - env.AppendUnique(CPPDEFINES = ['WITH_POSIX']) - if ca_os not in ['darwin', 'ios', 'windows']: - env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined']) - -if ca_os in ['darwin','ios']: - env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE']) + connectivity_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined']) # Getting common source files -env.SConscript(os.path.join(root_dir, 'common', 'SConscript')) +connectivity_env.SConscript(os.path.join(root_dir, 'common', 'SConscript'), exports = 'connectivity_env') # Getting util source files -env.SConscript(os.path.join(root_dir, 'util', 'SConscript')) +connectivity_env.SConscript(os.path.join(root_dir, 'util', 'SConscript'), exports = 'connectivity_env') -build_dir = env.get('BUILD_DIR') +build_dir = connectivity_env.get('BUILD_DIR') -env.AppendUnique(CA_SRC = [os.path.join(ca_path, +connectivity_env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/caadapterutils.c')]) if (('BLE' in ca_transport) or ('ALL' in ca_transport)): - env.AppendUnique(CA_SRC = [os.path.join(ca_path, + connectivity_env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/cafragmentation.c')]) -if env.get('SECURED') == '1': - env.AppendUnique(CPPPATH = ['#extlibs/timer']) - env.AppendUnique(CPPPATH = [src_dir + '/resource/csdk/security/include']) - env.AppendUnique(CPPDEFINES = ['__WITH_DTLS__']) - env.AppendUnique(CPPPATH = [os.path.join(root_dir, 'external/inc')]) +if connectivity_env.get('SECURED') == '1': + connectivity_env.AppendUnique(CPPPATH = ['#extlibs/timer']) + connectivity_env.AppendUnique(CPPPATH = [src_dir + '/resource/csdk/security/include']) + connectivity_env.AppendUnique(CPPPATH = [os.path.join(root_dir, 'external/inc')]) tls_path = 'extlibs/mbedtls'; tls_headers_path = 'mbedtls/include'; if ca_os == 'tizen' and os.path.exists(root_dir + '/' + tls_path): - env.SConscript(os.path.join(root_dir, tls_path + '/SConscript')) - env.AppendUnique(CPPPATH = [os.path.join(root_dir, tls_path + '/' + tls_headers_path)]) + connectivity_env.SConscript(os.path.join(root_dir, tls_path + '/SConscript')) + connectivity_env.AppendUnique(CPPPATH = [os.path.join(root_dir, tls_path + '/' + tls_headers_path)]) else: if ca_os != 'android': - env.SConscript('#' + tls_path + '/SConscript') - env.AppendUnique(CPPPATH = ['#' + tls_path + '/' + tls_headers_path]) - env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/ca_adapter_net_ssl.c')]) - -if ((secured == '1') and (with_tcp == True)): - env.AppendUnique(CPPDEFINES = ['__WITH_TLS__']) - -if (multiple_owner == '1'): - env.AppendUnique(CPPDEFINES=['MULTIPLE_OWNER']) - + connectivity_env.SConscript('#' + tls_path + '/SConscript') + connectivity_env.AppendUnique(CPPPATH = ['#' + tls_path + '/' + tls_headers_path]) + connectivity_env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/ca_adapter_net_ssl.c')]) ca_common_src = None if with_ra_ibb: - env.SConscript('#extlibs/wksxmppxep/SConscript') - -if env.get('ROUTING') == 'GW': - env.AppendUnique(CPPDEFINES = ['ROUTING_GATEWAY']) -elif env.get('ROUTING') == 'EP': - env.AppendUnique(CPPDEFINES = ['ROUTING_EP']) + connectivity_env.SConscript('#extlibs/wksxmppxep/SConscript') if ca_os == 'arduino': - env.AppendUnique(CPPDEFINES = ['SINGLE_THREAD']) - env.AppendUnique(CPPDEFINES = ['WITH_ARDUINO']) print "setting WITH_ARDUINO" ca_common_src = [ 'caconnectivitymanager.c', @@ -118,96 +96,81 @@ else: 'caretransmission.c', ] if (('IP' in ca_transport) or ('ALL' in ca_transport)): - env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'cablockwisetransfer.c') ]) - env.AppendUnique(CPPDEFINES = ['WITH_BWT']) + connectivity_env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'cablockwisetransfer.c') ]) ca_common_src = [ os.path.join(ca_path, d) for d in ca_common_src ] -env.AppendUnique(CA_SRC = ca_common_src) +connectivity_env.AppendUnique(CA_SRC = ca_common_src) +transports = set() if 'ALL' in ca_transport: - transports = [] - if with_ra: - transports.append('ra_adapter') - - if ca_os in ['linux']: - transports.append('ip_adapter') - transports.append('bt_le_adapter') - elif ca_os in ['tizen']: - transports.append('ip_adapter') - transports.append('bt_edr_adapter') - transports.append('bt_le_adapter') - elif ca_os in ['android']: - transports.append('ip_adapter') - transports.append('bt_edr_adapter') - transports.append('bt_le_adapter') - transports.append('nfc_adapter') + transports.add('ra_adapter') + + if ca_os in ['linux']: + transports.add('ip_adapter') + transports.add('bt_le_adapter') + elif ca_os in ['tizen']: + transports.add('ip_adapter') + transports.add('bt_edr_adapter') + transports.add('bt_le_adapter') + elif ca_os in ['android']: + transports.add('ip_adapter') + transports.add('bt_edr_adapter') + transports.add('bt_le_adapter') + transports.add('nfc_adapter') elif ca_os in['darwin','ios', 'msys_nt', 'windows']: - transports.append('ip_adapter') + transports.add('ip_adapter') else: - transports.append('ip_adapter') - transports.append('bt_edr_adapter') - transports.append('bt_le_adapter') + transports.add('ip_adapter') + transports.add('bt_edr_adapter') + transports.add('bt_le_adapter') - env.SConscript(dirs = [ - os.path.join(ca_path, d) for d in transports ]) + connectivity_env.SConscript(dirs = [ + os.path.join(ca_path, d) for d in transports ], exports = 'connectivity_env') if 'IP' in ca_transport: - env.SConscript(os.path.join(ca_path, 'ip_adapter/SConscript')) - if ca_os == 'arduino': - if with_tcp == True: - transports = [ 'ip_adapter', 'tcp_adapter'] - env.SConscript(dirs = [ - os.path.join(ca_path, d) for d in transports ]) + transports.add('ip_adapter') + if ca_os == 'arduino' and with_tcp: + transports.add('tcp_adapter') if 'BT' in ca_transport: - env.SConscript(os.path.join(ca_path, 'bt_edr_adapter/SConscript')) + transports.add('bt_edr_adapter') if 'BLE' in ca_transport: - env.SConscript(os.path.join(ca_path, 'bt_le_adapter/SConscript')) + transports.add('bt_le_adapter') if 'NFC' in ca_transport: - env.SConscript(os.path.join(ca_path, 'nfc_adapter/SConscript')) - -if ca_os in ['linux', 'tizen', 'android', 'ios', 'windows']: - if with_tcp == True: - env.SConscript(os.path.join(ca_path, 'tcp_adapter/SConscript')) - env.AppendUnique(CPPDEFINES = ['WITH_TCP']) - -if ca_os in ['linux', 'tizen', 'android', 'arduino', 'ios']: - if (('BLE' in ca_transport) or ('BT' in ca_transport) or ('ALL' in ca_transport)): - env.AppendUnique(CPPDEFINES = ['WITH_TCP']) + transports.add('nfc_adapter') -print "Include path is %s" % env.get('CPPPATH') -print "Files path is %s" % env.get('CA_SRC') +if ca_os in ['linux', 'tizen', 'android', 'ios', 'windows'] and with_tcp: + transports.add('tcp_adapter') -lib_env = env.Clone() -lib_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')]) +SConscript(dirs = list(transports), exports='connectivity_env') -if env.get('LOGGING'): - lib_env.AppendUnique(CPPDEFINES=['TB_LOG']) +print "Include path is %s" % connectivity_env.get('CPPPATH') +print "Files path is %s" % connectivity_env.get('CA_SRC') if ca_os == 'android': - lib_env.AppendUnique(LINKFLAGS = ['-Wl,-soname,libca-interface.so']) - lib_env.AppendUnique(LINKFLAGS = ['-Wl,-soname,libconnectivity_abstraction.so']) + connectivity_env.AppendUnique(LINKFLAGS = ['-Wl,-soname,libca-interface.so']) + connectivity_env.AppendUnique(LINKFLAGS = ['-Wl,-soname,libconnectivity_abstraction.so']) -if lib_env.get('SECURED') == '1': - lib_env.AppendUnique(LIBS = ['mbedtls','mbedx509','mbedcrypto', 'timer']) +if connectivity_env.get('SECURED') == '1': + connectivity_env.AppendUnique(LIBS = ['mbedtls','mbedx509','mbedcrypto', 'timer']) if ca_os in ['android', 'tizen', 'linux', 'yocto']: - lib_env.AppendUnique(LIBS = ['coap']) + connectivity_env.AppendUnique(LIBS = ['coap']) if ca_os != 'android': - lib_env.AppendUnique(LIBS = ['rt']) - static_calib = lib_env.StaticLibrary('connectivity_abstraction', env.get('CA_SRC')) - shared_calib = lib_env.SharedLibrary('connectivity_abstraction', lib_env.get('CA_SRC')) + connectivity_env.AppendUnique(LIBS = ['rt']) + static_calib = connectivity_env.StaticLibrary('connectivity_abstraction', connectivity_env.get('CA_SRC')) + shared_calib = connectivity_env.SharedLibrary('connectivity_abstraction', connectivity_env.get('CA_SRC')) calib = Flatten([static_calib, shared_calib]) elif ca_os in ['msys_nt', 'windows']: - lib_env.AppendUnique(LIBS = ['coap', 'mswsock', 'ws2_32', 'iphlpapi', 'logger']) - calib = lib_env.StaticLibrary('connectivity_abstraction', env.get('CA_SRC')) + connectivity_env.AppendUnique(LIBS = ['coap', 'mswsock', 'ws2_32', 'iphlpapi', 'logger']) + calib = connectivity_env.StaticLibrary('connectivity_abstraction', connectivity_env.get('CA_SRC')) else: - calib = lib_env.StaticLibrary('connectivity_abstraction', lib_env.get('CA_SRC')) + calib = connectivity_env.StaticLibrary('connectivity_abstraction', connectivity_env.get('CA_SRC')) -lib_env.InstallTarget(calib, 'connectivity_abstraction') -lib_env.UserInstallTargetLib(calib, 'connectivity_abstraction') +connectivity_env.InstallTarget(calib, 'connectivity_abstraction') +connectivity_env.UserInstallTargetLib(calib, 'connectivity_abstraction') diff --git a/resource/csdk/connectivity/src/bt_edr_adapter/SConscript b/resource/csdk/connectivity/src/bt_edr_adapter/SConscript index e441903..29474f7 100644 --- a/resource/csdk/connectivity/src/bt_edr_adapter/SConscript +++ b/resource/csdk/connectivity/src/bt_edr_adapter/SConscript @@ -2,40 +2,22 @@ # Build BT EDR adapter ####################################################### -Import('env') -import os.path +Import('connectivity_env') +import os print "Reading BT EDR adapter script" -target_os = env.get('TARGET_OS') - -src_dir = os.path.join(os.curdir, 'bt_edr_adapter') +target_os = connectivity_env.get('TARGET_OS') +src_dir = os.path.abspath(os.curdir) # Source files to build common for all platforms -common_files = [] if target_os != 'arduino': - common_files = [ os.path.join(src_dir, 'caedradapter.c') ] - -# Get list of target-specific source file base names, i.e. no parent -# directories prepended to the path. -# -# Target-specific SConscript files are expected to return that list. -target_files = [] -target_sconscript = os.path.join(target_os, 'SConscript') + connectivity_env.AppendUnique(CA_SRC = [os.path.join(src_dir, 'caedradapter.c')]) # Check for the existence of the platform-specific SConscript file # relative to the top-level source directory, not the build (variant) # directory, before calling that SConscript file to prevent a missing -# file warning platforms that don't provide one. -target_sconscript_abspath = str(File(target_sconscript).srcnode().abspath) -if os.path.exists(target_sconscript_abspath): - target_files = env.SConscript(target_sconscript, exports='src_dir') - -# Now prepend the appropriate parent directories -# (e.g. ./bt_edr_adapter/linux) to each of the target source files in -# the list. -target_files = [ os.path.join(src_dir, target_os, f) for f in target_files ] - -# The list of EDR adapter source files is a combination of both the -# common and target-specific source file lists. -env.AppendUnique(CA_SRC = common_files + target_files) +# file warning for platforms that don't provide one. +target_sconscript = target_os + '/SConscript' +if os.path.exists(target_sconscript): + SConscript(target_sconscript, exports='connectivity_env') diff --git a/resource/csdk/connectivity/src/bt_edr_adapter/android/SConscript b/resource/csdk/connectivity/src/bt_edr_adapter/android/SConscript index ab60d17..8293f4c 100644 --- a/resource/csdk/connectivity/src/bt_edr_adapter/android/SConscript +++ b/resource/csdk/connectivity/src/bt_edr_adapter/android/SConscript @@ -1,15 +1,17 @@ ####################################################### # Build BT EDR adapter for Android ####################################################### +import os -Import('env', 'src_dir') -import os.path +Import('connectivity_env') -env.PrependUnique(CPPPATH = [ os.path.join(src_dir, 'android') ]) +src_dir = os.path.abspath(os.curdir) -src_files = [ 'caedrclient.c', - 'caedrutils.c', - 'caedrnwmonitor.c', - 'caedrserver.c', ] +connectivity_env.PrependUnique(CPPPATH = [ src_dir ]) -Return('src_files') +src_files = [ os.path.join(src_dir, 'caedrclient.c'), + os.path.join(src_dir, 'caedrutils.c'), + os.path.join(src_dir, 'caedrnwmonitor.c'), + os.path.join(src_dir, 'caedrserver.c'), ] + +connectivity_env.AppendUnique(CA_SRC = src_files) diff --git a/resource/csdk/connectivity/src/bt_edr_adapter/tizen/SConscript b/resource/csdk/connectivity/src/bt_edr_adapter/tizen/SConscript index cb7c711..1621326 100644 --- a/resource/csdk/connectivity/src/bt_edr_adapter/tizen/SConscript +++ b/resource/csdk/connectivity/src/bt_edr_adapter/tizen/SConscript @@ -1,21 +1,21 @@ ####################################################### # Build BT EDR adapter for Tizen ####################################################### +import os -Import('env', 'src_dir') -import os.path +Import('connectivity_env') -env.PrependUnique(CPPPATH = [ os.path.join(src_dir, 'tizen'), - './con/lib/tizen/ble/inc', - './con/lib/tizen/ble/inc/mobile' ]) +src_dir = os.path.abspath(os.curdir) -env.ParseConfig("pkg-config --cflags --libs capi-network-bluetooth") +connectivity_env.PrependUnique(CPPPATH = [ src_dir ]) -src_files = [ 'caedrclient.c', - 'caedrdevicelist.c', - 'caedrendpoint.c', - 'caedrnwmonitor.c', - 'caedrserver.c', - 'caedrutils.c' ] +connectivity_env.ParseConfig("pkg-config --cflags --libs capi-network-bluetooth") -Return('src_files') +src_files = [ os.path.join(src_dir, 'caedrclient.c'), + os.path.join(src_dir, 'caedrdevicelist.c'), + os.path.join(src_dir, 'caedrendpoint.c'), + os.path.join(src_dir, 'caedrnwmonitor.c'), + os.path.join(src_dir, 'caedrserver.c'), + os.path.join(src_dir, 'caedrutils.c') ] + +connectivity_env.AppendUnique(CA_SRC = src_files) diff --git a/resource/csdk/connectivity/src/bt_le_adapter/SConscript b/resource/csdk/connectivity/src/bt_le_adapter/SConscript index ddbfa21..d73d6c2 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/SConscript +++ b/resource/csdk/connectivity/src/bt_le_adapter/SConscript @@ -1,39 +1,23 @@ ################################ # Build BLE adapter ################################ +import os -Import('env') -import os.path +Import('connectivity_env') -target_os = env.get('TARGET_OS') +src_dir = os.path.abspath(os.curdir) -print "Reading BLE adapter script for", target_os +target_os = connectivity_env.get('TARGET_OS') -src_dir = os.path.join(os.curdir, 'bt_le_adapter') +print "Reading BLE adapter script for", target_os # Source files common to all platforms. -common_files = [ os.path.join(src_dir, 'caleadapter.c') ] - -# Get list of target-specific source file base names, i.e. no parent -# directories prepended to the path. -# -# Target-specific SConscript files are expected to return that list. -target_files = [] -target_sconscript = os.path.join(target_os, 'SConscript') +connectivity_env.AppendUnique(CA_SRC = [ os.path.join(src_dir, 'caleadapter.c') ]) # Check for the existence of the platform-specific SConscript file # relative to the top-level source directory, not the build (variant) # directory, before calling that SConscript file to prevent a missing # file warning platforms that don't provide one. -target_sconscript_abspath = str(File(target_sconscript).srcnode().abspath) -if os.path.exists(target_sconscript_abspath): - target_files = env.SConscript(target_sconscript, exports='src_dir') - -# Now prepend the appropriate parent directories -# (e.g. ./bt_le_adapter/linux) to each of the target source files in -# the list. -target_files = [ os.path.join(src_dir, target_os, f) for f in target_files ] - -# The list of BLE adapter source files is a combination of both the -# common and target-specific source file lists. -env.AppendUnique(CA_SRC = common_files + target_files) +target_sconscript = File(os.path.join(target_os, 'SConscript')).srcnode().abspath +if os.path.exists(target_sconscript): + SConscript(target_sconscript, exports='connectivity_env') diff --git a/resource/csdk/connectivity/src/bt_le_adapter/android/SConscript b/resource/csdk/connectivity/src/bt_le_adapter/android/SConscript index a12b289..7d71ac7 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/android/SConscript +++ b/resource/csdk/connectivity/src/bt_le_adapter/android/SConscript @@ -1,16 +1,18 @@ ####################################################### # Build BLE adapter for Android ####################################################### +import os -Import('env', 'src_dir') -import os.path +Import('connectivity_env') -env.PrependUnique(CPPPATH = [ os.path.join(src_dir, 'android') ]) +src_dir = os.path.abspath(os.curdir) -src_files = [ 'caleclient.c', - 'caleserver.c', - 'calenwmonitor.c', - 'caleutils.c', - 'calestate.c' ] +connectivity_env.PrependUnique(CPPPATH = [ src_dir ]) -Return('src_files') +src_files = [ os.path.join(src_dir, 'caleclient.c'), + os.path.join(src_dir, 'caleserver.c'), + os.path.join(src_dir, 'calenwmonitor.c'), + os.path.join(src_dir, 'caleutils.c'), + os.path.join(src_dir, 'calestate.c') ] + +connectivity_env.AppendUnique(CA_SRC = src_files) diff --git a/resource/csdk/connectivity/src/bt_le_adapter/arduino/SConscript b/resource/csdk/connectivity/src/bt_le_adapter/arduino/SConscript index 9de983f..e93464a 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/arduino/SConscript +++ b/resource/csdk/connectivity/src/bt_le_adapter/arduino/SConscript @@ -1,14 +1,16 @@ ####################################################### # Build BLE adapter for Arduino ####################################################### +import os -Import('env', 'src_dir') -import os.path +Import('connectivity_env') -env.PrependUnique(CPPPATH = [ os.path.join(src_dir, 'arduino') ]) +src_dir = os.path.abspath(os.curdir) -src_files = [ 'cableserver.cpp', - 'cablenwmonitor.cpp', - 'cableclient.cpp'] +connectivity_env.PrependUnique(CPPPATH = [ src_dir ]) -Return('src_files') +src_files = [ os.path.join(src_dir, 'cableserver.cpp'), + os.path.join(src_dir, 'cablenwmonitor.cpp'), + os.path.join(src_dir, 'cableclient.cpp')] + +connectivity_env.AppendUnique(CA_SRC = src_files) diff --git a/resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript b/resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript index e4f2fb1..e872c79 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript +++ b/resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript @@ -18,12 +18,12 @@ # Build BLE adapter for Linux ########################################## -Import('env') +Import('connectivity_env') import os.path # Top-level build (variant) directory. -root_build_dir = env['BUILD_DIR'] +root_build_dir = connectivity_env['BUILD_DIR'] # Source node that allows us to easily obtain paths and directories # related to this source directory. @@ -45,7 +45,7 @@ service_name = '\"org.iotivity.gatt.service\"' dbus_policy_in = 'org.iotivity.gatt.service.conf.in' conf_dict = {} -subst_env = env.Clone(tools = [ 'default', 'textfile' ], +subst_env = connectivity_env.Clone(tools = [ 'default', 'textfile' ], SUBST_DICT = conf_dict) conf_dict = { '@service_name@' : service_name } @@ -57,7 +57,7 @@ subst_env.Substfile(dbus_policy_in, SUBST_DICT = conf_dict) dbus_policy = os.path.splitext(dbus_policy_in)[0] # Drop '.in' extension. generated_dbus_policy = os.path.join(this_build_dir, dbus_policy) -env.Clean(dbus_policy, generated_dbus_policy) +connectivity_env.Clean(dbus_policy, generated_dbus_policy) # Define the D-Bus bus name as a preprocessor symbol. Note the # multiple quote levels to ensure that the double quotes surrounding @@ -65,7 +65,7 @@ env.Clean(dbus_policy, generated_dbus_policy) # # Also add a minimum required version of GLib 2.32, which is what the # older GNU/Linux distributions supported by IoTivity shipped with. -env.AppendUnique( +connectivity_env.AppendUnique( CPPDEFINES = [ ('CA_DBUS_GATT_SERVICE_NAME', "'%s'" % service_name), ('GLIB_VERSION_MIN_REQUIRED', 'GLIB_VERSION_2_32') @@ -73,7 +73,7 @@ env.AppendUnique( # The Linux BLE adapter implementation uses GDBus to make D-Bus based # method calls to BlueZ. Pull in the necessary dependencies. -env.ParseConfig("pkg-config gio-unix-2.0 --cflags --libs") +connectivity_env.ParseConfig("pkg-config gio-unix-2.0 --cflags --libs") # Set up commands to generate GDBus code from the D-Bus introspection # XML. @@ -99,6 +99,7 @@ src_files = [ 'characteristic.c', 'recv.c', 'caleinterface.c' ] +src_files = [ os.path.join(this_src_dir, src_file) for src_file in src_files ] glue_files = [] @@ -108,18 +109,19 @@ for file, prefix in dbus_introspection_xml.items(): glue_source = glue + '.c' glue_header = glue + '.h' - glue_files.append(glue_source) - # Generate GDBus skeletons in the variant (build) directory. # # A link to the generated GDBus glue header is also created in the # source directory to avoid having to explicitly add the variant # directory to the preprocessor include path. - targets = [ glue_source, glue_header ] + glue_source_gen = os.path.join(this_build_dir, glue_source) glue_header_gen = os.path.join(this_build_dir, glue_header) glue_header_copy = os.path.join(this_src_dir, glue_header) + targets = [ glue_source_gen, glue_header_gen ] + + glue_files.append(glue_source_gen) - gen = env.Command(targets, + gen = connectivity_env.Command(targets, source_xml, 'cd %s ' '&& gdbus-codegen --generate-c-code %s ' @@ -130,21 +132,15 @@ for file, prefix in dbus_introspection_xml.items(): glue, prefix, glue_header_gen, glue_header_copy)) - # Mark generated file for cleaning when running "scons -c". - for target in targets: - generated_target = os.path.join(this_build_dir, target) - env.Clean(target, generated_target) - - env.Clean(glue_source, glue_header_copy) + connectivity_env.Clean(gen, glue_header_copy) # Force a dependency on copied glue header to make sure it exists # before compilation of the non-generated source files begins. - env.Depends(src_files, gen) + Depends(src_files, gen) src_files += glue_files -Return('src_files') - +connectivity_env.AppendUnique(CA_SRC = src_files) # Local Variables: # mode:python diff --git a/resource/csdk/connectivity/src/bt_le_adapter/tizen/SConscript b/resource/csdk/connectivity/src/bt_le_adapter/tizen/SConscript index 4a2cb7a..0e004cb 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/tizen/SConscript +++ b/resource/csdk/connectivity/src/bt_le_adapter/tizen/SConscript @@ -1,18 +1,19 @@ ####################################################### # Build BLE adapter for Tizen ####################################################### +import os -Import('env', 'src_dir') -import os.path +Import('connectivity_env') -root_dir = os.pardir -env.PrependUnique(CPPPATH = [ os.path.join(src_dir, 'tizen')]) +src_dir = os.path.abspath(os.curdir) -env.ParseConfig("pkg-config --cflags --libs capi-network-bluetooth") +connectivity_env.PrependUnique(CPPPATH = [ src_dir ]) -src_files = [ 'caleclient.c', - 'caleserver.c', - 'caleutil.c', - 'calenwmonitor.c'] +connectivity_env.ParseConfig("pkg-config --cflags --libs capi-network-bluetooth") -Return('src_files') +src_files = [ os.path.join(src_dir, 'caleclient.c'), + os.path.join(src_dir, 'caleserver.c'), + os.path.join(src_dir, 'caleutil.c'), + os.path.join(src_dir, 'calenwmonitor.c')] + +connectivity_env.AppendUnique(CA_SRC = src_files) diff --git a/resource/csdk/connectivity/src/ip_adapter/SConscript b/resource/csdk/connectivity/src/ip_adapter/SConscript index 8706ecf..a6efa05 100644 --- a/resource/csdk/connectivity/src/ip_adapter/SConscript +++ b/resource/csdk/connectivity/src/ip_adapter/SConscript @@ -1,56 +1,31 @@ ####################################################### # Build IP adapter ####################################################### +import os -Import('env') -import os.path +Import('connectivity_env') print "Reading IP adapter script" -target_os = env.get('TARGET_OS') -inc_files = env.get('CPPPATH') -secured = env.get('SECURED') -src_dir = './ip_adapter/' - +target_os = connectivity_env.get('TARGET_OS') +src_dir = os.path.abspath(os.curdir) # Source files to build common for all platforms -common_files = None -if target_os == 'arduino': - common_files = [ os.path.join(src_dir, - 'caipadapter.c') ] -else: - common_files = [ - os.path.join(src_dir, 'caipadapter.c'), - os.path.join(src_dir, 'caipserver.c') ] +common_files = [ os.path.join(src_dir, 'caipadapter.c') ] +if target_os != 'arduino': + common_files.append(os.path.join(src_dir, 'caipserver.c')) + # Source files to build for Linux-like platforms + if target_os in ['linux','darwin','ios']: + common_files.append(os.path.join(src_dir, 'linux/caipnwmonitor.c')) + elif target_os in ['msys_nt', 'windows']: + common_files.append(os.path.join(src_dir, 'windows/caipnwmonitor.c')) -# Get list of target-specific source file base names, i.e. no parent -# directories prepended to the path. -# -# Target-specific SConscript files are expected to return that list. -target_files = [] -target_sconscript = os.path.join(target_os, 'SConscript') +connectivity_env.AppendUnique(CA_SRC = common_files) # Check for the existence of the platform-specific SConscript file # relative to the top-level source directory, not the build (variant) # directory, before calling that SConscript file to prevent a missing # file warning platforms that don't provide one. -target_sconscript_abspath = str(File(target_sconscript).srcnode().abspath) -if os.path.exists(target_sconscript_abspath): - target_files = env.SConscript(target_sconscript, exports='src_dir') - -# Now prepend the appropriate parent directories -# (e.g. ./ip_adapter/android) to each of the target source files in -# the list. -target_files = [ os.path.join(src_dir, target_os, f) for f in target_files ] - -# Source files to build for Linux-like platforms -if target_os in ['linux','darwin','ios']: - target_files += [ os.path.join(src_dir, - 'linux/caipnwmonitor.c') ] - -if target_os in ['msys_nt']: - target_files += [ os.path.join(src_dir, 'windows/caipnwmonitor.c') ] - -# The list of BLE adapter source files is a combination of both the -# common and target-specific source file lists. -env.AppendUnique(CA_SRC = common_files + target_files) +target_sconscript = target_os + '/SConscript' +if os.path.exists(target_sconscript): + SConscript(target_sconscript, exports='connectivity_env') diff --git a/resource/csdk/connectivity/src/ip_adapter/android/SConscript b/resource/csdk/connectivity/src/ip_adapter/android/SConscript index 9e33ff5..1ae8f6f 100644 --- a/resource/csdk/connectivity/src/ip_adapter/android/SConscript +++ b/resource/csdk/connectivity/src/ip_adapter/android/SConscript @@ -1,13 +1,15 @@ ####################################################### # Build IP adapter for Android ####################################################### +import os -Import('env', 'src_dir') -import os.path +Import('connectivity_env') -env.AppendUnique(CPPPATH = [ os.path.join(src_dir, 'android') ]) +src_dir = os.path.abspath(os.curdir) -src_files = [ 'caipnwmonitor.c', - 'caifaddrs.c' ] +connectivity_env.PrependUnique(CPPPATH = [ src_dir ]) -Return('src_files') +src_files = [ os.path.join(src_dir, 'caipnwmonitor.c'), + os.path.join(src_dir, 'caifaddrs.c') ] + +connectivity_env.AppendUnique(CA_SRC = src_files) diff --git a/resource/csdk/connectivity/src/ip_adapter/arduino/SConscript b/resource/csdk/connectivity/src/ip_adapter/arduino/SConscript index 6e33f93..dbda654 100644 --- a/resource/csdk/connectivity/src/ip_adapter/arduino/SConscript +++ b/resource/csdk/connectivity/src/ip_adapter/arduino/SConscript @@ -1,20 +1,23 @@ ####################################################### # Build IP adapter for Ardunino ####################################################### +import os -Import('env', 'src_dir') -import os.path +Import('connectivity_env') -env.AppendUnique(CPPPATH = [ os.path.join(src_dir, 'arduino') ]) +src_dir = os.path.abspath(os.curdir) -if env.get('SHIELD') == 'WIFI': - src_files = [ 'caipclient_wifi.cpp', - 'caipserver_wifi.cpp', - 'caipnwmonitor_wifi.cpp' ] +connectivity_env.PrependUnique(CPPPATH = [ src_dir ]) + +src_files = None +if connectivity_env.get('SHIELD') == 'WIFI': + src_files = [ os.path.join(src_dir, 'caipclient_wifi.cpp'), + os.path.join(src_dir, 'caipserver_wifi.cpp'), + os.path.join(src_dir, 'caipnwmonitor_wifi.cpp') ] else: - src_files = [ 'caipadapterutils_eth.cpp', - 'caipclient_eth.cpp', - 'caipserver_eth.cpp', - 'caipnwmonitor_eth.cpp' ] + src_files = [ os.path.join(src_dir, 'caipadapterutils_eth.cpp'), + os.path.join(src_dir, 'caipclient_eth.cpp'), + os.path.join(src_dir, 'caipserver_eth.cpp'), + os.path.join(src_dir, 'caipnwmonitor_eth.cpp') ] -Return('src_files') +connectivity_env.AppendUnique(CA_SRC = src_files) diff --git a/resource/csdk/connectivity/src/ip_adapter/tizen/SConscript b/resource/csdk/connectivity/src/ip_adapter/tizen/SConscript index 6231d5c..28ebd30 100644 --- a/resource/csdk/connectivity/src/ip_adapter/tizen/SConscript +++ b/resource/csdk/connectivity/src/ip_adapter/tizen/SConscript @@ -1,12 +1,12 @@ ####################################################### # Build IP adapter for Tizen ####################################################### +import os -Import('env', 'src_dir') -import os.path +Import('connectivity_env') -env.ParseConfig("pkg-config --cflags --libs capi-network-connection") +src_dir = os.path.abspath(os.curdir) -src_files = [ 'caipnwmonitor.c' ] +connectivity_env.ParseConfig("pkg-config --cflags --libs capi-network-connection") -Return('src_files') +connectivity_env.AppendUnique(CA_SRC = [ os.path.join(src_dir, 'caipnwmonitor.c') ]) diff --git a/resource/csdk/connectivity/src/ip_adapter/windows/SConscript b/resource/csdk/connectivity/src/ip_adapter/windows/SConscript deleted file mode 100644 index f10999f..0000000 --- a/resource/csdk/connectivity/src/ip_adapter/windows/SConscript +++ /dev/null @@ -1,12 +0,0 @@ -####################################################### -# Build IP adapter for MSYS2 -####################################################### - -Import('env', 'src_dir') -import os.path -target_os = env.get('TARGET_OS') -env.AppendUnique(CPPPATH = [ os.path.join(src_dir, target_os) ]) - -src_files = [ 'caipnwmonitor.c' ] - -Return('src_files') diff --git a/resource/csdk/connectivity/src/nfc_adapter/SConscript b/resource/csdk/connectivity/src/nfc_adapter/SConscript index a4b240f..2804822 100644 --- a/resource/csdk/connectivity/src/nfc_adapter/SConscript +++ b/resource/csdk/connectivity/src/nfc_adapter/SConscript @@ -1,40 +1,22 @@ ####################################################### # Build NFC adapter ####################################################### +import os -Import('env') -import os.path +Import('connectivity_env') print "Reading IP adapter script" -target_os = env.get('TARGET_OS') -inc_files = env.get('CPPPATH') -src_dir = './nfc_adapter/' - +target_os = connectivity_env.get('TARGET_OS') +src_dir = os.path.abspath(os.curdir) # Source files to build common for all platforms -common_files = [ os.path.join(src_dir, - 'canfcadapter.c') ] - -# Get list of target-specific source file base names, i.e. no parent -# directories prepended to the path. -# -# Target-specific SConscript files are expected to return that list. -target_files = [] -target_sconscript = os.path.join(target_os, 'SConscript') +connectivity_env.AppendUnique(CA_SRC = [ os.path.join(src_dir, 'canfcadapter.c') ]) # Check for the existence of the platform-specific SConscript file # relative to the top-level source directory, not the build (variant) # directory, before calling that SConscript file to prevent a missing # file warning platforms that don't provide one. -target_sconscript_abspath = str(File(target_sconscript).srcnode().abspath) -if os.path.exists(target_sconscript_abspath): - target_files = env.SConscript(target_sconscript, exports='src_dir') - -# Now prepend the appropriate parent directories -# (e.g. ./nfc_adapter/android) to each of the target source files in -# the list. -target_files = [ os.path.join(src_dir, target_os, f) for f in target_files ] - -#common and target-specific source file lists. -env.AppendUnique(CA_SRC = common_files + target_files) +target_sconscript = target_os + '/SConscript' +if os.path.exists(target_sconscript): + target_files = SConscript(target_sconscript, exports = 'connectivity_env') diff --git a/resource/csdk/connectivity/src/nfc_adapter/android/SConscript b/resource/csdk/connectivity/src/nfc_adapter/android/SConscript index 0dd1a74..f6ae6bd 100644 --- a/resource/csdk/connectivity/src/nfc_adapter/android/SConscript +++ b/resource/csdk/connectivity/src/nfc_adapter/android/SConscript @@ -1,12 +1,10 @@ ####################################################### # Build NFC Client and Server for Android ####################################################### +import os -Import('env', 'src_dir') -import os.path +Import('connectivity_env') -env.AppendUnique(CPPPATH = [ os.path.join(src_dir, 'android') ]) +src_dir = os.path.abspath(os.curdir) -src_files = [ 'canfcserver.c' ] - -Return('src_files') +connectivity_env.AppendUnique(CA_SRC = [ os.path.join(src_dir, 'canfcserver.c')]) diff --git a/resource/csdk/connectivity/src/ra_adapter/SConscript b/resource/csdk/connectivity/src/ra_adapter/SConscript index 3cce282..6785c82 100644 --- a/resource/csdk/connectivity/src/ra_adapter/SConscript +++ b/resource/csdk/connectivity/src/ra_adapter/SConscript @@ -17,19 +17,13 @@ # limitations under the License. # #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -Import('env') import os +Import('connectivity_env') + print "Reading RA adapter script" -target_os = env.get('TARGET_OS') -inc_files = env.get('CPPPATH') -with_ra_ibb = env.get('WITH_RA_IBB') -src_dir = './ra_adapter' +src_dir = os.path.abspath(os.curdir) #Source files to build in Linux platform -env.AppendUnique(CA_SRC=[os.path.join(src_dir, 'caraadapter.c')]) - -if with_ra_ibb: - env.AppendUnique(CPPDEFINES = ['RA_ADAPTER_IBB']) +connectivity_env.AppendUnique(CA_SRC = [os.path.join(src_dir, 'caraadapter.c')]) diff --git a/resource/csdk/connectivity/src/tcp_adapter/SConscript b/resource/csdk/connectivity/src/tcp_adapter/SConscript index 4362f2e..6150a46 100644 --- a/resource/csdk/connectivity/src/tcp_adapter/SConscript +++ b/resource/csdk/connectivity/src/tcp_adapter/SConscript @@ -1,49 +1,31 @@ ####################################################### # Build TCP adapter ####################################################### +import os -Import('env') -import os.path +Import('connectivity_env') print "Reading TCP adapter script" -target_os = env.get('TARGET_OS') -inc_files = env.get('CPPPATH') -secured = env.get('SECURED') -src_dir = './tcp_adapter/' - +target_os = connectivity_env.get('TARGET_OS') +src_dir = os.path.abspath(os.curdir) # Source files to build common for all platforms -common_files = None +common_files = [os.path.join(src_dir, 'catcpadapter.c')] if target_os in ['linux', 'tizen', 'android', 'ios', 'windows']: - common_files = [ - os.path.join(src_dir, 'catcpadapter.c'), - os.path.join(src_dir, 'catcpserver.c') ] -else : - common_files = [os.path.join(src_dir, 'catcpadapter.c')] + common_files.append(os.path.join(src_dir, 'catcpserver.c')) + +connectivity_env.AppendUnique(CA_SRC = common_files) # Get list of target-specific source file base names, i.e. no parent # directories prepended to the path. # # Target-specific SConscript files are expected to return that list. -target_files = [] -target_sconscript = os.path.join(target_os, 'SConscript') # Check for the existence of the platform-specific SConscript file # relative to the top-level source directory, not the build (variant) # directory, before calling that SConscript file to prevent a missing # file warning platforms that don't provide one. -target_sconscript_abspath = str(File(target_sconscript).srcnode().abspath) -if os.path.exists(target_sconscript_abspath): - target_files = env.SConscript(target_sconscript, exports='src_dir') - -# Now prepend the appropriate parent directories -# (e.g. ./ip_adapter/android) to each of the target source files in -# the list. -target_files = [ os.path.join(src_dir, target_os, f) for f in target_files ] - -# Source files to build for Linux-like platforms - -# The list of TCP adapter source files is a combination of both the -# common and target-specific source file lists. -env.AppendUnique(CA_SRC = common_files + target_files) +target_sconscript = target_os + '/SConscript' +if os.path.exists(target_sconscript): + SConscript(target_sconscript, exports='connectivity_env') diff --git a/resource/csdk/connectivity/src/tcp_adapter/arduino/SConscript b/resource/csdk/connectivity/src/tcp_adapter/arduino/SConscript index 54fcad7..09b3453 100644 --- a/resource/csdk/connectivity/src/tcp_adapter/arduino/SConscript +++ b/resource/csdk/connectivity/src/tcp_adapter/arduino/SConscript @@ -1,17 +1,20 @@ ####################################################### # Build TCP adapter for Ardunino ####################################################### +import os -Import('env', 'src_dir') -import os.path +Import('connectivity_env') -env.AppendUnique(CPPPATH = [ os.path.join(src_dir, 'arduino') ]) +src_dir = os.path.abspath(os.curdir) -if env.get('SHIELD') == 'ETH': - src_files = [ 'catcpserver_eth.cpp' , - 'catcpadapterutils_eth.cpp'] +connectivity_env.PrependUnique(CPPPATH = [ src_dir ]) + +src_files = None +if connectivity_env.get('SHIELD') == 'ETH': + src_files = [ os.path.join(src_dir, 'catcpserver_eth.cpp') , + os.path.join(src_dir, 'catcpadapterutils_eth.cpp')] else: print "\nError: TCP is not supported for WIFI shield" Exit(1) -Return('src_files') +connectivity_env.AppendUnique(CA_SRC = src_files) diff --git a/resource/csdk/connectivity/test/SConscript b/resource/csdk/connectivity/test/SConscript index a266b5f..7cb90f6 100644 --- a/resource/csdk/connectivity/test/SConscript +++ b/resource/csdk/connectivity/test/SConscript @@ -33,11 +33,23 @@ rd_mode = catest_env.get('RD_MODE') ###################################################################### # Build flags ###################################################################### +if catest_env.get('WITH_UPSTREAM_LIBCOAP') == '1': + # For bring up purposes only, we manually copy the forked version to where the unforked version is downloaded. + catest_env.AppendUnique(CPPPATH = [os.path.join('#', 'extlibs', 'libcoap', 'libcoap', 'include')]) +else: + # For bring up purposes only, the forked version will live here. + catest_env.AppendUnique(CPPPATH = [ os.path.join('#', 'resource', 'csdk', 'connectivity', 'lib', 'libcoap-4.1.1', 'include')]) + catest_env.PrependUnique(CPPPATH = [ - '../../logger/include', - '../../include', - '../../stack/include', - '../../../oc_logger/include', + '#/extlibs/timer', + '#/extlibs/mbedtls/mbedtls/include', + '#/resource/csdk/connectivity/api', + '#/resource/csdk/connectivity/inc', + '#/resource/csdk/connectivity/common/inc', + '#/resource/csdk/logger/include', + '#/resource/csdk/include', + '#/resource/csdk/stack/include', + '#/resource/oc_logger/include', ]) catest_env.AppendUnique(LIBPATH = [catest_env.get('BUILD_DIR')]) @@ -46,19 +58,16 @@ catest_env.PrependUnique(LIBS = ['octbstack_test', 'coap']) if target_os not in ['arduino', 'darwin', 'ios', 'msys_nt', 'windows']: - catest_env.AppendUnique(LIBS=['rt']) + catest_env.AppendUnique(LIBS=['rt']) if catest_env.get('SECURED') == '1': - catest_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509','mbedcrypto']) + catest_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509','mbedcrypto']) if 'CLIENT' in rd_mode or 'SERVER' in rd_mode: - catest_env.PrependUnique(LIBS = ['resource_directory']) - -if catest_env.get('LOGGING'): - catest_env.AppendUnique(CPPDEFINES = ['TB_LOG']) + catest_env.PrependUnique(LIBS = ['resource_directory']) if target_os not in ['msys_nt', 'windows']: - catest_env.AppendUnique(LIBS = ['m']) + catest_env.AppendUnique(LIBS = ['m']) catest_env.AppendUnique(LIBS = ['timer']) @@ -67,21 +76,21 @@ catest_env.AppendUnique(LIBS = ['timer']) ###################################################################### tests_src = [ - 'catests.cpp', - 'caprotocolmessagetest.cpp', - 'ca_api_unittest.cpp', - 'octhread_tests.cpp', - 'uarraylist_test.cpp', - 'ulinklist_test.cpp', - 'uqueue_test.cpp' + 'catests.cpp', + 'caprotocolmessagetest.cpp', + 'ca_api_unittest.cpp', + 'octhread_tests.cpp', + 'uarraylist_test.cpp', + 'ulinklist_test.cpp', + 'uqueue_test.cpp' ] if (('IP' in target_transport) or ('ALL' in target_transport)): - if target_os != 'arduino': - tests_src = tests_src + ['cablocktransfertest.cpp'] + if target_os != 'arduino': + tests_src = tests_src + ['cablocktransfertest.cpp'] if catest_env.get('SECURED') == '1' and catest_env.get('WITH_TCP') == True: - tests_src = tests_src + ['ssladapter_test.cpp'] + tests_src = tests_src + ['ssladapter_test.cpp'] catests = catest_env.Program('catests', tests_src) diff --git a/resource/csdk/connectivity/util/SConscript b/resource/csdk/connectivity/util/SConscript index 975c7b1..3fcd349 100644 --- a/resource/csdk/connectivity/util/SConscript +++ b/resource/csdk/connectivity/util/SConscript @@ -1,44 +1,41 @@ ####################################################### -# Build Common Util +# Build Common Util ####################################################### +import os -Import('env') -import os.path +Import('connectivity_env') print "Reading util folder script" -ca_os = env.get('TARGET_OS') -ca_transport = env.get('TARGET_TRANSPORT') -target_os = env.get('TARGET_OS') -project_root = env.get('SRC_DIR') -with_cloud = env.get('WITH_CLOUD') -with_tcp = env.get('WITH_TCP') -root_dir = os.path.join(project_root, 'resource', 'csdk', 'connectivity') -src_dir = os.path.join(root_dir, 'util', 'src') +ca_transport = connectivity_env.get('TARGET_TRANSPORT') +target_os = connectivity_env.get('TARGET_OS') +src_dir = os.path.join(os.path.abspath(os.curdir), 'src') +camanager_src_dir = os.path.join(src_dir, 'camanager') +with_cloud = connectivity_env.get('WITH_CLOUD') +with_tcp = connectivity_env.get('WITH_TCP') ###################################################################### # Source files to build common for platforms ###################################################################### -env.AppendUnique(CA_SRC = [os.path.join('./../util/src/cautilinterface.c')]) +connectivity_env.AppendUnique(CA_SRC = [os.path.join(src_dir, 'cautilinterface.c')]) if target_os == 'android': - if (('BLE' in ca_transport) or ('ALL' in ca_transport)): - env.AppendUnique(CA_SRC = [ - os.path.join(src_dir, 'camanager', 'bt_le_manager', 'android', 'caleconnectionmanager.c'), - os.path.join(src_dir, 'camanager', 'bt_le_manager', 'android', 'caleautoconnector.c'), - os.path.join(src_dir, 'camanager', 'bt_le_manager', 'android', 'camanagerleutil.c'), - os.path.join(src_dir, 'camanager', 'bt_le_manager', 'android', 'camanagerdevice.c')]) - - if (('BT' in ca_transport) or ('ALL' in ca_transport)): - env.AppendUnique(CA_SRC = [ - os.path.join(src_dir, 'btpairing' ,'android', 'cabtpairing.c')]) - -if (with_cloud == True) and (with_tcp == True): - env.AppendUnique(CPPDEFINES = ['WITH_CLOUD']) - env.AppendUnique(CA_SRC = [ - os.path.join(src_dir, 'camanager', 'caconnectionmanager.c'), - os.path.join(src_dir, 'camanager', 'camanagerutil.c'), - os.path.join(src_dir, 'camanager', 'camessagearbiter.c'), - os.path.join(src_dir, 'camanager', 'capolicymanager.c')]) + if (('BLE' in ca_transport) or ('ALL' in ca_transport)): + bt_le_manager_src_dir = os.path.join(camanager_src_dir, 'bt_le_manager', 'android') + connectivity_env.AppendUnique(CA_SRC = [ + os.path.join(bt_le_manager_src_dir, 'caleconnectionmanager.c'), + os.path.join(bt_le_manager_src_dir, 'caleautoconnector.c'), + os.path.join(bt_le_manager_src_dir, 'camanagerleutil.c'), + os.path.join(bt_le_manager_src_dir, 'camanagerdevice.c')]) + + if (('BT' in ca_transport) or ('ALL' in ca_transport)): + connectivity_env.AppendUnique(CA_SRC = [os.path.join(src_dir, 'btpairing', 'android', 'cabtpairing.c')]) + +if with_cloud and with_tcp: + connectivity_env.AppendUnique(CA_SRC = [ + os.path.join(camanager_src_dir, 'caconnectionmanager.c'), + os.path.join(camanager_src_dir, 'camanagerutil.c'), + os.path.join(camanager_src_dir, 'camessagearbiter.c'), + os.path.join(camanager_src_dir, 'capolicymanager.c')]) diff --git a/resource/csdk/resource-directory/SConscript b/resource/csdk/resource-directory/SConscript index 7d7b167..123d147 100755 --- a/resource/csdk/resource-directory/SConscript +++ b/resource/csdk/resource-directory/SConscript @@ -35,16 +35,16 @@ rd_mode = env.get('RD_MODE') ###################################################################### # Build flags ###################################################################### -rd_env.AppendUnique(CPPPATH = ['include', +rd_env.AppendUnique(CPPPATH = [ '#/resource/csdk/security/include', + 'include', 'src/internal', - '../include', - '../stack/include', - '../stack/include/internal', - '../../include', - '../logger/include', - '../../oc_logger/include', - '../connectivity/api', - '../security/include' + '#/resource/csdk/include', + '#/resource/csdk/stack/include', + '#/resource/csdk/stack/include/internal', + '#/resource/include', + '#/resource/csdk/logger/include', + '#/resource/oc_logger/include', + '#/resource/csdk/connectivity/api' ]) if 'CLIENT' in rd_mode: diff --git a/resource/csdk/resource-directory/samples/SConscript b/resource/csdk/resource-directory/samples/SConscript index 02baefe..1b0ce46 100644 --- a/resource/csdk/resource-directory/samples/SConscript +++ b/resource/csdk/resource-directory/samples/SConscript @@ -38,6 +38,7 @@ rd_sample_app_env.AppendUnique(CPPPATH = ['../include', '../src/internal', src_dir + '/resource/csdk/include', src_dir + '/resource/csdk/stack/include', + src_dir + '/resource/csdk/security/include', src_dir + '/resource/include', src_dir + '/resource/oc_logger/include',]) diff --git a/resource/csdk/resource-directory/unittests/SConscript b/resource/csdk/resource-directory/unittests/SConscript index 74c09ed..3cc6ad1 100644 --- a/resource/csdk/resource-directory/unittests/SConscript +++ b/resource/csdk/resource-directory/unittests/SConscript @@ -62,6 +62,7 @@ rd_test_env.AppendUnique( src_dir + '/resource/include', src_dir + '/resource/csdk/include', src_dir + '/resource/csdk/stack/include', + src_dir + '/resource/csdk/security/include', src_dir + '/resource/csdk/stack/test/', src_dir + '/resource/oc_logger/include',]) diff --git a/resource/csdk/security/SConscript b/resource/csdk/security/SConscript index 9a750ea..825321d 100644 --- a/resource/csdk/security/SConscript +++ b/resource/csdk/security/SConscript @@ -37,9 +37,10 @@ if with_upstream_libcoap == '1': libocsrm_env.AppendUnique(CPPPATH = ['#extlibs/libcoap/libcoap/include']) else: # For bring up purposes only, the forked version will live here. - libocsrm_env.AppendUnique(CPPPATH = ['#/resource/connectivity/lib/libcoap-4.1.1/include']) + libocsrm_env.AppendUnique(CPPPATH = ['#/resource/csdk/connectivity/lib/libcoap-4.1.1/include']) libocsrm_env.PrependUnique(CPPPATH = [ + '#/extlibs/mbedtls/mbedtls/include', '#/resource/csdk/logger/include', '#/resource/c_common/ocrandom/include', '#/resource/csdk/include', diff --git a/resource/examples/SConscript b/resource/examples/SConscript index 5bc0128..01bcea3 100644 --- a/resource/examples/SConscript +++ b/resource/examples/SConscript @@ -35,13 +35,14 @@ target_os = examples_env.get('TARGET_OS') # Build flags ###################################################################### examples_env.AppendUnique(CPPPATH = [ - '../include/', - '../csdk/include', - '../csdk/stack/include', - '../c_common/ocrandom/include', - '../csdk/logger/include', - '../oc_logger/include', - ]) + '#/resource/csdk/security/include', + '#/resource/include/', + '#/resource/csdk/include', + '#/resource/csdk/stack/include', + '#/resource/c_common/ocrandom/include', + '#/resource/csdk/logger/include', + '#/resource/oc_logger/include' + ]) examples_env.AppendUnique(LIBPATH = [examples_env.get('BUILD_DIR')]) examples_env.AppendUnique(RPATH = [examples_env.get('BUILD_DIR')]) @@ -53,67 +54,56 @@ examples_env.AppendUnique(LIBS = ['oc']) compiler = examples_env.get('CXX') if 'g++' in compiler: - examples_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall']) + examples_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall']) if target_os in ['msys_nt', 'windows']: - examples_env.PrependUnique(LIBS = ['mswsock', 'ws2_32', 'iphlpapi', 'ole32']) + examples_env.PrependUnique(LIBS = ['mswsock', 'ws2_32', 'iphlpapi', 'ole32']) if examples_env.get('SECURED') == '1': - examples_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509','mbedcrypto']) - examples_env.AppendUnique(CPPDEFINES = ['_WITH_DTLS_']) - if target_os in ['msys_nt', 'windows']: - examples_env.AppendUnique(LIBS = ['advapi32']) + examples_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509','mbedcrypto']) + if target_os in ['msys_nt', 'windows']: + examples_env.AppendUnique(LIBS = ['advapi32']) if target_os == 'android': - examples_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions']) - examples_env.AppendUnique(LIBS = ['gnustl_shared']) + examples_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions']) + examples_env.AppendUnique(LIBS = ['gnustl_shared']) - if not examples_env.get('RELEASE'): - examples_env.AppendUnique(LIBS = ['log']) - -if target_os in ['darwin', 'ios']: - examples_env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE']) - -if examples_env.get('WITH_CLOUD'): - examples_env.AppendUnique(CPPDEFINES = ['WITH_CLOUD']) + if not examples_env.get('RELEASE'): + examples_env.AppendUnique(LIBS = ['log']) if target_os in ['msys_nt', 'windows']: - examples_env.AppendUnique(LIBS = ['Comctl32', 'Gdi32', 'User32']) - -if examples_env.get('LOGGING'): - examples_env.AppendUnique(CPPDEFINES = ['TB_LOG']) + examples_env.AppendUnique(LIBS = ['Comctl32', 'Gdi32', 'User32']) def make_single_file_cpp_program(program_name): - return examples_env.Program(program_name, program_name + ".cpp") + return examples_env.Program(program_name, program_name + ".cpp") ###################################################################### # Source files and Targets ###################################################################### example_names = [ - 'simpleserver', 'simpleclient', - 'simpleclientserver', - 'directpairingclient', - 'devicediscoveryserver', 'devicediscoveryclient', - 'simpleserverHQ', 'simpleclientHQ', - ] + 'simpleserver', 'simpleclient', + 'simpleclientserver', + 'directpairingclient', + 'devicediscoveryserver', 'devicediscoveryclient', + 'simpleserverHQ', 'simpleclientHQ', + ] if target_os not in ['windows', 'msys_nt']: - example_names += [ - 'fridgeserver', 'fridgeclient', - 'presenceserver', 'presenceclient', - 'roomserver', 'roomclient', - 'garageserver', - 'garageclient', - 'groupserver', - 'groupclient', - 'lightserver', - 'threadingsample', - ] - if 'CLIENT' in examples_env.get('RD_MODE'): - examples_env.AppendUnique(CPPPATH = ['../csdk/resource-directory/include']) - examples_env.AppendUnique(LIBS = ['resource_directory']) - examples_env.AppendUnique(CPPDEFINES = ['RD_CLIENT']) - example_names += ['rdclient'] + example_names += [ + 'fridgeserver', 'fridgeclient', + 'presenceserver', 'presenceclient', + 'roomserver', 'roomclient', + 'garageserver', + 'garageclient', + 'groupserver', + 'groupclient', + 'lightserver', + 'threadingsample', + ] + if 'CLIENT' in examples_env.get('RD_MODE'): + examples_env.AppendUnique(CPPPATH = ['../csdk/resource-directory/include']) + examples_env.AppendUnique(LIBS = ['resource_directory']) + example_names += ['rdclient'] examples = map(make_single_file_cpp_program, example_names) @@ -121,21 +111,21 @@ examples = map(make_single_file_cpp_program, example_names) # Other examples ###################################################################### clientjson = examples_env.Install(examples_env.get('BUILD_DIR') + '/resource/examples/', - examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_client.dat') + examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_client.dat') serverjson = examples_env.Install(examples_env.get('BUILD_DIR') + '/resource/examples/', - examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_server.dat') + examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_server.dat') light_introspection_json = examples_env.Install(examples_env.get('BUILD_DIR') + '/resource/examples/', - examples_env.get('SRC_DIR') + '/resource/examples/' + 'light_introspection.json') + examples_env.get('SRC_DIR') + '/resource/examples/' + 'light_introspection.json') directpairingdat = examples_env.Install(examples_env.get('BUILD_DIR') + '/resource/examples/', - examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_client_directpairing.dat') + examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_client_directpairing.dat') examples += [clientjson, serverjson, directpairingdat] if target_os in ['msys_nt', 'windows']: - winUIClient = examples_env.Program('winUIClient', ['winuiclientgui.cpp', 'winuiclient.cpp']) - mediaserver = examples_env.Program('mediaserver', 'mediaserver.cpp') - examples += [winUIClient, mediaserver] + winUIClient = examples_env.Program('winUIClient', ['winuiclientgui.cpp', 'winuiclient.cpp']) + mediaserver = examples_env.Program('mediaserver', 'mediaserver.cpp') + examples += [winUIClient, mediaserver] Alias("examples", examples) examples_env.AppendTarget('examples') diff --git a/resource/provisioning/examples/provisioningclient.cpp b/resource/provisioning/examples/provisioningclient.cpp index 1b6905a..d38f6b8 100644 --- a/resource/provisioning/examples/provisioningclient.cpp +++ b/resource/provisioning/examples/provisioningclient.cpp @@ -37,7 +37,7 @@ #include "oxmjustworks.h" #include "oxmrandompin.h" #include "aclresource.h" -#include "utlist.h" +#include "coap/utlist.h" #define MAX_PERMISSION_LENGTH (5) #define ACL_RESRC_ARRAY_SIZE (3) diff --git a/resource/src/SConscript b/resource/src/SConscript index 7f71fad..77b7d34 100644 --- a/resource/src/SConscript +++ b/resource/src/SConscript @@ -51,6 +51,7 @@ oclib_env.AppendUnique(CPPPATH = [ '../include/', '../csdk/include', '../csdk/stack/include', + '../csdk/security/include', '../c_common/ocrandom/include', '../csdk/logger/include', '../oc_logger/include', diff --git a/service/easy-setup/mediator/richsdk/src/EnrolleeSecurity.cpp b/service/easy-setup/mediator/richsdk/src/EnrolleeSecurity.cpp index dee43d3..42fa6fc 100755 --- a/service/easy-setup/mediator/richsdk/src/EnrolleeSecurity.cpp +++ b/service/easy-setup/mediator/richsdk/src/EnrolleeSecurity.cpp @@ -29,7 +29,7 @@ #include "oic_malloc.h" #include "provisioningdatabasemanager.h" #include "oic_string.h" -#include "utlist.h" +#include "coap/utlist.h" #include "srmutility.h" #include "aclresource.h" #include "internal/doxmresource.h" diff --git a/service/easy-setup/sampleapp/enrollee/linux/SConscript b/service/easy-setup/sampleapp/enrollee/linux/SConscript index 651c15d..96781e5 100644 --- a/service/easy-setup/sampleapp/enrollee/linux/SConscript +++ b/service/easy-setup/sampleapp/enrollee/linux/SConscript @@ -45,10 +45,11 @@ if env.get('LOGGING'): env.AppendUnique(CPPDEFINES = ['TB_LOG']) enrollee_env.PrependUnique(CPPPATH = [ - env.get('SRC_DIR') + '/resource/include', + env.get('SRC_DIR') + '/resource/include', env.get('SRC_DIR') + '/resource/oc_logger/include', env.get('SRC_DIR') + '/resource/csdk/logger/include', env.get('SRC_DIR') + '/resource/csdk/include', + env.get('SRC_DIR') + '/resource/csdk/security/include', env.get('SRC_DIR') + '/resource/csdk/stack/include', env.get('SRC_DIR') + '/extlibs/cjson', env.get('SRC_DIR') + '/service/easy-setup/inc', @@ -58,8 +59,8 @@ enrollee_env.PrependUnique(CPPPATH = [ enrollee_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'ocsrm', 'pthread', 'connectivity_abstraction','coap', 'ESEnrolleeSDK']) if enrollee_env.get('SECURED') == '1': - enrollee_env.PrependUnique(LIBS = ['ocpmapi', 'ocprovision']) - enrollee_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509', 'mbedcrypto']) + enrollee_env.PrependUnique(LIBS = ['ocpmapi', 'ocprovision']) + enrollee_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509', 'mbedcrypto']) enrollee = enrollee_env.Program('enrollee', ['enrolleewifi.c', 'easysetup_x.c']) diff --git a/service/notification/SConscript b/service/notification/SConscript index 7be3423..62d0b05 100755 --- a/service/notification/SConscript +++ b/service/notification/SConscript @@ -46,10 +46,11 @@ notification_env.AppendUnique(CPPPATH = ['include']) notification_env.AppendUnique(CPPPATH = ['src/common']) notification_env.AppendUnique(CPPPATH = ['src/provider']) notification_env.AppendUnique(CPPPATH = ['src/consumer']) -notification_env.AppendUnique(CPPPATH = ['../../resource/csdk/include']) -notification_env.AppendUnique(CPPPATH = ['../../resource/csdk/stack/include']) -notification_env.AppendUnique(CPPPATH = ['../../resource/csdk/resource-directory/include']) -notification_env.AppendUnique(CPPPATH = ['../../resource/csdk/connectivity/api']) +notification_env.AppendUnique(CPPPATH = ['#/resource/csdk/include']) +notification_env.AppendUnique(CPPPATH = ['#/resource/csdk/security/include']) +notification_env.AppendUnique(CPPPATH = ['#/resource/csdk/stack/include']) +notification_env.AppendUnique(CPPPATH = ['#/resource/csdk/resource-directory/include']) +notification_env.AppendUnique(CPPPATH = ['#/resource/csdk/connectivity/api']) notification_env.PrependUnique(LIBS = [ 'octbstack', diff --git a/service/notification/cpp-wrapper/provider/SConscript b/service/notification/cpp-wrapper/provider/SConscript index ee82fd9..d94dd35 100755 --- a/service/notification/cpp-wrapper/provider/SConscript +++ b/service/notification/cpp-wrapper/provider/SConscript @@ -48,6 +48,7 @@ notification_env.AppendUnique(CPPPATH = ['inc']) notification_env.AppendUnique(CPPPATH = ['../common']) notification_env.AppendUnique(CPPPATH = ['../consumer/inc']) notification_env.AppendUnique(CPPPATH = ['../../src/common']) +notification_env.AppendUnique(CPPPATH = ['#/resource/csdk/security/include']) notification_env.PrependUnique(LIBS = [ 'oc_logger', diff --git a/service/notification/examples/linux/SConscript b/service/notification/examples/linux/SConscript index 30ec31b..13c7c8b 100644 --- a/service/notification/examples/linux/SConscript +++ b/service/notification/examples/linux/SConscript @@ -15,10 +15,11 @@ target_os = env.get('TARGET_OS') notification_sample_env.AppendUnique(CPPPATH = ['../../include']) notification_sample_env.AppendUnique(CPPPATH = ['../../src/common']) notification_sample_env.AppendUnique(CPPPATH = ['../../src/provider']) -notification_sample_env.AppendUnique(CPPPATH = ['../../../../resource/csdk/include']) -notification_sample_env.AppendUnique(CPPPATH = ['../../../../resource/csdk/stack/include']) -notification_sample_env.AppendUnique(CPPPATH = ['../../../../resource/csdk/resource-directory/include']) -notification_sample_env.AppendUnique(CPPPATH = ['../../../../resource/csdk/connectivity/api']) +notification_sample_env.AppendUnique(CPPPATH = ['#/resource/csdk/include']) +notification_sample_env.AppendUnique(CPPPATH = ['#/resource/csdk/stack/include']) +notification_sample_env.AppendUnique(CPPPATH = ['#/resource/csdk/security/include']) +notification_sample_env.AppendUnique(CPPPATH = ['#/resource/csdk/resource-directory/include']) +notification_sample_env.AppendUnique(CPPPATH = ['#/resource/csdk/connectivity/api']) notification_sample_env.PrependUnique(LIBS = [ 'octbstack', diff --git a/service/resource-encapsulation/SConscript b/service/resource-encapsulation/SConscript index 85b45d5..31a8dfe 100644 --- a/service/resource-encapsulation/SConscript +++ b/service/resource-encapsulation/SConscript @@ -63,7 +63,7 @@ resourceClient_env.AppendUnique(CPPPATH = [ 'src/resourceCache/include' ]) -resourceClient_env.PrependUnique(LIBS = ['oc', 'rcs_common', 'octbstack','oc_logger']) +resourceClient_env.PrependUnique(LIBS = ['resource_directory', 'oc', 'rcs_common', 'octbstack','oc_logger']) if target_os not in ['windows']: resourceClient_env.AppendUnique(CXXFLAGS = ['-Wall', '-std=c++0x']) -- 2.7.4