4 dnl Check for the nanosleep function.
5 dnl If not found, use the supplied replacement.
8 # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
9 # This file is free software; the Free Software Foundation
10 # gives unlimited permission to copy and/or distribute it,
11 # with or without modifications, as long as this notice is preserved.
13 AC_DEFUN([gl_FUNC_NANOSLEEP],
15 AC_LIBSOURCES([nanosleep.c])
17 nanosleep_save_libs=$LIBS
19 # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
20 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
21 AC_SEARCH_LIBS([nanosleep], [rt posix4],
22 [test "$ac_cv_search_nanosleep" = "none required" ||
23 LIB_NANOSLEEP=$ac_cv_search_nanosleep])
24 AC_SUBST([LIB_NANOSLEEP])
26 AC_CACHE_CHECK([whether nanosleep works],
27 jm_cv_func_nanosleep_works,
29 AC_REQUIRE([AC_HEADER_TIME])
30 AC_CHECK_HEADERS_ONCE(sys/time.h)
32 # if TIME_WITH_SYS_TIME
33 # include <sys/time.h>
37 # include <sys/time.h>
46 struct timespec ts_sleep, ts_remaining;
49 exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1);
52 jm_cv_func_nanosleep_works=yes,
53 jm_cv_func_nanosleep_works=no,
54 dnl When crosscompiling, assume the worst.
55 jm_cv_func_nanosleep_works=no)
57 if test $jm_cv_func_nanosleep_works = no; then
59 AC_DEFINE(nanosleep, rpl_nanosleep,
60 [Define to rpl_nanosleep if the replacement function should be used.])
64 LIBS=$nanosleep_save_libs
67 # Prerequisites of lib/nanosleep.c.
68 AC_DEFUN([gl_PREREQ_NANOSLEEP],
70 AC_CHECK_HEADERS_ONCE(unistd.h)
71 AC_CHECK_FUNCS_ONCE(siginterrupt)