Updated Iotivity to compile DTLS modules using SCons
[contrib/iotivity.git] / resource / csdk / stack / samples / linux / secure / SConscript
1
2 Import('env')
3
4 samples_env = env.Clone()
5 ######################################################################
6 # Build flags
7 ######################################################################
8 samples_env.PrependUnique(CPPPATH = [
9                 '../../../../ocsocket/include',
10                 '../../../../logger/include',
11                 '../../../../stack/include',
12                 '../../../../../../extlibs/cjson',
13                 '../../../../../oc_logger/include'
14                 ])
15
16 target_os = env.get('TARGET_OS')
17 if target_os not in ['windows', 'winrt']:
18         samples_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread'])
19
20         # Note: 'pthread' is in libc for android.
21         if target_os != 'android':
22                 samples_env.AppendUnique(LIBS = ['-lpthread'])
23
24 samples_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
25 samples_env.PrependUnique(LIBS = ['oc', 'octbstack', 'm', 'coap', 'coap_csdk', 'oc_logger', 'connectivity_abstraction'])
26 samples_env.Append(LINKFLAGS = ['-Wl,--no-as-needed'])
27
28 samples_env.ParseConfig('pkg-config --libs glib-2.0');
29
30 if target_os == 'android':
31         samples_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
32         samples_env.AppendUnique(LIBS = ['gnustl_static'])
33         samples_env.AppendUnique(CPPDEFINES = ['_GLIBCXX_USE_C99=1', '_GLIBCXX_HAVE_WCSTOF=1'])
34
35         if not env.get('RELEASE'):
36                 samples_env.AppendUnique(LIBS = ['log'])
37
38 if target_os in ['darwin', 'ios']:
39         samples_env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE'])
40
41 samples_env.AppendUnique(CPPDEFINES = ['CA_INT', 'CA_INT_DTLS', 'TB_LOG'])
42
43 ######################################################################
44 # Source files and Targets
45 ######################################################################
46 ocserverbasicops = samples_env.Program('ocserverbasicops', ['common.cpp', 'ocserverbasicops.cpp'])
47 occlientbasicops = samples_env.Program('occlientbasicops', ['common.cpp', 'occlientbasicops.cpp'])
48 gen_sec_bin = samples_env.Program('gen_sec_bin', ['gen_sec_bin.cpp'])
49
50
51 Alias("samples", [ocserverbasicops, occlientbasicops])
52
53 env.AppendTarget('samples')