summaryrefslogtreecommitdiffstats
path: root/m4/timespec.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/timespec.m4')
-rw-r--r--m4/timespec.m471
1 files changed, 71 insertions, 0 deletions
diff --git a/m4/timespec.m4 b/m4/timespec.m4
new file mode 100644
index 0000000..3643b47
--- /dev/null
+++ b/m4/timespec.m4
@@ -0,0 +1,71 @@
+# Configure checks for struct timespec
+
+# Copyright (C) 2000-2001, 2003-2007, 2009-2011, 2012 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Original written by Paul Eggert and Jim Meyering.
+# Modified by Chet Ramey for bash
+
+dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
+dnl in time.h, sys/time.h, or pthread.h.
+
+AC_DEFUN([BASH_CHECK_TYPE_STRUCT_TIMESPEC],
+[
+ AC_CHECK_HEADERS_ONCE([sys/time.h])
+ AC_CACHE_CHECK([for struct timespec in <time.h>],
+ [bash_cv_sys_struct_timespec_in_time_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <time.h>
+ ]],
+ [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+ [bash_cv_sys_struct_timespec_in_time_h=yes],
+ [bash_cv_sys_struct_timespec_in_time_h=no])])
+
+ HAVE_STRUCT_TIMESPEC=0
+ TIME_H_DEFINES_STRUCT_TIMESPEC=0
+ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
+ PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
+ if test $bash_cv_sys_struct_timespec_in_time_h = yes; then
+ AC_DEFINE([HAVE_STRUCT_TIMESPEC])
+ AC_DEFINE([TIME_H_DEFINES_STRUCT_TIMESPEC])
+ TIME_H_DEFINES_STRUCT_TIMESPEC=1
+ else
+ AC_CACHE_CHECK([for struct timespec in <sys/time.h>],
+ [bash_cv_sys_struct_timespec_in_sys_time_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/time.h>
+ ]],
+ [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+ [bash_cv_sys_struct_timespec_in_sys_time_h=yes],
+ [bash_cv_sys_struct_timespec_in_sys_time_h=no])])
+ if test $bash_cv_sys_struct_timespec_in_sys_time_h = yes; then
+ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1
+ AC_DEFINE([HAVE_STRUCT_TIMESPEC])
+ AC_DEFINE([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
+ else
+ AC_CACHE_CHECK([for struct timespec in <pthread.h>],
+ [bash_cv_sys_struct_timespec_in_pthread_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <pthread.h>
+ ]],
+ [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+ [bash_cv_sys_struct_timespec_in_pthread_h=yes],
+ [bash_cv_sys_struct_timespec_in_pthread_h=no])])
+ if test $bash_cv_sys_struct_timespec_in_pthread_h = yes; then
+ PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+ AC_DEFINE([HAVE_STRUCT_TIMESPEC])
+ AC_DEFINE([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+ fi
+ fi
+ fi
+ AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
+ AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
+ AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+
+])