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