summaryrefslogtreecommitdiffstats
path: root/m4/timespec.m4
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 06:17:24 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 06:17:24 +0000
commit9d8085074991d5c0a42d6fc96a2d1a3ee918aad1 (patch)
treec85bca1e6c11eb872edfc64c524d20f2b7e3307b /m4/timespec.m4
parentInitial commit. (diff)
downloadbash-70baf9b08adef67074da9e233fa847220a474b78.tar.xz
bash-70baf9b08adef67074da9e233fa847220a474b78.zip
Adding upstream version 5.1.upstream/5.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
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])
+
+])