Better SENF configuration support (local_config.hh)
[senf.git] / senfscons / SENFSCons.py
index fd969c5..da20141 100644 (file)
@@ -245,6 +245,8 @@ def MakeEnvironment():
                    CPPDEFINES = [ 'NDEBUG' ])
     else:
         env.Append(CXXFLAGS = [ '-O0', '-g', '-fno-inline' ],
+    # The unit-test framework is not compiled with _GLIBCXX_DEBUG so this fails.
+    #               CPPDEFINES = [ '_GLIBCXX_DEBUG', 'BOOST_REGEX_NO_LIB' ],
                    LINKFLAGS = [ '-g' ])
 
     env.Append(CPPDEFINES = [ '$EXTRA_DEFINES' ],
@@ -346,6 +348,13 @@ def Objects(env, sources, testSources = None, LIBS = [], OBJECTS = []):
 
     return objects
 
+def InstallIncludeFiles(env, files):
+    target = env.Dir(env['INCLUDEINSTALLDIR'])
+    base = env.Dir(env['INSTALL_BASE'])
+    for f in files:
+        src = env.File(f)
+        env.Alias('install_all', env.Install(target.Dir(src.dir.get_path(base)), src))
+
 def InstallWithSources(env, targets, dir, sources, testSources = [], no_includes = False):
     if type(sources) is type(()):
         sources, testSources = sources
@@ -363,7 +372,6 @@ def InstallWithSources(env, targets, dir, sources, testSources = [], no_includes
         source = targets
         if testSources:
             source.append( env.File('.test.bin') )
-            
             installs.append(env.InstallIncludes(
                 target = target,
                 source = targets,
@@ -617,3 +625,10 @@ def Binary(env, binary, sources, testSources = None, LIBS = [], OBJECTS = [], no
                                      no_includes)
         env.Alias('install_all', install)
     return program
+
+def AllIncludesHH(env, headers):
+    headers.sort()
+    file(env.File("all_includes.hh").abspath,"w").write("".join([ '#include "%s"\n' % f
+                                                                  for f in headers ]))
+    env.Clean('all','all_includes.hh')
+