#****************************************************************** # # Copyright 2014 Intel Mobile Communications GmbH 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 # # Note: The paths must keep consistent with oic-utilities ###################################################################### import os import platform Import('env', 'lib_env') target_os = env.get('TARGET_OS') target_arch = env.get('TARGET_ARCH') src_dir = env.get('SRC_DIR') ###################################################################### # Check dependent packages (Linux only) ###################################################################### if target_os in ['linux']: if not env.GetOption('help') and not env.GetOption('clean'): if target_arch != platform.machine() and \ not (target_arch == 'x86' and platform.machine() in ('i586', 'i686')): print ''' *********************************** Warning ********************************** * You are trying cross build, please make sure cross (%s) libraries are * installed! ****************************************************************************** ''' % target_arch conf = Configure(lib_env) conf.Finish() ###################################################################### # 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', 'x86_64', 'armeabi', 'armeabi-v7a']: if not env.GetOption('help') and not env.GetOption('clean'): print ''' *********************************** Warning *********************************** * currently only x86, x86_64, armeabi, armeabi-v7a libraries are available! ******************************************************************************* ''' else: # Boost warnings too noisy, suppress lib_env.AppendUnique(CCFLAGS=['-w']) elif target_os in ['windows']: SConscript(os.path.join(src_dir, 'extlibs', 'boost', 'SConscript')) boost_path = os.path.join(src_dir, 'extlibs', 'boost', 'boost') lib_env.AppendUnique(CPPPATH=[boost_path]) 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'])