71 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # 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])
 | |
| 
 | |
| ])
 | 
