Updated Iotivity to compile DTLS modules using SCons
[platform/upstream/iotivity.git] / resource / csdk / connectivity / SConscript
1 ##
2 # CA library (share library) build script
3 ##
4 Import('env')
5
6 # Add third party libraries
7 lib_env = env.Clone()
8 SConscript(env.get('SRC_DIR') + '/resource/third_party_libs.scons', 'lib_env')
9
10 calib_env = lib_env.Clone()
11
12 ######################################################################
13 # Add build options (WITH_DTLS) info for help command
14 ######################################################################
15 help_vars = Variables()
16 help_vars.Add(BoolVariable('WITH_DTLS', 'enable security support?', False))
17 help_vars.Update(env)
18 Help(help_vars.GenerateHelpText(env))
19
20 ######################################################################
21 # Get build options (the options from command line)
22 ######################################################################
23 with_dtls = env.get('WITH_DTLS')
24 if (with_dtls):
25         print "Info: Building CA library with DTLS support"
26
27 ######################################################################
28 # Build flags
29 ######################################################################
30 calib_env.AppendUnique(CPPPATH = [
31                 './common/inc',
32                 './api',
33                 './inc',
34                 './src/ethernet_adapter/linux',
35                 './src/wifi_adapter/linux',
36                 './src/bt_edr_adapter/linux',
37                 './src/bt_le_adapter/linux',
38                 './lib/libcoap-4.1.1'
39                 ])
40
41 if (with_dtls):
42         calib_env.AppendUnique(CPPPATH = [
43                         './lib/extlibs/tinydtls',
44                         '../stack/include'
45                         ])
46
47 target_os = env.get('TARGET_OS')
48
49 if target_os not in ['windows', 'winrt']:
50         calib_env.AppendUnique(CFLAGS = ['-Wall', '-fPIC', '-fstack-protector-all']);
51         calib_env.AppendUnique(CPPDEFINES = [
52                         '__LINUX__', 'WITH_POSIX',
53                         'NO_EDR_ADAPTER', 'NO_LE_ADAPTER',
54                         'WIFI_ADAPTER', 'ETHERNET_ADAPTER',
55                         #'TB_LOG'
56                         ])
57         if (with_dtls):
58                 calib_env.AppendUnique(CPPDEFINES = [
59                                 '__WITH_DTLS__',
60                                 ])
61                 calib_env.AppendUnique(LIBPATH = ['./lib/extlibs/tinydtls'])
62                 calib_env.PrependUnique(LIBS = ['tinydtls'])
63
64
65 calib_env.ParseConfig('pkg-config --cflags glib-2.0')
66
67 #TODO add SConscript for libcoap
68 #`/home/tester/iotivity/resource/csdk/connectivity/lib/libcoap-4.1.1'
69
70 ######################################################################
71 # Source files and Targets
72 ######################################################################
73 calib_src = [
74                 './common/src/logger.c',
75                 './common/src/oic_logger.c',
76                 './common/src/oic_console_logger.c',
77                 './common/src/oic_malloc.c',
78                 './common/src/oic_string.c',
79                 './common/src/uqueue.c',
80                 './common/src/uarraylist.c',
81                 './common/src/umutex.c',
82                 './common/src/uthreadpool.c',
83                 './src/caretransmission.c',
84                 './src/caconnectivitymanager.c',
85                 './src/caremotehandler.c',
86                 './src/cainterfacecontroller.c',
87                 './src/camessagehandler.c',
88                 './src/caqueueingthread.c',
89                 './src/canetworkconfigurator.c',
90                 './src/caprotocolmessage.c',
91                 './src/adapter_util/caadapterutils.c',
92                 './src/ethernet_adapter/caethernetadapter.c',
93                 './src/wifi_adapter/cawifiadapter.c',
94                 './src/bt_edr_adapter/linux/caedradapter.c',
95                 './src/bt_le_adapter/linux/caleadapter.c',
96                 './src/wifi_adapter/linux/cawifiserver.c',
97                 './src/wifi_adapter/linux/cawificlient.c',
98                 './src/wifi_adapter/linux/cawifinwmonitor.c',
99                 './src/ethernet_adapter/linux/caethernetserver.c',
100                 './src/ethernet_adapter/linux/caethernetclient.c',
101                 './src/ethernet_adapter/linux/caethernetnwmonitor.c'
102         ]
103
104 if (with_dtls):
105         calib_src = calib_src + ['./src/adapter_util/caadapternetdtls.c']
106
107 calib = calib_env.SharedLibrary('connectivity_abstraction', calib_src)
108 calib_env.InstallTarget(calib, 'libconnectivity_abstraction')
109