From bbc00befe75ce223a91d1bbccab1e6e1c93da98c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 18 Nov 2008 05:47:19 +0000 Subject: some scons command line args were not working since recent changes- scons CCFLAGS="-O0 -ggdp3" for example would pass on the args including the "'s to scons, causing the build to fail. --- SConstruct | 2 +- config/darwin-config.py | 4 ++-- config/linux2-config.py | 2 +- config/openbsd3-config.py | 2 +- config/sunos5-config.py | 2 +- config/win32-vc-config.py | 2 +- tools/Blender.py | 2 +- tools/btools.py | 32 +++++++++++++++++++++----------- 8 files changed, 29 insertions(+), 19 deletions(-) diff --git a/SConstruct b/SConstruct index 8e3666a7859..16e98e64f6b 100644 --- a/SConstruct +++ b/SConstruct @@ -249,7 +249,7 @@ if len(B.quickdebug) > 0 and printdebug != 0: # remove stdc++ from LLIBS if we are building a statc linked CXXFLAGS if env['WITH_BF_STATICCXX']: if 'stdc++' in env['LLIBS']: - env['LLIBS'] = env['LLIBS'].replace('stdc++', ' ') + env['LLIBS'].remove('stdc++') else: print '\tcould not remove stdc++ library from LLIBS, WITH_BF_STATICCXX may not work for your platform' diff --git a/config/darwin-config.py b/config/darwin-config.py index ee0cd6e2a87..3ef7b7132d9 100644 --- a/config/darwin-config.py +++ b/config/darwin-config.py @@ -216,14 +216,14 @@ CXXFLAGS = [ '-pipe','-fPIC','-funsigned-char', '-fpascal-strings'] PLATFORM_LINKFLAGS = '-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Carbon -framework AGL -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework QuickTime' #note to build succesfully on 10.3.9 SDK you need to patch 10.3.9 by adding the SystemStubs.a lib from 10.4 -LLIBS = 'stdc++ SystemStubs' +LLIBS = ['stdc++', 'SystemStubs'] # some flags shuffling for different Os versions if MAC_MIN_VERS == '10.3': CFLAGS = ['-fuse-cxa-atexit']+CFLAGS CXXFLAGS = ['-fuse-cxa-atexit']+CXXFLAGS PLATFORM_LINKFLAGS = '-fuse-cxa-atexit '+PLATFORM_LINKFLAGS - LLIBS = LLIBS + ' crt3.o' + LLIBS.append('crt3.o') if USE_SDK==True: SDK_FLAGS=['-isysroot', MACOSX_SDK,'-mmacosx-version-min='+MAC_MIN_VERS] diff --git a/config/linux2-config.py b/config/linux2-config.py index 70bb827a67c..2984c06d2df 100644 --- a/config/linux2-config.py +++ b/config/linux2-config.py @@ -193,7 +193,7 @@ CC_WARN = ['-Wall'] ##FIX_STUBS_WARNINGS = -Wno-unused -LLIBS = 'util c m dl pthread stdc++' +LLIBS = ['util', 'c', 'm', 'dl', 'pthread', 'stdc++'] ##LOPTS = --dynamic ##DYNLDFLAGS = -shared $(LDFLAGS) diff --git a/config/openbsd3-config.py b/config/openbsd3-config.py index 49a0c824cd7..8fc334874f9 100644 --- a/config/openbsd3-config.py +++ b/config/openbsd3-config.py @@ -151,7 +151,7 @@ CC_WARN = ['-Wall'] ##FIX_STUBS_WARNINGS = -Wno-unused -LLIBS = 'm stdc++ pthread util' +LLIBS = ['m', 'stdc++', 'pthread', 'util'] ##LOPTS = --dynamic ##DYNLDFLAGS = -shared $(LDFLAGS) diff --git a/config/sunos5-config.py b/config/sunos5-config.py index 3b76753399d..a44a9df7c75 100644 --- a/config/sunos5-config.py +++ b/config/sunos5-config.py @@ -165,7 +165,7 @@ CC_WARN = ['-Wall'] ##FIX_STUBS_WARNINGS = -Wno-unused -LLIBS = 'c m dl pthread stdc++' +LLIBS = ['c', 'm', 'dl', 'pthread', 'stdc++'] ##LOPTS = --dynamic ##DYNLDFLAGS = -shared $(LDFLAGS) diff --git a/config/win32-vc-config.py b/config/win32-vc-config.py index f25d8e22308..d7165401705 100644 --- a/config/win32-vc-config.py +++ b/config/win32-vc-config.py @@ -181,7 +181,7 @@ C_WARN = [] CC_WARN = [] CXX_WARN = [] -LLIBS = 'ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid' +LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid'] PLATFORM_LINKFLAGS = ''' /SUBSYSTEM:CONSOLE diff --git a/tools/Blender.py b/tools/Blender.py index 97b855c630b..1c54e98f177 100644 --- a/tools/Blender.py +++ b/tools/Blender.py @@ -190,7 +190,7 @@ def setup_syslibs(lenv): if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw','linuxcross'): syslibs += Split(lenv['BF_PTHREADS_LIB']) - syslibs += Split(lenv['LLIBS']) + syslibs += lenv['LLIBS'] return syslibs diff --git a/tools/btools.py b/tools/btools.py index b86bb592970..e07b6184abc 100755 --- a/tools/btools.py +++ b/tools/btools.py @@ -19,13 +19,15 @@ BoolVariable = SCons.Variables.BoolVariable def print_arguments(args, bc): if len(args): for k,v in args.iteritems(): + if type(v)==list: + v = ' '.join(v) print '\t'+bc.OKBLUE+k+bc.ENDC+' = '+bc.OKGREEN + v + bc.ENDC else: print '\t'+bc.WARNING+'No command-line arguments given'+bc.ENDC def validate_arguments(args, bc): opts_list = [ - 'WITH_BF_PYTHON', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'BF_PYTHON_LINKFLAGS', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', + 'WITH_BF_PYTHON', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', 'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC', 'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH', 'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH', @@ -47,17 +49,11 @@ def validate_arguments(args, bc): 'WITH_BF_YAFRAY', 'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', 'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH', - 'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC', 'BF_OPENGL_LINKFLAGS', + 'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC', 'WITH_BF_FTGL', 'BF_FTGL', 'BF_FTGL_INC', 'BF_FTGL_LIB', 'WITH_BF_PLAYER', 'WITH_BF_NOBLENDER', 'WITH_BF_BINRELOC', - 'CFLAGS', 'CCFLAGS', 'CXXFLAGS', 'CPPFLAGS', - 'REL_CFLAGS', 'REL_CCFLAGS', 'REL_CXXFLAGS', - 'BF_PROFILE_CFLAGS', 'BF_PROFILE_CCFLAGS', 'BF_PROFILE_CXXFLAGS', 'BF_PROFILE_LINKFLAGS', - 'BF_DEBUG_CFLAGS', 'BF_DEBUG_CCFLAGS', 'BF_DEBUG_CXXFLAGS', - 'C_WARN', 'CC_WARN', 'CXX_WARN', - 'LLIBS', 'PLATFORM_LINKFLAGS', 'LCGDIR', 'BF_CXX', 'WITH_BF_STATICCXX', 'BF_CXX_LIB_STATIC', 'WITH_BF_VERSE', 'BF_VERSE_INCLUDE', @@ -72,7 +68,20 @@ def validate_arguments(args, bc): 'WITH_BF_DOCS', 'BF_NUMJOBS', ] - + + # Have options here that scons expects to be lists + opts_list_split = [ + 'BF_PYTHON_LINKFLAGS', + 'BF_OPENGL_LINKFLAGS', + 'CFLAGS', 'CCFLAGS', 'CXXFLAGS', 'CPPFLAGS', + 'REL_CFLAGS', 'REL_CCFLAGS', 'REL_CXXFLAGS', + 'BF_PROFILE_CFLAGS', 'BF_PROFILE_CCFLAGS', 'BF_PROFILE_CXXFLAGS', 'BF_PROFILE_LINKFLAGS', + 'BF_DEBUG_CFLAGS', 'BF_DEBUG_CCFLAGS', 'BF_DEBUG_CXXFLAGS', + 'C_WARN', 'CC_WARN', 'CXX_WARN', + 'LLIBS', 'PLATFORM_LINKFLAGS', + ] + + arg_list = ['BF_DEBUG', 'BF_QUIET', 'BF_CROSS', 'BF_UPDATE', 'BF_INSTALLDIR', 'BF_TOOLSET', 'BF_BINNAME', 'BF_BUILDDIR', 'BF_FANCY', 'BF_QUICK', 'BF_PROFILE', @@ -81,12 +90,13 @@ def validate_arguments(args, bc): 'BF_LISTDEBUG', 'LCGDIR', 'BF_X264_CONFIG', 'BF_XVIDCORE_CONFIG', 'BF_DOCDIR'] - all_list = opts_list + arg_list okdict = {} for k,v in args.iteritems(): - if k in all_list: + if (k in opts_list) or (k in arg_list): okdict[k] = v + elif k in opts_list_split: + okdict[k] = v.split() # "" have alredy been stripped else: print '\t'+bc.WARNING+'Invalid argument: '+bc.ENDC+k+'='+v -- cgit v1.2.3