Update CA layer code for tinyDTLS location
[platform/upstream/iotivity.git] / resource / csdk / connectivity / src / SConscript
1 ##
2 # CA build script
3 ##
4
5 Import('env')
6
7 ca_os = env.get('TARGET_OS')
8 ca_transport = env.get('TARGET_TRANSPORT')
9 secured = env.get('SECURED')
10 root_dir = './../'
11 ca_path = './'
12 current_dir=env.get('SRC_DIR')
13
14 # The tinydtls library location is ~/iotivity/extlibs. When scons run from connectivity folder,
15 # the build folder is ~/iotivity/resource/csdk/connectivity/out/linux/x86_64/release/.
16 # To include  ~/iotivity/extlibs/tinyDTLS, it should go seven level up from the build folder.
17 extlib_dir ='../../../../../../../../'
18
19 #####################################################################
20 # Source files and Target(s)
21 ######################################################################
22
23 print"Reading ca script %s"%ca_transport
24
25 env.PrependUnique(CPPPATH = [root_dir + '/api/'])
26 env.AppendUnique(CPPPATH = [root_dir + '/inc/'])
27 env.AppendUnique(CPPPATH = [root_dir + '/lib/libcoap-4.1.1/'])
28 env.AppendUnique(CPPPATH = [root_dir + '/common/inc/'])
29
30 #Getting common source files
31 env.SConscript('./../common/SConscript')
32
33 if env.get('SECURED') == '1':
34         if current_dir.find('connectivity') == -1:
35                 env.SConscript(current_dir +'/extlibs/tinydtls/SConscript')
36         else:
37                 env.SConscript(extlib_dir + '/extlibs/tinydtls/SConscript')
38
39
40 env.AppendUnique(CA_SRC=[ca_path+'adapter_util/caadapterutils.c'])
41 env.AppendUnique(CA_SRC=[ca_path+'adapter_util/camsgparser.c'])
42 if env.get('SECURED') == '1':
43         env.AppendUnique(CA_SRC=[ca_path+'adapter_util/caadapternetdtls.c'])
44         env.AppendUnique(CPPPATH = [root_dir + '/external/inc/'])
45
46 if ca_os == 'arduino':
47         ca_common_src = [
48                 ca_path + 'caconnectivitymanager_singlethread.c',
49                 ca_path + 'cainterfacecontroller_singlethread.c',
50                 ca_path + 'camessagehandler_singlethread.c',
51                 ca_path + 'canetworkconfigurator_singlethread.c',
52                 ca_path + 'caprotocolmessage.c',
53                 ca_path + 'caremotehandler.c',
54                 ca_path + 'caretransmission_singlethread.c',
55                 ]
56 else:
57         ca_common_src = [
58                 ca_path + 'caconnectivitymanager.c',
59                 ca_path + 'cainterfacecontroller.c',
60                 ca_path + 'camessagehandler.c',
61                 ca_path + 'canetworkconfigurator.c',
62                 ca_path + 'caprotocolmessage.c',
63                 ca_path + 'caqueueingthread.c',
64                 ca_path + 'caremotehandler.c',
65                 ca_path + 'caretransmission.c',
66                 ]
67         if secured == '1':
68                 env.AppendUnique(CPPDEFINES = ['__WITH_DTLS__'])
69                 if current_dir.find('connectivity') == -1:
70                         env.AppendUnique(CPPPATH = [current_dir + '/extlibs/tinydtls'])
71                 else:
72                         env.AppendUnique(CPPPATH = [extlib_dir + '/extlibs/tinydtls'])
73 env.AppendUnique(CA_SRC = ca_common_src)
74
75
76
77 if 'ALL' in ca_transport:
78         env.SConscript(ca_path + 'ethernet_adapter/SConscript')
79         env.SConscript(ca_path + 'wifi_adapter/SConscript')
80         env.SConscript(ca_path + 'bt_edr_adapter/SConscript')
81         env.SConscript(ca_path + 'bt_le_adapter/SConscript')
82
83 if 'WIFI' in ca_transport:
84         env.SConscript(ca_path + 'wifi_adapter/SConscript')
85
86 if 'ETHERNET' in ca_transport:
87         env.SConscript(ca_path + 'ethernet_adapter/SConscript')
88
89 if 'BT' in ca_transport:
90         env.SConscript(ca_path + 'bt_edr_adapter/SConscript')
91
92 if 'BLE' in ca_transport:
93         env.SConscript(ca_path + 'bt_le_adapter/SConscript')
94
95 print "Include path is %s" %env.get('CPPPATH')
96 print "Files path is %s" %env.get('CA_SRC')
97
98 calib = env.StaticLibrary('connectivity_abstraction', env.get('CA_SRC'))
99 env.InstallTarget(calib, 'libconnectivity_abstraction')
100