7 ca_os = env.get('TARGET_OS')
8 ca_transport = env.get('TARGET_TRANSPORT')
9 secured = env.get('SECURED')
13 current_dir = root_dir
15 current_dir=env.get('SRC_DIR')
17 # The tinydtls library location is ~/iotivity/extlibs. When scons run from connectivity folder,
18 # the build folder is ~/iotivity/resource/csdk/connectivity/out/linux/x86_64/release/.
19 # To include ~/iotivity/extlibs/tinyDTLS, it should go seven level up from the build folder.
20 extlib_dir ='../../../../../../../../'
22 #####################################################################
23 # Source files and Target(s)
24 ######################################################################
26 print"Reading ca script %s"%ca_transport
28 env.PrependUnique(CPPPATH = [root_dir + '/api/'])
29 env.AppendUnique(CPPPATH = [root_dir + '/inc/'])
30 env.AppendUnique(CPPPATH = [root_dir + '/lib/libcoap-4.1.1/'])
31 env.AppendUnique(CPPPATH = [root_dir + '/common/inc/'])
33 if ca_os not in ['arduino', 'windows', 'winrt']:
34 env.AppendUnique(CPPDEFINES = ['WITH_POSIX'])
36 if ca_os in ['darwin','ios']:
37 env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE'])
39 #Getting common source files
40 env.SConscript('./../common/SConscript')
42 if env.get('SECURED') == '1':
43 if current_dir.find('connectivity') == -1:
44 env.SConscript(current_dir +'/extlibs/tinydtls/SConscript')
46 env.SConscript(extlib_dir + '/extlibs/tinydtls/SConscript')
49 env.AppendUnique(CA_SRC=[ca_path+'adapter_util/caadapterutils.c'])
50 env.AppendUnique(CA_SRC=[ca_path+'adapter_util/camsgparser.c'])
51 if env.get('SECURED') == '1':
52 env.AppendUnique(CA_SRC=[ca_path+'adapter_util/caadapternetdtls.c'])
53 env.AppendUnique(CPPPATH = [root_dir + '/external/inc/'])
55 if ca_os == 'arduino':
56 env.AppendUnique(CPPDEFINES = ['SINGLE_THREAD'])
57 env.AppendUnique(CPPDEFINES = ['WITH_ARDUINO'])
58 print "setting WITH_ARDUINO"
60 ca_path + 'caconnectivitymanager_singlethread.c',
61 ca_path + 'cainterfacecontroller_singlethread.c',
62 ca_path + 'camessagehandler_singlethread.c',
63 ca_path + 'canetworkconfigurator.c',
64 ca_path + 'caprotocolmessage.c',
65 ca_path + 'caremotehandler.c',
66 ca_path + 'caretransmission_singlethread.c',
69 env.AppendUnique(CPPDEFINES = ['MULTI_THREAD'])
71 ca_path + 'caconnectivitymanager.c',
72 ca_path + 'cainterfacecontroller.c',
73 ca_path + 'camessagehandler.c',
74 ca_path + 'canetworkconfigurator.c',
75 ca_path + 'caprotocolmessage.c',
76 ca_path + 'caqueueingthread.c',
77 ca_path + 'caremotehandler.c',
78 ca_path + 'caretransmission.c',
81 env.AppendUnique(CPPDEFINES = ['__WITH_DTLS__'])
82 if current_dir.find('connectivity') == -1:
83 env.AppendUnique(CPPPATH = [current_dir + '/extlibs/tinydtls'])
85 env.AppendUnique(CPPPATH = [extlib_dir + '/extlibs/tinydtls'])
86 env.AppendUnique(CA_SRC = ca_common_src)
88 if 'ALL' in ca_transport:
89 env.SConscript(ca_path + 'ip_adapter/SConscript')
90 env.SConscript(ca_path + 'bt_edr_adapter/SConscript')
91 env.SConscript(ca_path + 'bt_le_adapter/SConscript')
93 if 'IP' in ca_transport:
94 env.SConscript(ca_path + 'ip_adapter/SConscript')
96 if 'BT' in ca_transport:
97 env.SConscript(ca_path + 'bt_edr_adapter/SConscript')
99 if 'BLE' in ca_transport:
100 env.SConscript(ca_path + 'bt_le_adapter/SConscript')
102 print "Include path is %s" %env.get('CPPPATH')
103 print "Files path is %s" %env.get('CA_SRC')
104 if ca_os in ['android', 'tizen']:
105 calib = env.SharedLibrary('connectivity_abstraction', env.get('CA_SRC'))
107 calib = env.StaticLibrary('connectivity_abstraction', env.get('CA_SRC'))
108 env.InstallTarget(calib, 'libconnectivity_abstraction')