From 9167d70e77c2f4c8e6de64fbf06bd3bee23542d2 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Thu, 3 Mar 2011 16:26:48 +0100 Subject: libreplace: move "struct timespec" checks into libreplace (where timespec is already used). Bjoern, Metze, please check. Guenther --- lib/replace/libreplace.m4 | 23 +++++++++++++++++++++++ lib/replace/system/time.h | 7 +++++++ lib/replace/wscript | 1 + source3/configure.in | 23 ----------------------- source3/include/includes.h | 8 -------- source3/wscript | 2 -- 6 files changed, 31 insertions(+), 33 deletions(-) diff --git a/lib/replace/libreplace.m4 b/lib/replace/libreplace.m4 index 24fc5cdafe..808d5d1c06 100644 --- a/lib/replace/libreplace.m4 +++ b/lib/replace/libreplace.m4 @@ -303,6 +303,29 @@ if test x$libreplace_cv_have_clock_gettime = xyes ; then SMB_CHECK_CLOCK_ID(CLOCK_REALTIME) fi +AC_CACHE_CHECK([for struct timespec type],libreplace_cv_struct_timespec, [ + AC_TRY_COMPILE([ +#include +#if STDC_HEADERS +#include +#include +#endif +#if TIME_WITH_SYS_TIME +# include +# include +#else +# if HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif +],[struct timespec ts;], + libreplace_cv_struct_timespec=yes,libreplace_cv_struct_timespec=no)]) +if test x"$libreplace_cv_struct_timespec" = x"yes"; then + AC_DEFINE(HAVE_STRUCT_TIMESPEC,1,[Whether we have struct timespec]) +fi + AC_CHECK_FUNCS([printf memset memcpy],,[AC_MSG_ERROR([Required function not found])]) echo "LIBREPLACE_BROKEN_CHECKS: END" diff --git a/lib/replace/system/time.h b/lib/replace/system/time.h index 5fce4dbc45..b6d2609289 100644 --- a/lib/replace/system/time.h +++ b/lib/replace/system/time.h @@ -46,6 +46,13 @@ struct utimbuf { }; #endif +#ifndef HAVE_STRUCT_TIMESPEC +struct timespec { + time_t tv_sec; /* Seconds. */ + long tv_nsec; /* Nanoseconds. */ +}; +#endif + #ifndef HAVE_MKTIME /* define is in "replace.h" */ time_t rep_mktime(struct tm *t); diff --git a/lib/replace/wscript b/lib/replace/wscript index d0bbe96159..c24d6e76b3 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript @@ -219,6 +219,7 @@ def configure(conf): 'HAVE_%s' % c, msg='Checking whether the clock_gettime clock ID %s is available' % c) + conf.CHECK_TYPE('struct timespec', headers='sys/time.h time.h') # these headers need to be tested as a group on freebsd conf.CHECK_HEADERS(headers='sys/socket.h net/if.h', together=True) diff --git a/source3/configure.in b/source3/configure.in index b4794f28a2..8d32a1baca 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -951,29 +951,6 @@ if test x"$samba_cv_struct_sigevent" = x"yes"; then [#include ]) fi -AC_CACHE_CHECK([for struct timespec type],samba_cv_struct_timespec, [ - AC_TRY_COMPILE([ -#include -#if STDC_HEADERS -#include -#include -#endif -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif -],[struct timespec ts;], - samba_cv_struct_timespec=yes,samba_cv_struct_timespec=no)]) -if test x"$samba_cv_struct_timespec" = x"yes"; then - AC_DEFINE(HAVE_STRUCT_TIMESPEC,1,[Whether we have struct timespec]) -fi - # and glibc has setresuid under linux but the function does # nothing until kernel 2.1.44! very dumb. AC_CACHE_CHECK([for real setresuid],samba_cv_have_setresuid,[ diff --git a/source3/include/includes.h b/source3/include/includes.h index 9d55c4a747..d715db6354 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -425,14 +425,6 @@ typedef long blksize_t; typedef long blkcnt_t; #endif -#ifndef HAVE_STRUCT_TIMESPEC -struct timespec { - time_t tv_sec; /* Seconds. */ - long tv_nsec; /* Nanoseconds. */ -}; -#endif - - /* * Type for stat structure. */ diff --git a/source3/wscript b/source3/wscript index 90a541ba95..2082a8bd05 100644 --- a/source3/wscript +++ b/source3/wscript @@ -290,8 +290,6 @@ __sys_llseek syslog _telldir __telldir telldir64 textdomain timegm utimensat vsyslog _write __write __xstat ''') - conf.CHECK_TYPE('struct timespec', headers='sys/time.h time.h') - conf.CHECK_SAMBA3_CHARSET() # see build/charset.py # FIXME: these should be tests for features, but the old build system just -- cgit