[Tizen]change flag which used for detect ip changed
[platform/upstream/iotivity.git] / resource / third_party_libs.scons
index 2cf1cfc..e042a22 100644 (file)
@@ -1,78 +1,81 @@
+#******************************************************************
+#
+# 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', 'BUILD_TARGET', 'TARGET_CPU_ARCH', 'SRC_TOP_DIR')
-
-# Add 'OIC_UTILS' build option for user to set oic-utilities project path
-default_dir = os.path.abspath(SRC_TOP_DIR + '/../oic-utilities')
-OIC_UTILS = ARGUMENTS.get('OIC_UTILS', default_dir)
-if not os.path.exists(OIC_UTILS):
-       print '''
-*********************************** Error: ************************************
-*   oic-utilities project directory(OIC_UTILS) isn't set properly, please set *
-* enviornment variable OIC_UTILS or set it in command line:                   *
-*     # scons  OIC_UTILS=<path to oic-utilities> ...                          *
-*******************************************************************************
-'''
-       Exit(1)
+Import('env', 'lib_env')
 
-if env.get('OIC_UTILS') is None:
-       vars = Variables()
-       vars.Add(PathVariable('OIC_UTILS', 'oic-utilities project path', OIC_UTILS))
-       vars.Update(env)
-       Help(vars.GenerateHelpText(env))
-       Export('OIC_UTILS')
+target_os = env.get('TARGET_OS')
+target_arch = env.get('TARGET_ARCH')
+src_dir = env.get('SRC_DIR')
 
-       ######################################################################
-       # Check dependent packages (Linux)
-       ######################################################################
-       if BUILD_TARGET == 'linux':
-               # Delete the temp files of configuration
-               if env.GetOption('clean'):
-                       if os.path.exists(SRC_TOP_DIR + 'config.log'):
-                               Execute(Delete(SRC_TOP_DIR + 'config.log'))
-                               Execute(Delete(SRC_TOP_DIR + '.sconsign.dblite'))
-                               Execute(Delete(SRC_TOP_DIR + '.sconf_temp'))
-               elif not env.GetOption('help'):
-                       conf = Configure(env)
 
-                       if not conf.CheckLib('boost_program_options'):
-                               print 'Did not find boost_program_options, exiting!'
-                               Exit(1)
-
-                       conf.Finish()
+######################################################################
+# 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
 
-       ######################################################################
-       # The 'include' path of third party libraries
-       ######################################################################
+               conf = Configure(lib_env)
+               conf.Finish()
 
-       if BUILD_TARGET == 'android':
-               env.AppendUnique(CPPPATH = [OIC_UTILS + '/android/boost/include'])
 
-       ######################################################################
-       # The path of third party libraries binary
-       ######################################################################
-       if BUILD_TARGET == 'android':
-               arch = TARGET_CPU_ARCH
-               if arch == 'armeabi-v7a-hard':
-                       arch = 'armeabi-v7a'
+######################################################################
+# The path of third party libraries binary
+######################################################################
+if target_os == 'android':
+       if target_arch == 'armeabi-v7a-hard':
+               target_arch = 'armeabi-v7a'
 
-               if arch not in ['x86', 'armeabi', '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 offered!               *
+* current only x86, armeabi, armeabi-v7a libraries are provided!              *
 *******************************************************************************
 '''
-               else:
-                       env.AppendUnique(LIBPATH = [OIC_UTILS + '/android/boost/libs/' + arch])
+       else:
+               # Too much boost warning, suppress the warning
+               lib_env.AppendUnique(CCFLAGS = ['-w'])
+
+elif target_os in ['windows']:
+       SConscript(os.path.join(env.get('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'])
 
-       elif BUILD_TARGET == 'ios':
-               env.AppendUnique(FRAMEWORKPATH = [OIC_UTILS + '/ios/frameworks/'])
-               env.AppendUnique(FRAMEWORKS = ['boost'])
-       elif BUILD_TARGET == 'darwin':
-               env.AppendUnique(CPPPATH = ['/usr/local/include'])
-               env.AppendUnique(LIBPATH = ['/usr/local/lib'])
\ No newline at end of file