iotivity 0.9.0
[platform/upstream/iotivity.git] / resource / src / SConscript
1 ##
2 # OCLib (share library) build script
3 ##
4 Import('env')
5
6 # Add third party libraries
7 lib_env = env.Clone()
8 SConscript(env.get('SRC_DIR') + '/resource/third_party_libs.scons', 'lib_env')
9
10 oclib_env = lib_env.Clone()
11 ######################################################################
12 # Build flags
13 ######################################################################
14 oclib_env.AppendUnique(CPPPATH = [
15                 '../include/',
16                 '../csdk/stack/include',
17                 '../csdk/ocsocket/include',
18                 '../csdk/ocrandom/include',
19                 '../csdk/logger/include',
20                 '../csdk/libcoap',
21                 '../oc_logger/include'
22                 ])
23
24 target_os = env.get('TARGET_OS')
25 if target_os not in ['windows', 'winrt']:
26         oclib_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-fPIC'])
27
28 if target_os == 'android':
29         oclib_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
30         oclib_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
31         oclib_env.AppendUnique(LIBS = ['octbstack', 'coap', 'oc_logger', 'boost_thread', 'gnustl_static', 'log', 'compatibility'])
32
33 if target_os in ['darwin', 'ios']:
34         oclib_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
35         oclib_env.AppendUnique(LIBS = ['octbstack', 'coap', 'oc_logger'])
36
37 ######################################################################
38 # Source files and Targets
39 ######################################################################
40 oclib_src = [
41                 'OCPlatform.cpp',
42                 'OCPlatform_impl.cpp',
43                 'OCResource.cpp',
44                 'OCUtilities.cpp',
45                 'OCException.cpp',
46                 'OCRepresentation.cpp',
47                 'InProcServerWrapper.cpp',
48                 'InProcClientWrapper.cpp'
49         ]
50
51 shared_oclib = oclib_env.SharedLibrary('oc', oclib_src)
52 static_oclib = oclib_env.StaticLibrary('oc', oclib_src)
53 oclib_env.InstallTarget([shared_oclib, static_oclib], 'liboc')