## # CA build script ## import os.path Import('env') ca_os = env.get('TARGET_OS') ca_transport = env.get('TARGET_TRANSPORT') secured = env.get('SECURED') with_ra = env.get ('WITH_RA') root_dir = os.pardir ca_path = os.curdir ##################################################################### # Source files and Target(s) ###################################################################### print"Reading ca script %s"%ca_transport env.PrependUnique(CPPPATH = [ os.path.join(root_dir, 'api') ]) env.AppendUnique(CPPPATH = [ os.path.join(root_dir, 'inc'), os.path.join(root_dir, 'lib/libcoap-4.1.1'), os.path.join(root_dir, 'common/inc') ]) if ca_os not in ['arduino', 'windows', 'winrt']: env.AppendUnique(CPPDEFINES = ['WITH_POSIX']) if ca_os in ['darwin','ios']: env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE']) # Getting common source files env.SConscript('./../common/SConscript') # The tinydtls library is found in '#extlibs/tinydtls', where the '#' # is interpreted by SCons as the top-level iotivity directory where # the SConscruct file is found. if env.get('SECURED') == '1': if ca_os == 'tizen': env.SConscript(os.path.join(root_dir, 'extlibs/tinydtls/SConscript')) else: env.SConscript('#extlibs/tinydtls/SConscript') env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/caadapterutils.c')]) env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/cafragmentation.c')]) if ca_os in ['android', 'tizen']: env.AppendUnique(CA_SRC=[os.path.join(ca_path, 'adapter_util/ifaddrs.c')]) if env.get('SECURED') == '1': env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/caadapternetdtls.c')]) env.AppendUnique(CPPPATH = [os.path.join(root_dir, 'external/inc')]) ca_common_src = None if ca_os == 'arduino': env.AppendUnique(CPPDEFINES = ['SINGLE_THREAD']) env.AppendUnique(CPPDEFINES = ['WITH_ARDUINO']) print "setting WITH_ARDUINO" ca_common_src = [ 'caconnectivitymanager.c', 'cainterfacecontroller.c', 'camessagehandler_singlethread.c', 'canetworkconfigurator.c', 'caprotocolmessage.c', 'caretransmission.c', ] else: ca_common_src = [ 'caconnectivitymanager.c', 'cainterfacecontroller.c', 'camessagehandler.c', 'canetworkconfigurator.c', 'caprotocolmessage.c', 'caqueueingthread.c', 'caretransmission.c', ] if secured == '1': env.AppendUnique(CPPDEFINES = ['__WITH_DTLS__']) if ca_os == 'tizen': env.AppendUnique(CPPPATH = [os.path.join(root_dir, 'extlibs/tinydtls')]) else: env.AppendUnique(CPPPATH = ['#extlibs/tinydtls']) ca_common_src = [ os.path.join(ca_path, d) for d in ca_common_src ] env.AppendUnique(CA_SRC = ca_common_src) if 'ALL' in ca_transport: transports = [ 'ip_adapter', 'bt_edr_adapter', 'bt_le_adapter' ] if with_ra: transports.append ('ra_adapter') env.SConscript(dirs = [ os.path.join(ca_path, d) for d in transports ]) if 'IP' in ca_transport: env.SConscript(os.path.join(ca_path, 'ip_adapter/SConscript')) if 'BT' in ca_transport: env.SConscript(os.path.join(ca_path, 'bt_edr_adapter/SConscript')) if 'BLE' in ca_transport: env.SConscript(os.path.join(ca_path, 'bt_le_adapter/SConscript')) print "Include path is %s" % env.get('CPPPATH') print "Files path is %s" % env.get('CA_SRC') if ca_os in ['android', 'tizen']: calib = env.SharedLibrary('connectivity_abstraction', env.get('CA_SRC')) else: calib = env.StaticLibrary('connectivity_abstraction', env.get('CA_SRC')) env.InstallTarget(calib, 'libconnectivity_abstraction') env.UserInstallTargetLib(calib, 'libconnectivity_abstraction')