15c2181b6766c04cf8577527da7828cfd50db5ba
[iotivity.git] / resource / csdk / security / tool / SConscript
1 # //******************************************************************
2 # //
3 # // Copyright 2015 Samsung Electronics All Rights Reserved.
4 # //
5 # //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 # //
7 # // Licensed under the Apache License, Version 2.0 (the "License");
8 # // you may not use this file except in compliance with the License.
9 # // You may obtain a copy of the License at
10 # //
11 # //      http://www.apache.org/licenses/LICENSE-2.0
12 # //
13 # // Unless required by applicable law or agreed to in writing, software
14 # // distributed under the License is distributed on an "AS IS" BASIS,
15 # // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # // See the License for the specific language governing permissions and
17 # // limitations under the License.
18 # //
19 # //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20 #
21 Import('env')
22
23 tools_env = env.Clone()
24 src_dir = tools_env.get('SRC_DIR')
25 target_os = tools_env.get('TARGET_OS')
26
27 ######################################################################
28 # Build flags
29 ######################################################################
30 with_upstream_libcoap = tools_env.get('WITH_UPSTREAM_LIBCOAP')
31 if with_upstream_libcoap == '1':
32     # For bring up purposes only, we manually copy the forked version to where the unforked version is downloaded.
33     tools_env.AppendUnique(CPPPATH = ['#extlibs/libcoap/libcoap/include'])
34 else:
35     # For bring up purposes only, the forked version will live here.
36     tools_env.AppendUnique(CPPPATH = ['../../connectivity/lib/libcoap-4.1.1/include'])
37
38 tools_env.PrependUnique(CPPPATH = ['../../../../extlibs/cjson',
39                                   '../../include',
40                                   '../../stack/include',
41                                   '../../stack/include/internal',
42                                   '../../logger/include',
43                                   '../../../oc_logger/include',
44                                   '../../connectivity/api',
45                                   '../../connectivity/inc/pkix',
46                                   '../include',
47                                   '../include/internal'
48                                   ])
49 tools_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-Wextra', '-std=c++0x'])
50 tools_env.AppendUnique(LIBPATH = [tools_env.get('BUILD_DIR')])
51 tools_env.AppendUnique(RPATH = [tools_env.get('BUILD_DIR')])
52
53 if target_os in ['msys_nt', 'windows']:
54     # octbstack.dll doesn't export all the functions called by this app, so use static LIBs instead.
55     tools_env.AppendUnique(LIBS = ['coap', 'tinydtls', 'mbedtls', 'mbedx509', 'mbedcrypto',
56                                    'octbstack_static', 'ocsrm', 'connectivity_abstraction'])
57 elif target_os in ['darwin']:
58     tools_env.AppendUnique(LIBS = ['coap', 'tinydtls', 'mbedtls', 'mbedx509', 'mbedcrypto',
59                                    'octbstack', 'ocsrm', 'connectivity_abstraction'])
60 else:
61     tools_env.PrependUnique(LIBS = ['octbstack', 'm'])
62
63 ######################################################################
64 # Source files and Targets
65 ######################################################################
66 json2cbor_src = ['../../../../extlibs/cjson/cJSON.c',
67                  'json2cbor.c',]
68 json2cbor = tools_env.Program('json2cbor', json2cbor_src)
69 Alias("json2cbor", [json2cbor])
70 env.AppendTarget('json2cbor')