e15658fd7c9ec3a6fa669ac1cf34e1fc976b07ad
[platform/upstream/iotivity.git] / service / protocol-plugin / plugin-manager / SConscript
1 ##
2 # plugin-manager project build script
3 ##
4
5 Import('env')
6
7 # Add third party libraries
8 lib_env = env.Clone()
9 SConscript(env.get('SRC_DIR') + '/service/third_party_libs.scons', 'lib_env')
10 plugin_manager_env = lib_env.Clone()
11
12 target_os = env.get('TARGET_OS')
13 ######################################################################
14 # Build flags
15 ######################################################################
16 plugin_manager_env.AppendUnique(CPPPATH = [
17                 '../lib/cpluff/libcpluff',
18                 'src',
19                 '../lib/rapidxml'
20                 ])
21
22 if target_os not in ['windows', 'winrt']:
23         plugin_manager_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall',
24                 '-fpermissive', '-Wsign-compare'])
25
26 if target_os == 'android':
27         plugin_manager_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
28         plugin_manager_env.AppendUnique(LIBS = ['boost_thread-gcc-mt-1_49', 'gnustl_static'])
29
30 plugin_manager_env.AppendUnique(CPPDEFINES = ['CP_C_API=CP_EXPORT',
31                                         'CP_HOST=\"\\"'+env.get('TARGET_OS')+'\\"\"',
32                                         'CP_DATADIR=\"\\\"/usr/local/share\\\"\"',
33                                         'DLOPEN_POSIX',
34                                         'DPIC',
35                                         'CP_THREADS=\"\\\"Posix\\"\"',
36                                         'CP_SHREXT=\"\\".so\\"\"',
37                                         'CP_FNAMESEP_CHAR=\"\'/\'\"',
38                                         'CP_FNAMESEP_STR=\"\\\"/\\"\"',
39                                         'PACKAGE=\"\\\"cpluff\\\"\"'])
40
41
42 plugin_manager_env.AppendUnique(LIBS = ['oc', 'octbstack', 'expat', 'dl'])
43 ######################################################################
44 # Source files and Targets
45 ######################################################################
46 ppm_src = ['src/Plugin.cpp', 'src/PluginManager.cpp']
47 ppm = plugin_manager_env.StaticLibrary('ppm', ppm_src)
48
49 pmimpl_src = [
50                 'src/CpluffAdapter.cpp',
51                 'src/FelixAdapter.cpp',
52                 'src/Plugin.cpp',
53                 'src/PluginManagerImpl.cpp',
54                 'src/Config.cpp']
55
56 pmimpl_env = plugin_manager_env.Clone()
57 pmimpl_env.PrependUnique(CCFLAGS = ['-fPIC'])
58 pmimpl_env.PrependUnique(LIBS = File(env.get('BUILD_DIR') + '/libcpluff.a'))
59 pmimpl = pmimpl_env.SharedLibrary('pmimpl', pmimpl_src)
60
61 plugin_manager_env.InstallTarget([ppm, pmimpl], 'libppm')