some scons command line args were not working since recent changes-
authorCampbell Barton <ideasman42@gmail.com>
Tue, 18 Nov 2008 05:47:19 +0000 (05:47 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Tue, 18 Nov 2008 05:47:19 +0000 (05:47 +0000)
 scons CCFLAGS="-O0 -ggdp3"
for example would pass on the args including the "'s to scons, causing the build to fail.

SConstruct
config/darwin-config.py
config/linux2-config.py
config/openbsd3-config.py
config/sunos5-config.py
config/win32-vc-config.py
tools/Blender.py
tools/btools.py

index 8e3666a78595e4626983276c6842c090bfcd03ad..16e98e64f6b0f91201c3aaff24cf2948c6354f34 100644 (file)
@@ -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'
 
index ee0cd6e2a875e0364a13d9fa7584961aed173df7..3ef7b7132d97c157cedd3cc8a89f396dd1e4493b 100644 (file)
@@ -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]        
index 70bb827a67c3595fd621b875bb54a62b6345e7a2..2984c06d2df9c2fc7bb89f9499565183fb7660f3 100644 (file)
@@ -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)
 
index 49a0c824cd7b84d712f84b33e26bec4db848f8c3..8fc334874f98eb553b0f18143660912367a7023c 100644 (file)
@@ -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)
 
index 3b76753399d0db7686cd078f9a8f040f69cefa59..a44a9df7c75e7dea8d70dc877535d110dd4657f6 100644 (file)
@@ -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)
 
index f25d8e223085be18642e366626463150e993d638..d7165401705d9872ed79a4f0b1738a5c81521b6f 100644 (file)
@@ -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
index 97b855c630bbfd000b3004e6b64c7d2db9a52d75..1c54e98f1776c9c7c696f5fbadca139ed6f873ff 100644 (file)
@@ -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
 
index b86bb592970ffe9e89ecace8c8975a67907dc8f9..e07b6184abcc39144a7168c3a3a5d5af23856725 100755 (executable)
@@ -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