1266733Speter#serial 11
2266733Speter
3266733Speter# Copyright (C) 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
4266733Speter# This file is free software; the Free Software Foundation
5266733Speter# gives unlimited permission to copy and/or distribute it,
6266733Speter# with or without modifications, as long as this notice is preserved.
7266733Speter
8266733Speterdnl From Jim Meyering
9266733Speter
10266733SpeterAC_DEFUN([gl_TIMESPEC],
11266733Speter[
12266733Speter  AC_LIBSOURCES([timespec.h])
13266733Speter
14266733Speter  dnl Prerequisites of lib/timespec.h.
15266733Speter  AC_REQUIRE([AC_C_INLINE])
16266733Speter  AC_REQUIRE([AC_HEADER_TIME])
17266733Speter  AC_CHECK_HEADERS_ONCE(sys/time.h)
18266733Speter  gl_CHECK_TYPE_STRUCT_TIMESPEC
19266733Speter
20266733Speter  dnl Persuade glibc <time.h> to declare nanosleep().
21266733Speter  AC_REQUIRE([AC_GNU_SOURCE])
22266733Speter
23266733Speter  AC_CHECK_DECLS(nanosleep, , , [#include <time.h>])
24266733Speter])
25266733Speter
26266733Speterdnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
27266733Speterdnl in time.h or sys/time.h.
28266733Speter
29266733SpeterAC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
30266733Speter[
31266733Speter  dnl Persuade pedantic Solaris to declare struct timespec.
32266733Speter  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
33266733Speter
34266733Speter  AC_REQUIRE([AC_HEADER_TIME])
35266733Speter  AC_CHECK_HEADERS_ONCE(sys/time.h)
36266733Speter  AC_CACHE_CHECK([for struct timespec], fu_cv_sys_struct_timespec,
37266733Speter    [AC_TRY_COMPILE(
38266733Speter      [
39266733Speter#      if TIME_WITH_SYS_TIME
40266733Speter#       include <sys/time.h>
41266733Speter#       include <time.h>
42266733Speter#      else
43266733Speter#       if HAVE_SYS_TIME_H
44266733Speter#        include <sys/time.h>
45266733Speter#       else
46266733Speter#        include <time.h>
47266733Speter#       endif
48266733Speter#      endif
49266733Speter      ],
50266733Speter      [static struct timespec x; x.tv_sec = x.tv_nsec;],
51266733Speter      fu_cv_sys_struct_timespec=yes,
52266733Speter      fu_cv_sys_struct_timespec=no)
53266733Speter    ])
54266733Speter
55266733Speter  if test $fu_cv_sys_struct_timespec = yes; then
56266733Speter    AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
57266733Speter	      [Define if struct timespec is declared in <time.h>. ])
58266733Speter  fi
59266733Speter])
60266733Speter