From: Steve Reinhardt Date: Thu, 1 Nov 2007 21:28:59 +0000 (-0700) Subject: SConstruct: fix scons null conf object problem X-Git-Tag: m5_2.0_beta4~10 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=67b46d02d4bdeee3e63542582453c8f86fec2446;p=gem5.git SConstruct: fix scons null conf object problem so that "scons --help" works again. --HG-- extra : convert_revision : 317d52480a44339d8a77ce61f1c5e58cd9d1dd01 --- diff --git a/SConstruct b/SConstruct index 9394fa61b..4bd787b1d 100644 --- a/SConstruct +++ b/SConstruct @@ -329,6 +329,25 @@ conf = Configure(env, conf_dir = joinpath(build_root, '.scons_config'), log_file = joinpath(build_root, 'scons_config.log')) +# Recent versions of scons substitute a "Null" object for Configure() +# when configuration isn't necessary, e.g., if the "--help" option is +# present. Unfortuantely this Null object always returns false, +# breaking all our configuration checks. We replace it with our own +# more optimistic null object that returns True instead. +if not conf: + def NullCheck(*args, **kwargs): + return True + + class NullConf: + def __init__(self, env): + self.env = env + def Finish(self): + return self.env + def __getattr__(self, mname): + return NullCheck + + conf = NullConf(env) + # Find Python include and library directories for embedding the # interpreter. For consistency, we will use the same Python # installation used to run scons (and thus this script). If you want