a38cdbce2da07391ee26651bd46bc89cad490d4e
[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 disable_tcp_server = env.get('DISABLE_TCP_SERVER')
13 with_mq = env.get('WITH_MQ')
14 ble_custom_adv = env.get('BLE_CUSTOM_ADV')
15
16 print "Given Transport is %s" % transport
17 print "Given OS is %s" % target_os
18 print "BUILD_SAMPLE is %s" % build_sample
19 print "MQ flag is %s" % with_mq
20
21 targets_disallow_multitransport = ['arduino']
22
23 if target_os in targets_disallow_multitransport:
24     if ('ALL' in transport) or (len(transport) != 1):
25         print "*** Error invalid option values: TARGET_TRANSPORT"
26         print "%s disallowed until testing can validate use of multiple transports on %s %d" % (transport, target_os, len(transport))
27         Exit(1)
28
29 if 'ALL' in transport:
30         if with_ra == True:
31                         env.AppendUnique(CPPDEFINES = ['RA_ADAPTER'])
32         if with_tcp == True:
33                         env.AppendUnique(CPPDEFINES = ['TCP_ADAPTER'])
34         if disable_tcp_server == True:
35                         env.AppendUnique(CPPDEFINES = ['DISABLE_TCP_SERVER'])
36         if target_os in ['linux']:
37                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','NO_EDR_ADAPTER','LE_ADAPTER'])
38         elif target_os == 'tizen':
39                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER'])
40         elif target_os == 'android':
41                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER', 'NFC_ADAPTER'])
42         elif target_os in['darwin','ios']:
43                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','NO_EDR_ADAPTER','NO_LE_ADAPTER'])
44         elif target_os in ['msys_nt', 'windows']:
45                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','NO_EDR_ADAPTER','NO_LE_ADAPTER'])
46         else:
47                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER','EDR_ADAPTER','LE_ADAPTER'])
48         print "CA Transport is ALL"
49 else:
50         if 'BT' in transport:
51                 if target_os in ['linux']:
52                         print "CA Transport BT is not supported in Linux"
53                         Exit(1)
54                 else:
55                         env.AppendUnique(CPPDEFINES = ['EDR_ADAPTER'])
56                         print "CA Transport is BT"
57         else:
58                 env.AppendUnique(CPPDEFINES = ['NO_EDR_ADAPTER'])
59
60         if 'BLE' in transport:
61                 env.AppendUnique(CPPDEFINES = ['LE_ADAPTER'])
62                 print "CA Transport is BLE"
63                 if ble_custom_adv in ['True']:
64                         env.AppendUnique(CPPDEFINES = ['BLE_CUSTOM_ADVERTISE'])
65                         print "BLE Custom advertisement supported"
66                 else:
67                         print "BLE Custom advertisement not supported"
68         else:
69                 env.AppendUnique(CPPDEFINES = ['NO_LE_ADAPTER'])
70
71         if 'IP' in transport:
72                 env.AppendUnique(CPPDEFINES = ['IP_ADAPTER'])
73                 print "CA Transport is IP"
74         else:
75                 env.AppendUnique(CPPDEFINES = ['NO_IP_ADAPTER'])
76
77         if with_tcp == True:
78                 if target_os in ['linux', 'tizen', 'android', 'arduino', 'ios', 'tizenrt']:
79                         env.AppendUnique(CPPDEFINES = ['TCP_ADAPTER', 'WITH_TCP'])
80                         print "CA Transport is TCP"
81                 else:
82                         print "CA Transport TCP is not supported "
83                         Exit(1)
84         else:
85                 env.AppendUnique(CPPDEFINES = ['NO_TCP_ADAPTER'])
86
87         if disable_tcp_server == True:
88                 if target_os in ['linux', 'tizen', 'android', 'arduino', 'ios', 'tizenrt']:
89                         env.AppendUnique(CPPDEFINES = ['DISABLE_TCP_SERVER'])
90
91         if 'NFC' in transport:
92                 if target_os in['android']:
93                         env.AppendUnique(CPPDEFINES = ['NFC_ADAPTER'])
94                         print "CA Transport is NFC"
95                 else:
96                         print "CA Transport NFC is not supported "
97                         Exit(1)
98         else:
99                 env.AppendUnique(CPPDEFINES = ['NO_NFC_ADAPTER'])
100
101 if 'SUB' in with_mq:
102         env.AppendUnique(CPPDEFINES = ['MQ_SUBSCRIBER', 'WITH_MQ'])
103         print "MQ SUB support"
104
105 if 'PUB' in with_mq:
106         env.AppendUnique(CPPDEFINES = ['MQ_PUBLISHER', 'WITH_MQ'])
107         print "MQ PUB support"
108
109 if 'BROKER' in with_mq:
110         env.AppendUnique(CPPDEFINES = ['MQ_BROKER', 'WITH_MQ'])
111         print "MQ Broker support"
112
113 env.SConscript('./src/SConscript')