X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Ftimespec.m4;h=5ca16d48dc5e7c4a63b1370cc9c11f8bbede7ed5;hb=a802e7b9420571c932f0e98a1c3cca4f43adf8a3;hp=ad3e069f954f98377a74ecf126b1e30fa3315216;hpb=7ac215b644df7c2f0145b0b093c5e3298746bc85;p=gnulib.git diff --git a/m4/timespec.m4 b/m4/timespec.m4 index ad3e069f9..5ca16d48d 100644 --- a/m4/timespec.m4 +++ b/m4/timespec.m4 @@ -1,15 +1,44 @@ -#serial 1 +#serial 7 dnl From Jim Meyering -dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared in time.h. +AC_DEFUN([gl_TIMESPEC], +[ + dnl Prerequisites of lib/timespec.h. + AC_REQUIRE([AC_HEADER_TIME]) + AC_CHECK_HEADERS_ONCE(sys/time.h) + jm_CHECK_TYPE_STRUCT_TIMESPEC + AC_STRUCT_ST_MTIM_NSEC + + dnl Persuade glibc to declare nanosleep(). + AC_REQUIRE([AC_GNU_SOURCE]) + + AC_CHECK_DECLS(nanosleep, , , [#include ]) +]) + +dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared +dnl in time.h or sys/time.h. -AC_DEFUN(jm_CHECK_TYPE_STRUCT_TIMESPEC, +AC_DEFUN([jm_CHECK_TYPE_STRUCT_TIMESPEC], [ + dnl Persuade pedantic Solaris to declare struct timespec. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + AC_REQUIRE([AC_HEADER_TIME]) + AC_CHECK_HEADERS_ONCE(sys/time.h) AC_CACHE_CHECK([for struct timespec], fu_cv_sys_struct_timespec, [AC_TRY_COMPILE( [ -#include +# if TIME_WITH_SYS_TIME +# include +# include +# else +# if HAVE_SYS_TIME_H +# include +# else +# include +# endif +# endif ], [static struct timespec x; x.tv_sec = x.tv_nsec;], fu_cv_sys_struct_timespec=yes, @@ -17,7 +46,7 @@ AC_DEFUN(jm_CHECK_TYPE_STRUCT_TIMESPEC, ]) if test $fu_cv_sys_struct_timespec = yes; then - AC_DEFINE_UNQUOTED(HAVE_STRUCT_TIMESPEC, 1, - [Define if struct timespec is declared in . ]) + AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1, + [Define if struct timespec is declared in . ]) fi ])