summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2011-03-03 16:26:48 +0100
committerGünther Deschner <gd@samba.org>2011-03-04 00:28:27 +0100
commit9167d70e77c2f4c8e6de64fbf06bd3bee23542d2 (patch)
tree92ca807066b603888d4bf271b0452577dbc2d35b
parenta5d54579ea949f4cd7c975c3f5d0006a90777735 (diff)
downloadsamba-9167d70e77c2f4c8e6de64fbf06bd3bee23542d2.tar.gz
samba-9167d70e77c2f4c8e6de64fbf06bd3bee23542d2.tar.bz2
samba-9167d70e77c2f4c8e6de64fbf06bd3bee23542d2.zip
libreplace: move "struct timespec" checks into libreplace (where timespec is already used).
Bjoern, Metze, please check. Guenther
-rw-r--r--lib/replace/libreplace.m423
-rw-r--r--lib/replace/system/time.h7
-rw-r--r--lib/replace/wscript1
-rw-r--r--source3/configure.in23
-rw-r--r--source3/include/includes.h8
-rw-r--r--source3/wscript2
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 <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else
+# include <time.h>
+# 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 <signal.h>])
fi
-AC_CACHE_CHECK([for struct timespec type],samba_cv_struct_timespec, [
- AC_TRY_COMPILE([
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# 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