+#******************************************************************
+#
+# Copyright 2014 Samsung Electronics All Rights Reserved.
+#
+#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
######################################################################
# This script manages third party libraries
#
Import('env', 'lib_env')
-resource_path = env.get('SRC_DIR') + '/resource'
+target_os = env.get('TARGET_OS')
+target_arch = env.get('TARGET_ARCH')
+src_dir = env.get('SRC_DIR')
+
+resource_path = src_dir + '/resource'
+
+######################################################################
+# Check dependent packages (Linux only)
+######################################################################
+if target_os in ['linux']:
+ if not env.GetOption('help'):
+ if not target_arch == platform.machine():
+ print '''
+*********************************** Warning ***********************************
+* You are trying cross build, please make sure (%s) version libraries are
+* installed! *
+*******************************************************************************
+''' % target_arch
+
+ conf = Configure(lib_env)
+
+ if target_os not in ['tizen'] and not conf.CheckLib('boost_thread', language='C++'):
+ print 'Did not find boost_thread, exiting!'
+ Exit(1)
+
+ if target_os not in ['tizen'] and not conf.CheckLib('boost_system', language='C++'):
+ print 'Did not find boost_system, exiting!'
+ Exit(1)
+
+ lib_env = conf.Finish()
+
+######################################################################
+# The 'include' path of external libraries
+######################################################################
lib_env.AppendUnique(CPPPATH = [
resource_path ,
resource_path + '/include' ,
resource_path + '/oc_logger/include',
resource_path + '/csdk/stack/include',
- resource_path + '/csdk/ocsocket/include',
- resource_path + '/csdk/ocrandom/include',
+ resource_path + '/c_common/ocrandom/include',
resource_path + '/csdk/logger/include'
])
-lib_env.AppendUnique(LIBPATH = env.get('BUILD_DIR'))
\ No newline at end of file
+######################################################################
+# The path of third party libraries binary
+######################################################################
+if target_os == 'android':
+ if target_arch == 'armeabi-v7a-hard':
+ target_arch = 'armeabi-v7a'
+
+ if target_arch not in ['x86', 'armeabi', 'armeabi-v7a']:
+ if not env.GetOption('help') and not env.GetOption('clean'):
+ print '''
+*********************************** Warning ***********************************
+* current only x86, armeabi, armeabi-v7a libraries are provided! *
+*******************************************************************************
+'''
+ else:
+ # Too much boost warning, suppress the warning
+ lib_env.AppendUnique(CCFLAGS = ['-w'])
+
+elif target_os == 'ios':
+ lib_env.AppendUnique(FRAMEWORKPATH = [src_dir + '/extlibs/boost/ios/framework'])
+ lib_env.AppendUnique(FRAMEWORKS = ['boost'])
+elif target_os == 'darwin':
+ lib_env.AppendUnique(CPPPATH = ['/usr/local/include'])
+ lib_env.AppendUnique(LIBPATH = ['/usr/local/lib'])
+elif target_os == 'windows':
+ boost_path = os.path.join(src_dir,'extlibs','boost','boost')
+ lib_env.AppendUnique(CPPPATH = [boost_path])
+
+Import('env')
+lib_env.AppendUnique(LIBPATH = env.get('BUILD_DIR'))
+