# 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 ], [bash_cv_sys_struct_timespec_in_time_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[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 ], [bash_cv_sys_struct_timespec_in_sys_time_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[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 ], [bash_cv_sys_struct_timespec_in_pthread_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[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]) ])