Mercurial > hg > octave-jordi > gnulib-hg
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 |
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 | 2 |
3 dnl From Jim Meyering. | |
2066 | 4 dnl Check for the nanosleep function. |
5 dnl If not found, use the supplied replacement. | |
2052 | 6 dnl |
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 | 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 | 14 AC_SEARCH_LIBS([nanosleep], [rt posix4], |
15 [test "$ac_cv_search_nanosleep" = "none required" || | |
16 LIB_NANOSLEEP=$ac_cv_search_nanosleep]) | |
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 | 19 AC_CACHE_CHECK([whether nanosleep works], |
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 | 35 |
36 int | |
37 main () | |
38 { | |
39 struct timespec ts_sleep, ts_remaining; | |
40 ts_sleep.tv_sec = 0; | |
41 ts_sleep.tv_nsec = 1; | |
2055 | 42 exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1); |
2052 | 43 } |
44 ], | |
45 jm_cv_func_nanosleep_works=yes, | |
46 jm_cv_func_nanosleep_works=no, | |
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 | 49 ]) |
50 if test $jm_cv_func_nanosleep_works = no; then | |
2685 | 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 | 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 | 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 ]) |