## # plugin-manager project build script ## import os Import('env') # Add third party libraries lib_env = env.Clone() SConscript(env.get('SRC_DIR') + '/service/third_party_libs.scons', 'lib_env') plugin_manager_env = lib_env.Clone() target_os = env.get('TARGET_OS') ###################################################################### # Build flags ###################################################################### plugin_manager_env.AppendUnique(CPPPATH = [ '../lib/cpluff/libcpluff', 'src', env.get('SRC_DIR')+'/extlibs/rapidxml' ]) if target_os == 'tizen': plugin_manager_env.ParseConfig("pkg-config --cflags --libs capi-appfw-app-common") if target_os not in ['windows', 'winrt']: plugin_manager_env.AppendUnique(CXXFLAGS = ['-Wall','-std=c++0x', '-fpermissive', '-Wsign-compare']) if target_os == 'android': plugin_manager_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions', '-DANDROID']) plugin_manager_env.AppendUnique(LIBS = ['gnustl_shared', 'log']) plugin_manager_env.AppendUnique(CPPDEFINES = ['CP_C_API=CP_EXPORT', 'CP_HOST=\"\\"'+env.get('TARGET_OS')+'\\"\"', 'CP_DATADIR=\"\\\"/usr/local/share\\\"\"', 'DLOPEN_POSIX', 'DPIC', 'CP_THREADS=\"\\\"Posix\\"\"', 'CP_SHREXT=\"\\".so\\"\"', 'CP_FNAMESEP_CHAR=\"\'/\'\"', 'CP_FNAMESEP_STR=\"\\\"/\\"\"', 'PACKAGE=\"\\\"cpluff\\\"\"']) plugin_manager_env.AppendUnique(LIBS = ['oc', 'octbstack', 'expat', 'dl']) ###################################################################### # Source files and Targets ###################################################################### ppm_src = ['src/Plugin.cpp', 'src/PluginManager.cpp'] ppm = plugin_manager_env.StaticLibrary('ppm', ppm_src) pmimpl_src = [ 'src/CpluffAdapter.cpp', 'src/Plugin.cpp', 'src/PluginManagerImpl.cpp', 'src/Config.cpp'] if target_os == 'android': pmimpl_src += ['src/FelixAdapter.cpp'] pmimpl_env = plugin_manager_env.Clone() pmimpl_env.PrependUnique(CCFLAGS = ['-fPIC']) pmimpl_env.PrependUnique(LIBS = File(env.get('BUILD_DIR') + '/libcpluff.a')) pmimpl = pmimpl_env.SharedLibrary('pmimpl', pmimpl_src) plugin_manager_env.InstallTarget([ppm, pmimpl], 'libppm') plugin_manager_env.UserInstallTargetLib([ppm, pmimpl], 'libppm') # Build JNI library for android if env.get('TARGET_OS') == 'android': SConscript('src/Android/jni/SConscript')