blob: 3643b4702ebaeb1627cd41c0778a33153841d9cb [file] [log] [blame]
# 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])
])