893dc5c497857b7c012d89671e47646bf7e6fcbb
[platform/upstream/iotivity.git] / resource / csdk / connectivity / SConscript
1 ##
2 # CA build script
3 ##
4
5 Import('env')
6
7 target_os = env.get('TARGET_OS')
8 transport = env.get('TARGET_TRANSPORT')
9 build_sample = env.get('BUILD_SAMPLE')
10 with_ra = env.get('WITH_RA')
11 with_tcp = env.get('WITH_TCP')
12
13 print "Given Transport is %s" % transport
14 print "Given OS is %s" % target_os
15 print "BUILD_SAMPLE is %s" % build_sample
16
17 targets_disallow_multitransport = ['arduino']
18
19 if target_os in targets_disallow_multitransport:
20     if ('ALL' in transport) or (len(transport) != 1):
21         print "*** Error invalid option values: TARGET_TRANSPORT"
22         print "%s disallowed until testing can validate use of multiple transports on %s %d" % (transport, target_os, len(transport))
23         Exit(1)
24
25 if 'ALL' in transport:
26         if with_ra == True:
27                         env.AppendUnique(CPPDEFINES = ['RA_ADAPTER'])
28         if with_tcp == True:
29                         env.AppendUnique(CPPDEFINES = ['TCP_ADAPTER'])
30         if target_os == 'linux':
31                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','NO_EDR_ADAPTER','LE_ADAPTER'])
32         elif target_os == 'tizen':
33                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER'])
34         elif target_os == 'android':
35                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER', 'NFC_ADAPTER'])
36         elif target_os in['darwin','ios']:
37                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','NO_EDR_ADAPTER','NO_LE_ADAPTER'])
38         else:
39                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER'])
40         print "CA Transport is ALL"
41 else:
42         if 'BT' in transport:
43                 if target_os == 'linux':
44                         print "CA Transport BT is not supported in Linux"
45                         Exit(1)
46                 else:
47                         env.AppendUnique(CPPDEFINES = ['EDR_ADAPTER'])
48                         print "CA Transport is BT"
49         else:
50                 env.AppendUnique(CPPDEFINES = ['NO_EDR_ADAPTER'])
51
52         if 'BLE' in transport:
53                 env.AppendUnique(CPPDEFINES = ['LE_ADAPTER'])
54                 print "CA Transport is BLE"
55         else:
56                 env.AppendUnique(CPPDEFINES = ['NO_LE_ADAPTER'])
57
58         if 'IP' in transport:
59                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER'])
60                 print "CA Transport is IP"
61         else:
62                 env.AppendUnique(CPPDEFINES = ['NO_IP_ADAPTER'])
63
64         if with_tcp == True:
65                 if target_os in ['linux', 'tizen', 'android']:
66                         env.AppendUnique(CPPDEFINES = ['TCP_ADAPTER', 'WITH_TCP'])
67                         print "CA Transport is TCP"
68                 else:
69                         print "CA Transport TCP is not supported "
70                         Exit(1)
71         else:
72                 env.AppendUnique(CPPDEFINES = ['NO_TCP_ADAPTER'])
73
74         if 'NFC' in transport:
75                 if target_os in['android']:
76                         env.AppendUnique(CPPDEFINES = ['NFC_ADAPTER'])
77                         print "CA Transport is NFC"
78                 else:
79                         print "CA Transport NFC is not supported "
80                         Exit(1)
81         else:
82                 env.AppendUnique(CPPDEFINES = ['NO_NFC_ADAPTER'])
83
84 env.SConscript('./src/SConscript')
85
86 if build_sample == 'ON':
87         if target_os in ['linux', 'arduino', 'darwin']:
88                 target_path = target_os
89
90                 if target_os == 'darwin':
91                         target_path = 'linux'
92                 env.SConscript('./samples/' + target_path + '/SConscript')
93
94         elif target_os in ['android']:
95                 env.SConscript('./samples/' + target_os + '/SConscript')
96
97                 #to build sample apk, uncomment below line after ca libraries are built
98                 #while building ca libraries comment the below line, to avoid build errors
99
100                 #env.SConscript('./samples/' + target_os + '/casample/SConscript')