minor fixes for clang++
[senf.git] / SConfigure
index ebf2ae6..64044a8 100644 (file)
@@ -1,5 +1,7 @@
 # -*- python -*-
 
+import glob
+
 Import('env')
 
 ###########################################################################
@@ -12,7 +14,7 @@ def CheckSTLCopyN(context):
                  ('<ext/algorithm>', '__gnu_cxx::copy_n', 'GNUCXX') ]
     for include, name, define in versions:
         ret = context.TryCompile("#include %s\n"
-                                 "int main(int,char**) { int *a,*b; %s(a,0,b); }\n"
+                                 "int main(int,char**) { int *a (NULL); int *b (NULL); %s(a,0,b); }\n"
                                  % (include, name),
                                  ".cc")
         if ret:
@@ -38,7 +40,7 @@ def CheckTempBufferStrategy(context):
 
       # alloca
       ret = context.TryCompile("#include <alloca.h>\n"
-                               "void test(int a){void *b(alloca(a));}"
+                               "void test(int a){void *b(alloca(a));}",
                                ".cc")
       if ret: return "alloca"
 
@@ -84,6 +86,7 @@ res = conf.CheckCXXHeader("boost/bimap.hpp"); \
 res = conf.CheckTempBufferStrategy()
 
 # Standard library stuff
+res = conf.CheckCHeader("execinfo.h")
 res = conf.FindCHeader("timerfd.h", [ 'sys', 'linux' ])
 res = conf.CheckFunc("timerfd_create")
 res = conf.CheckSymbolWithExpression(
@@ -98,4 +101,16 @@ res = conf.CheckSTLCopyN(); \
 res = conf.CheckValgrind() and conf.CheckValgrindWildcards(); \
     conf.env.Replace(HAVE_VALGRIND = res)
 
+###########################################################################
+
+# run configure scripts from external modules 
+Export('conf')
+
+sconscripts = sorted(glob.glob("senf/Ext/*/SConfigure"))
+if sconscripts:
+    SConscript(sconscripts)
+
+###########################################################################
+
 env = conf.Finish()
+