X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsenfutil.py;h=8fa8759711a059387a214a837af2fa929d867db3;hb=f792c278aba0cc2080591d393fff2d8cdca9b95d;hp=1a2d4a16d1d54dc863a38a74b0758812d9ac37b4;hpb=0c4aa6222dcd843bd55335c026c9f1efcb8d7f99;p=senf.git diff --git a/site_scons/senfutil.py b/site_scons/senfutil.py index 1a2d4a1..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)