Merge "[CA-Integration] Added connectivity type param in APIs" into connectivity...
[platform/upstream/iotivity.git] / resource / csdk / stack / samples / linux / SimpleClientServer / 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. On other platform, if use
21         # new gcc(>4.9?) it isn't required, otherwise, it's required
22         if target_os != 'android':
23                 samples_env.AppendUnique(LIBS = ['-lpthread'])
24
25 samples_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
26 samples_env.PrependUnique(LIBS = ['oc', 'm', 'octbstack', 'coap', 'coap_csdk', 'oc_logger', 'connectivity_abstraction'])
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'])
42
43 ######################################################################
44 # Source files and Targets
45 ######################################################################
46 ocserver         = samples_env.Program('ocserver', 'ocserver.cpp')
47 occlient         = samples_env.Program('occlient', 'occlient.cpp')
48 #ocserverslow     = samples_env.Program('ocserverslow', 'ocserverslow.cpp')
49 #occlientslow     = samples_env.Program('occlientslow', 'occlientslow.cpp')
50 #ocservercoll     = samples_env.Program('ocservercoll', 'ocservercoll.cpp')
51 #occlientcoll     = samples_env.Program('occlientcoll', 'occlientcoll.cpp')
52 #ocserverbasicops = samples_env.Program('ocserverbasicops', 'ocserverbasicops.cpp')
53 #occlientbasicops = samples_env.Program('occlientbasicops', 'occlientbasicops.cpp')
54
55 Alias("samples", [ocserver, occlient,
56                                 #ocservercoll, occlientcoll,
57                                 #ocserverbasicops, occlientbasicops,
58                                 #ocserverslow, occlientslow
59                 ])
60
61 env.AppendTarget('samples')
62
63 #ios doesn't allow run application from terminal, so won't build these samples
64 #if target_os != 'ios':
65 #       SConscript('ocicuc/SConscript')