Adapt to latest scons Version
[senf.git] / senfscons / SENFSCons.py
index a16251e..58a9841 100644 (file)
@@ -50,6 +50,7 @@ from SCons.Script import *
 SCONS_TOOLS = [
     "Doxygen",
     "Dia2Png",
+    "PkgDraw",
     "CopyToDir",
     "ProgramNoScan",
     "CompileCheck",
@@ -70,6 +71,7 @@ def InitOpts():
     opts.Add('CXX', 'C++ compiler to use', 'g++')
     opts.Add('EXTRA_DEFINES', 'Additional preprocessor defines', '')
     opts.Add('EXTRA_LIBS', 'Additional libraries to link against', '')
+    opts.Add('EXTRA_CCFLAGS', 'Additional compilation parameters', '')
     opts.Add(SCons.Options.BoolOption('final','Enable optimization',0))
     opts.Add(SCons.Options.BoolOption('debug','Enable debug symbols in binaries',0))
     opts.Add(SCons.Options.BoolOption('profile','Enable profiling',0))
@@ -283,6 +285,7 @@ def MakeEnvironment():
 
     env.Append(CPPDEFINES = [ '$EXTRA_DEFINES' ],
                LIBS = [ '$EXTRA_LIBS' ],
+               CXXFLAGS = [ '$EXTRA_CCFLAGS' ],
                ALLOBJECTS = [])
 
     return env
@@ -356,7 +359,7 @@ def Test(env, sources, LIBS = [], OBJECTS = []):
         target = 'test',
         objects = [],
         test_sources = sources,
-        LIBS = [ '$LIBSENF' ],
+        LIBS = [ '$LIBSENF$LIBADDSUFFIX' ],
         OBJECTS = OBJECTS,
         DEPENDS = [ env.File(LibPath(env['LIBSENF'])) ]) ]
     compileTestSources = [ src for src in sources
@@ -364,7 +367,7 @@ def Test(env, sources, LIBS = [], OBJECTS = []):
     if compileTestSources:
         test.extend(env.CompileCheck(source = compileTestSources))
     env.Alias('all_tests', test)
-    env.Command(env.File('test'), test, [])
+    env.Command(env.File('test'), test, [ 'true' ])
     #env.Alias(env.File('test'), test)
     
 
@@ -408,7 +411,7 @@ def Objects(env, sources, testSources = None, OBJECTS = []):
             target = 'test',
             objects = objects,
             test_sources = testSources,
-            LIBS = [ '$LIBSENF' ],
+            LIBS = [ '$LIBSENF$LIBADDSUFFIX' ],
             OBJECTS = OBJECTS,
             DEPENDS = [ env.File(LibPath(env['LIBSENF'])) ]) ]
         compileTestSources = [ src for src in testSources
@@ -419,7 +422,7 @@ def Objects(env, sources, testSources = None, OBJECTS = []):
         # Hmm ... here I'd like to use an Alias instead of a file
         # however the alias does not seem to live in the subdirectory
         # which breaks 'scons -u test'
-        env.Command(env.File('test'), test, [])
+        env.Command(env.File('test'), test, [ 'true' ])
         #env.Alias(env.File('test'), test)
 
     return objects
@@ -668,7 +671,7 @@ def Binary(env, binary, sources, testSources = None, OBJECTS = []):
     program = None
     if objects:
         progEnv = env.Clone()
-        progEnv.Prepend(LIBS = [ '$LIBSENF' ])
+        progEnv.Prepend(LIBS = [ '$LIBSENF$LIBADDSUFFIX' ])
         program = progEnv.ProgramNoScan(target=binary,source=objects+OBJECTS)
         env.Default(program)
         env.Depends(program, [ env.File(LibPath(env['LIBSENF'])) ])