build: move gettimeofday check to libreplace
authorAndrew Tridgell <tridge@samba.org>
Sun, 7 Mar 2010 06:05:36 +0000 (17:05 +1100)
committerAndrew Tridgell <tridge@samba.org>
Tue, 6 Apr 2010 10:26:44 +0000 (20:26 +1000)
- add checklink option to CHECK_FUNC()
- Used for when a prototype is not available

buildtools/wafsamba/samba_autoconf.py
lib/replace/wscript
lib/util/wscript_configure

index 804e65391c47d7c908e072a0e860fe0e78995193..be8e1258969a91f9ce3ba10feba0e9cc250d0279 100644 (file)
@@ -120,17 +120,19 @@ def CHECK_DECLS(conf, vars, reverse=False, headers=None):
 
 
 @runonce
-def CHECK_FUNC(conf, f):
+def CHECK_FUNC(conf, f, checklink=False):
     '''check for a function'''
+    if checklink:
+        return CHECK_CODE(conf, '%s()' % f, execute=False, define='HAVE_%s' % f.upper())
     return conf.check(function_name=f, header_name=conf.env.hlist)
 
 
 @conf
-def CHECK_FUNCS(conf, list):
+def CHECK_FUNCS(conf, list, checklink=False):
     '''check for a list of functions'''
     ret = True
     for f in to_list(list):
-        if not CHECK_FUNC(conf, f):
+        if not CHECK_FUNC(conf, f, checklink):
             ret = False
     return ret
 
@@ -184,11 +186,11 @@ def CHECK_CODE(conf, code, define,
         execute = 0
 
     if addmain:
-        fragment='#include "confdefs.h"\n%s\n int main(void) { %s; return 0; }' % (hdrs, code)
+        fragment='#include "__confdefs.h"\n%s\n int main(void) { %s; return 0; }' % (hdrs, code)
     else:
-        fragment='#include "confdefs.h"\n%s\n%s' % (hdrs, code)
+        fragment='#include "__confdefs.h"\n%s\n%s' % (hdrs, code)
 
-    conf.write_config_header('confdefs.h', top=True)
+    conf.write_config_header('__confdefs.h', top=True)
 
     if msg is None:
         msg="Checking for %s" % define
index e40626788a1ae968c48016791072142acbb51e80..e999c02eef590133551323c8d1e3a677c94c994b 100644 (file)
@@ -160,6 +160,7 @@ def configure(conf):
                 quote=0,
                msg="Checking for va_copy")
 
+    conf.CHECK_CODE('gettimeofday(NULL, NULL)', 'HAVE_GETTIMEOFDAY_TZ', execute=False)
 
     conf.CHECK_CODE('#include "test/snprintf.c"',
                     define="HAVE_C99_VSNPRINTF",
index 8c819e378abf567504ae0c926d91db0de54c6c9c..09687a997b92d76e25082cc909360728c429d2f4 100644 (file)
@@ -11,4 +11,3 @@ conf.CHECK_FUNCS_IN('flistxattr', 'attr', checklibc=True)
 
 conf.CHECK_STRUCTURE_MEMBER('struct statvfs', 'f_frsize', define='HAVE_FRSIZE')
 
-conf.CHECK_CODE('gettimeofday(NULL, NULL)', 'HAVE_GETTIMEOFDAY_TZ', execute=False)