annotate m4/nanosleep.m4 @ 4910:de285d9e7c4d

Merge from coreutils.
author Paul Eggert <eggert@cs.ucla.edu>
date Fri, 16 Jan 2004 07:55:43 +0000
parents c1d472db5c30
children 7141ea4946af
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4108
c1d472db5c30 An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents: 3486
diff changeset
1 #serial 9
2052
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
2
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
3 dnl From Jim Meyering.
2066
8e707880be9b tweak comment
Jim Meyering <jim@meyering.net>
parents: 2065
diff changeset
4 dnl Check for the nanosleep function.
8e707880be9b tweak comment
Jim Meyering <jim@meyering.net>
parents: 2065
diff changeset
5 dnl If not found, use the supplied replacement.
2052
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
6 dnl
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
7
3339
81d88e517811 Quote the first argument in each use of AC_DEFUN.
Jim Meyering <jim@meyering.net>
parents: 2685
diff changeset
8 AC_DEFUN([jm_FUNC_NANOSLEEP],
2052
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
9 [
2491
9108f5af9d61 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
Jim Meyering <jim@meyering.net>
parents: 2267
diff changeset
10 nanosleep_save_libs=$LIBS
9108f5af9d61 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
Jim Meyering <jim@meyering.net>
parents: 2267
diff changeset
11
2065
e1a744db4db5 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
Jim Meyering <jim@meyering.net>
parents: 2055
diff changeset
12 # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
e1a744db4db5 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
Jim Meyering <jim@meyering.net>
parents: 2055
diff changeset
13 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
4910
de285d9e7c4d Merge from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4108
diff changeset
14 AC_SEARCH_LIBS([nanosleep], [rt posix4],
de285d9e7c4d Merge from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4108
diff changeset
15 [test "$ac_cv_search_nanosleep" = "none required" ||
de285d9e7c4d Merge from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4108
diff changeset
16 LIB_NANOSLEEP=$ac_cv_search_nanosleep])
de285d9e7c4d Merge from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4108
diff changeset
17 AC_SUBST([LIB_NANOSLEEP])
2065
e1a744db4db5 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
Jim Meyering <jim@meyering.net>
parents: 2055
diff changeset
18
2052
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
19 AC_CACHE_CHECK([whether nanosleep works],
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
20 jm_cv_func_nanosleep_works,
2160
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
21 [
2214
0428e8e0e9d4 Require AC_HEADER_TIME rather than simply using it.
Jim Meyering <jim@meyering.net>
parents: 2160
diff changeset
22 AC_REQUIRE([AC_HEADER_TIME])
4108
c1d472db5c30 An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents: 3486
diff changeset
23 AC_CHECK_HEADERS_ONCE(sys/time.h)
2160
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
24 AC_TRY_RUN([
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
25 # if TIME_WITH_SYS_TIME
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
26 # include <sys/time.h>
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
27 # include <time.h>
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
28 # else
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
29 # if HAVE_SYS_TIME_H
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
30 # include <sys/time.h>
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
31 # else
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
32 # include <time.h>
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
33 # endif
72cc32066c5d (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents: 2066
diff changeset
34 # endif
2052
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
35
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
36 int
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
37 main ()
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
38 {
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
39 struct timespec ts_sleep, ts_remaining;
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
40 ts_sleep.tv_sec = 0;
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
41 ts_sleep.tv_nsec = 1;
2055
644068f5da98 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents: 2052
diff changeset
42 exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1);
2052
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
43 }
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
44 ],
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
45 jm_cv_func_nanosleep_works=yes,
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
46 jm_cv_func_nanosleep_works=no,
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
47 dnl When crosscompiling, assume the worst.
2215
c607416cb941 Fix typo in cross-compiling case: s/yes/no/.
Jim Meyering <jim@meyering.net>
parents: 2214
diff changeset
48 jm_cv_func_nanosleep_works=no)
2052
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
49 ])
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
50 if test $jm_cv_func_nanosleep_works = no; then
2685
d4ea46c69b9f fix typo in last change
Jim Meyering <jim@meyering.net>
parents: 2683
diff changeset
51 AC_LIBOBJ(nanosleep)
3486
c5e203e2e4d4 Use AC_DEFINE rather than AC_DEFINE_UNQUOTED, whenever the right hand side need not be expanded by the shell.
Jim Meyering <jim@meyering.net>
parents: 3339
diff changeset
52 AC_DEFINE(nanosleep, rpl_nanosleep,
2267
49ab11061fd5 (jm_FUNC_NANOSLEEP): Rename replacement function from
Jim Meyering <jim@meyering.net>
parents: 2216
diff changeset
53 [Define to rpl_nanosleep if the replacement function should be used.])
4108
c1d472db5c30 An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents: 3486
diff changeset
54 gl_PREREQ_NANOSLEEP
2052
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
55 fi
2491
9108f5af9d61 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
Jim Meyering <jim@meyering.net>
parents: 2267
diff changeset
56
9108f5af9d61 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
Jim Meyering <jim@meyering.net>
parents: 2267
diff changeset
57 LIBS=$nanosleep_save_libs
2052
3c79d37078c2 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
58 ])
4108
c1d472db5c30 An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents: 3486
diff changeset
59
c1d472db5c30 An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents: 3486
diff changeset
60 # Prerequisites of lib/nanosleep.c.
c1d472db5c30 An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents: 3486
diff changeset
61 AC_DEFUN([gl_PREREQ_NANOSLEEP],
c1d472db5c30 An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents: 3486
diff changeset
62 [
c1d472db5c30 An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents: 3486
diff changeset
63 AC_CHECK_HEADERS_ONCE(unistd.h)
c1d472db5c30 An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents: 3486
diff changeset
64 ])