From c88bf59a8dfe8be5f09ff34e737ab09fb645de1a Mon Sep 17 00:00:00 2001 From: kichik Date: Sat, 10 Jan 2009 22:51:43 +0000 Subject: [PATCH] make sure iconv exists git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5902 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/Library/LibraryLocal/SConscript | 4 ++-- SCons/utils.py | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Contrib/Library/LibraryLocal/SConscript b/Contrib/Library/LibraryLocal/SConscript index 38be40d3..98f044e6 100644 --- a/Contrib/Library/LibraryLocal/SConscript +++ b/Contrib/Library/LibraryLocal/SConscript @@ -19,7 +19,7 @@ libs_posix = Split(""" iconv """) -Import('BuildUtil BuildUtilEnv') +Import('BuildUtil BuildUtilEnv GetAvailableLibs') env = BuildUtilEnv(flags = ['$EXCEPTION_FLAG'], cross_platform = True) @@ -32,6 +32,6 @@ for s in required_files: files.append(o) if env['PLATFORM'] != 'win32': - libs = libs_posix + libs = GetAvailableLibs(env, libs_posix) BuildUtil(target, files, libs, flags = ['$EXCEPTION_FLAG'], cross_platform = True) diff --git a/SCons/utils.py b/SCons/utils.py index 0b35807f..86e638df 100644 --- a/SCons/utils.py +++ b/SCons/utils.py @@ -10,6 +10,22 @@ def AddAvailableLibs(env, libs): conf.Finish() +""" +Scans through a list list of libraries and adds +available libraries to the environment. +""" +def GetAvailableLibs(env, libs): + conf = env.Configure() + avail_libs = [] + + for lib in libs: + if conf.CheckLib(lib): + avail_libs.append(lib) + + conf.Finish() + + return avail_libs + """ Checks if a compiler flag is valid. """ @@ -71,4 +87,4 @@ Wrapper for env.Configure which adds two new tests: def FlagsConfigure(env): return env.Configure(custom_tests = { 'CheckCompileFlag' : check_compile_flag, 'CheckLinkFlag': check_link_flag }) -Export('AddAvailableLibs FlagsConfigure') +Export('AddAvailableLibs FlagsConfigure GetAvailableLibs')