Compatibility workarounds for SCons 0.97 (hardy)
g0dil [Fri, 28 Aug 2009 15:57:25 +0000 (15:57 +0000)]
git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1354 270642c3-0616-0410-b53a-bc976706d245

Mainpage.dox
SConstruct
site_scons/senfutil.py

index e535169..2fd5529 100644 (file)
     \c senfutil automatically parses SCons command line arguments into the SCons build
     environment. This allows specifying any parameter on the command line:
     <pre>
-    $ scons CXXCOM=mygcc CXXFLAGS+=-mtune=geode
+    $ scons CXX=myg++ CXXFLAGS+=-mtune=geode
     </pre>
     You may either set variables unconditionally using '=' or append values to the end of a list
     using '+='.
index f9ce745..64376fa 100644 (file)
@@ -3,6 +3,11 @@
 import sys, glob, os.path, fnmatch
 import SENFSCons, senfutil
 
+try:
+    BoolVariable
+except NameError:
+    BoolVariable = BoolOption
+
 ###########################################################################
 # Load utilities and setup libraries and configure build
 
index 25e1249..1cb88e3 100644 (file)
@@ -1,6 +1,13 @@
 import os.path
 from SCons.Script import *
 
+# Fix for SCons 0.97 compatibility
+try:
+    Variables
+except NameError: 
+    Variables = Options
+    BoolVariable = BoolOption
+
 def parseLogOption(value):
     stream, area, level = ( x.strip() for x in value.strip().split('|') )
     stream = ''.join('(%s)' % x for x in stream.split('::') )
@@ -24,7 +31,7 @@ class BuildTypeOptions:
 
 def parseArguments(env, *defs):
     vars = Variables(args=ARGUMENTS)
-    vars.AddVariables(*defs)
+    for d in defs : vars.Add(d)
     vars.Update(env)
     env.Help("""
 Any construction environment variable may be set from the scons
@@ -37,7 +44,9 @@ of variables) using
 Special command line parameters:
 """)
     env.Help(vars.GenerateHelpText(env))
-    for k,v in vars.UnknownVariables().iteritems():
+    try                  : unknv = vars.UnknownVariables()
+    except AttributeError: unknv = vars.UnknownOptions()
+    for k,v in unknv.iteritems():
         if k.endswith('+'):
             env.Append(**{k[:-1]: v})
         else: