e4b634181be795e199c5e64b1e8475799407739e
[gnulib.git] / m4 / nanosleep.m4
1 #serial 1
2
3 dnl From Jim Meyering.
4 dnl FIXME
5 dnl
6
7 AC_DEFUN(jm_FUNC_NANOSLEEP,
8 [
9  AC_CACHE_CHECK([whether nanosleep works],
10   jm_cv_func_nanosleep_works,
11   [AC_TRY_RUN([
12 #   include <time.h>
13
14     int
15     main ()
16     {
17       struct timespec ts_sleep, ts_remaining;
18       ts_sleep.tv_sec = 0;
19       ts_sleep.tv_nsec = 1;
20       exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 1 : 0);
21     }
22           ],
23          jm_cv_func_nanosleep_works=yes,
24          jm_cv_func_nanosleep_works=no,
25          dnl When crosscompiling, assume the worst.
26          jm_cv_func_nanosleep_works=yes)
27   ])
28   if test $jm_cv_func_nanosleep_works = no; then
29     AC_SUBST(LIBOBJS)
30     LIBOBJS="$LIBOBJS nanosleep.$ac_objext"
31     AC_DEFINE_UNQUOTED(nanosleep, gnu_nanosleep,
32       [Define to gnu_nanosleep if the replacement function should be used.])
33   fi
34 ])