==SCons==
* Applied patch #4012 by Joseph Eagar. The patch provides a way to quickly assign a list of libraries to build with debug symbols. Usage: scons BF_QUICKDEBUG=src,bf_blenkernel,bf_blenlib
This commit is contained in:
20
SConstruct
20
SConstruct
@@ -51,6 +51,7 @@ B = tools.Blender
|
|||||||
### globals ###
|
### globals ###
|
||||||
platform = sys.platform
|
platform = sys.platform
|
||||||
quickie = None
|
quickie = None
|
||||||
|
quickdebug = None
|
||||||
|
|
||||||
##### BEGIN SETUP #####
|
##### BEGIN SETUP #####
|
||||||
|
|
||||||
@@ -88,6 +89,13 @@ btools.print_targets(B.targets, B.bc)
|
|||||||
|
|
||||||
# first check cmdline for toolset and we create env to work on
|
# first check cmdline for toolset and we create env to work on
|
||||||
quickie = B.arguments.get('BF_QUICK', None)
|
quickie = B.arguments.get('BF_QUICK', None)
|
||||||
|
quickdebug = B.arguments.get('BF_QUICKDEBUG', None)
|
||||||
|
|
||||||
|
if quickdebug:
|
||||||
|
B.quickdebug=string.split(quickdebug, ',')
|
||||||
|
else:
|
||||||
|
B.quickdebug=[]
|
||||||
|
|
||||||
if quickie:
|
if quickie:
|
||||||
B.quickie=string.split(quickie,',')
|
B.quickie=string.split(quickie,',')
|
||||||
else:
|
else:
|
||||||
@@ -151,6 +159,18 @@ else:
|
|||||||
opts = btools.read_opts(optfiles, B.arguments)
|
opts = btools.read_opts(optfiles, B.arguments)
|
||||||
opts.Update(env)
|
opts.Update(env)
|
||||||
|
|
||||||
|
#check for additional debug libnames
|
||||||
|
|
||||||
|
if env.has_key('BF_DEBUG_LIBS'):
|
||||||
|
B.quickdebug += env['BF_DEBUG_LIBS']
|
||||||
|
|
||||||
|
printdebug = B.arguments.get('BF_LISTDEBUG', 0)
|
||||||
|
|
||||||
|
if len(B.quickdebug) > 0 and printdebug != 0:
|
||||||
|
print B.bc.OKGREEN + "Buildings these libs with debug symbols:" + B.bc.ENDC
|
||||||
|
for l in B.quickdebug:
|
||||||
|
print "\t" + l
|
||||||
|
|
||||||
# check target for blenderplayer. Set WITH_BF_PLAYER if found on cmdline
|
# check target for blenderplayer. Set WITH_BF_PLAYER if found on cmdline
|
||||||
if 'blenderplayer' in B.targets:
|
if 'blenderplayer' in B.targets:
|
||||||
env['WITH_BF_PLAYER'] = True
|
env['WITH_BF_PLAYER'] = True
|
||||||
|
@@ -146,7 +146,7 @@ LLIBS = [ '-ldxguid', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lw
|
|||||||
##DYNLDFLAGS = -shared $(LDFLAGS)
|
##DYNLDFLAGS = -shared $(LDFLAGS)
|
||||||
|
|
||||||
BF_DEBUG = 'false'
|
BF_DEBUG = 'false'
|
||||||
BF_DEBUG_FLAGS= ''
|
BF_DEBUG_FLAGS= '-g'
|
||||||
|
|
||||||
BF_BUILDDIR = '..\\build\\win32-mingw'
|
BF_BUILDDIR = '..\\build\\win32-mingw'
|
||||||
BF_INSTALLDIR='..\\install\\win32-mingw'
|
BF_INSTALLDIR='..\\install\\win32-mingw'
|
||||||
|
@@ -343,13 +343,16 @@ class BlenderEnvironment(SConsEnvironment):
|
|||||||
print bc.FAIL+'Cannot continue. Missing argument for BuildBlenderLib '+libname+bc.ENDC
|
print bc.FAIL+'Cannot continue. Missing argument for BuildBlenderLib '+libname+bc.ENDC
|
||||||
Exit()
|
Exit()
|
||||||
if libname in quickie or len(quickie)==0:
|
if libname in quickie or len(quickie)==0:
|
||||||
print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC
|
if libname in quickdebug:
|
||||||
|
print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname +bc.ENDC+bc.OKBLUE+ " (debug mode)" + bc.ENDC
|
||||||
|
else:
|
||||||
|
print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname + bc.ENDC
|
||||||
lenv = self.Copy()
|
lenv = self.Copy()
|
||||||
lenv.Append(CPPPATH=includes)
|
lenv.Append(CPPPATH=includes)
|
||||||
lenv.Append(CPPDEFINES=defines)
|
lenv.Append(CPPDEFINES=defines)
|
||||||
if lenv['WITH_BF_GAMEENGINE']:
|
if lenv['WITH_BF_GAMEENGINE']:
|
||||||
lenv.Append(CPPDEFINES=['GAMEBLENDER=1'])
|
lenv.Append(CPPDEFINES=['GAMEBLENDER=1'])
|
||||||
if lenv['BF_DEBUG']:
|
if lenv['BF_DEBUG'] or (libname in quickdebug):
|
||||||
lenv.Append(CCFLAGS = Split(lenv['BF_DEBUG_FLAGS']), CXXFLAGS = Split(lenv['BF_DEBUG_FLAGS']))
|
lenv.Append(CCFLAGS = Split(lenv['BF_DEBUG_FLAGS']), CXXFLAGS = Split(lenv['BF_DEBUG_FLAGS']))
|
||||||
else:
|
else:
|
||||||
lenv.Append(CCFLAGS = lenv['REL_CFLAGS'], CXXFLAGS = lenv['REL_CCFLAGS'])
|
lenv.Append(CCFLAGS = lenv['REL_CFLAGS'], CXXFLAGS = lenv['REL_CCFLAGS'])
|
||||||
|
@@ -45,7 +45,7 @@ def validate_arguments(args, bc):
|
|||||||
arg_list = ['BF_DEBUG', 'BF_QUIET', 'BF_CROSS', 'BF_UPDATE',
|
arg_list = ['BF_DEBUG', 'BF_QUIET', 'BF_CROSS', 'BF_UPDATE',
|
||||||
'BF_INSTALLDIR', 'BF_TOOLSET', 'BF_BINNAME',
|
'BF_INSTALLDIR', 'BF_TOOLSET', 'BF_BINNAME',
|
||||||
'BF_BUILDDIR', 'BF_FANCY', 'BF_QUICK', 'BF_PROFILE', 'BF_DEBUG', 'BF_DEBUG_FLAGS',
|
'BF_BUILDDIR', 'BF_FANCY', 'BF_QUICK', 'BF_PROFILE', 'BF_DEBUG', 'BF_DEBUG_FLAGS',
|
||||||
'BF_PRIORITYLIST', 'BF_BUILDINFO','CC', 'CXX'
|
'BF_PRIORITYLIST', 'BF_BUILDINFO','CC', 'CXX', "BF_QUICKDEBUG", "BF_LISTDEBUG"
|
||||||
]
|
]
|
||||||
|
|
||||||
all_list = opts_list + arg_list
|
all_list = opts_list + arg_list
|
||||||
@@ -110,6 +110,7 @@ def SetupBufferedOutput( env ):
|
|||||||
def read_opts(cfg, args):
|
def read_opts(cfg, args):
|
||||||
localopts = Options.Options(cfg, args)
|
localopts = Options.Options(cfg, args)
|
||||||
localopts.AddOptions(
|
localopts.AddOptions(
|
||||||
|
('BF_DEBUG_LIBS', 'list of libraries to build with debug symbols'),
|
||||||
('BF_PYTHON', 'base path for python', ''),
|
('BF_PYTHON', 'base path for python', ''),
|
||||||
('BF_PYTHON_VERSION', 'Python version to use', ''),
|
('BF_PYTHON_VERSION', 'Python version to use', ''),
|
||||||
('BF_PYTHON_INC', 'include path for Python headers', ''),
|
('BF_PYTHON_INC', 'include path for Python headers', ''),
|
||||||
|
Reference in New Issue
Block a user