X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsenfutil.py;h=8fa8759711a059387a214a837af2fa929d867db3;hb=f792c278aba0cc2080591d393fff2d8cdca9b95d;hp=7217c8487062764e1a47f2c9d3d57a531a14ef62;hpb=8db732cfb7203fbad3ffc6bddc43346af7411b46;p=senf.git diff --git a/site_scons/senfutil.py b/site_scons/senfutil.py index 7217c84..8fa8759 100644 --- a/site_scons/senfutil.py +++ b/site_scons/senfutil.py @@ -1,4 +1,4 @@ -import os, os.path, site_tools.Yaptu, types, re, fnmatch +import os, os.path, site_tools.Yaptu, types, re, fnmatch, sys import SCons.Util from SCons.Script import * @@ -12,6 +12,19 @@ except NameError: BoolVariable = BoolOption ########################################################################### +extdir = os.path.join(senfutildir, '../senf/Ext') +sys.path.append(extdir) + +for ext in os.listdir(extdir): + if not os.path.isdir( os.path.join(extdir, ext)): continue + if ext.startswith('.'): continue + try: + setattr( sys.modules[__name__], ext, + __import__('%s.site_scons' % ext, fromlist=['senfutil']).senfutil ) + except ImportError: + pass + +########################################################################### def loadTools(env): global senfutildir @@ -27,8 +40,7 @@ def parseArguments(env, *defs): env.Help(""" Any construction environment variable may be set from the scons command line (see SConstruct file and SCons documentation for a list -of variables) usin -g +of variables) using VARNAME=value Assign new value VARNAME+=value Append value at end @@ -42,11 +54,13 @@ Special command line parameters: for k,v in ARGLIST: if not unknv.has_key(k) : continue if k.endswith('+'): - env.Append(**{k[:-1]: v}) - env.Append(ARGUMENT_VARIABLES = {k[:-1]:v}) + env.Append(**{k[:-1]: [v]}) + env.Append(ARGUMENT_VARIABLES = {k[:-1]:[v]}) else: env.Replace(**{k: v}) env.Append(ARGUMENT_VARIABLES = {k:v}) + if env['PARSEFLAGS']: + env.MergeFlags(env['PARSEFLAGS']) def importProcessEnv(env): env.Append( ENV = dict(( (k,v) @@ -210,19 +224,15 @@ def DefaultOptions(env): # Set nice default options env.Append( - CXXFLAGS = [ '-Wall', '-Woverloaded-virtual' ], + CXXFLAGS = [ '-Wall', '-Woverloaded-virtual', "${profile and '-pg' or None}" ], CXXFLAGS_final = [ '-O3' ], CXXFLAGS_normal = [ '-O2', '-g' ], CXXFLAGS_debug = [ '-O0', '-g' ], + LINKFLAGS = [ "${profile and '-pg' or None}" ], LINKFLAGS_normal = [ '-Wl,-S' ], LINKFLAGS_debug = [ '-g' ], ) - if env['profile']: - env.Append( - LINKFLAGS = [ '-pg' ], - CXXFLAGS = [ '-pg' ], - ) env.Alias('all', '#')