Mercurial > hg > octave-shane > gnulib-hg
annotate m4/nanosleep.m4 @ 5813:6962b5c5069f
Merge from coreutils.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Mon, 02 May 2005 07:00:50 +0000 |
parents | abd018cd6020 |
children | fd0ccce602e4 |
rev | line source |
---|---|
5813 | 1 #serial 13 |
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 | |
5721
abd018cd6020
Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5611
diff
changeset
|
8 # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. |
5611
87c42e194f4a
Use an all-permissive copyright notice, recommended by RMS.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5016
diff
changeset
|
9 # This file is free software; the Free Software Foundation |
87c42e194f4a
Use an all-permissive copyright notice, recommended by RMS.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5016
diff
changeset
|
10 # gives unlimited permission to copy and/or distribute it, |
87c42e194f4a
Use an all-permissive copyright notice, recommended by RMS.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5016
diff
changeset
|
11 # with or without modifications, as long as this notice is preserved. |
87c42e194f4a
Use an all-permissive copyright notice, recommended by RMS.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5016
diff
changeset
|
12 |
5016
7141ea4946af
Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
Jim Meyering <jim@meyering.net>
parents:
4910
diff
changeset
|
13 AC_DEFUN([gl_FUNC_NANOSLEEP], |
2052 | 14 [ |
5721
abd018cd6020
Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5611
diff
changeset
|
15 AC_LIBSOURCES([nanosleep.c]) |
abd018cd6020
Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5611
diff
changeset
|
16 |
2491
9108f5af9d61
(jm_FUNC_NANOSLEEP): Save and restore LIBS around
Jim Meyering <jim@meyering.net>
parents:
2267
diff
changeset
|
17 nanosleep_save_libs=$LIBS |
9108f5af9d61
(jm_FUNC_NANOSLEEP): Save and restore LIBS around
Jim Meyering <jim@meyering.net>
parents:
2267
diff
changeset
|
18 |
2065
e1a744db4db5
(jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
Jim Meyering <jim@meyering.net>
parents:
2055
diff
changeset
|
19 # 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
|
20 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. |
4910 | 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]) | |
2065
e1a744db4db5
(jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
Jim Meyering <jim@meyering.net>
parents:
2055
diff
changeset
|
25 |
2052 | 26 AC_CACHE_CHECK([whether nanosleep works], |
27 jm_cv_func_nanosleep_works, | |
2160
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
28 [ |
2214
0428e8e0e9d4
Require AC_HEADER_TIME rather than simply using it.
Jim Meyering <jim@meyering.net>
parents:
2160
diff
changeset
|
29 AC_REQUIRE([AC_HEADER_TIME]) |
4108
c1d472db5c30
An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents:
3486
diff
changeset
|
30 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
|
31 AC_TRY_RUN([ |
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
32 # if TIME_WITH_SYS_TIME |
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
33 # include <sys/time.h> |
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
34 # include <time.h> |
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
35 # else |
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
36 # if HAVE_SYS_TIME_H |
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
37 # include <sys/time.h> |
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
38 # else |
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
39 # include <time.h> |
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
40 # endif |
72cc32066c5d
(jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Jim Meyering <jim@meyering.net>
parents:
2066
diff
changeset
|
41 # endif |
2052 | 42 |
43 int | |
44 main () | |
45 { | |
46 struct timespec ts_sleep, ts_remaining; | |
47 ts_sleep.tv_sec = 0; | |
48 ts_sleep.tv_nsec = 1; | |
2055 | 49 exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1); |
2052 | 50 } |
51 ], | |
52 jm_cv_func_nanosleep_works=yes, | |
53 jm_cv_func_nanosleep_works=no, | |
54 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
|
55 jm_cv_func_nanosleep_works=no) |
2052 | 56 ]) |
57 if test $jm_cv_func_nanosleep_works = no; then | |
2685 | 58 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
|
59 AC_DEFINE(nanosleep, rpl_nanosleep, |
2267
49ab11061fd5
(jm_FUNC_NANOSLEEP): Rename replacement function from
Jim Meyering <jim@meyering.net>
parents:
2216
diff
changeset
|
60 [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
|
61 gl_PREREQ_NANOSLEEP |
2052 | 62 fi |
2491
9108f5af9d61
(jm_FUNC_NANOSLEEP): Save and restore LIBS around
Jim Meyering <jim@meyering.net>
parents:
2267
diff
changeset
|
63 |
9108f5af9d61
(jm_FUNC_NANOSLEEP): Save and restore LIBS around
Jim Meyering <jim@meyering.net>
parents:
2267
diff
changeset
|
64 LIBS=$nanosleep_save_libs |
2052 | 65 ]) |
4108
c1d472db5c30
An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents:
3486
diff
changeset
|
66 |
c1d472db5c30
An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents:
3486
diff
changeset
|
67 # Prerequisites of lib/nanosleep.c. |
c1d472db5c30
An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents:
3486
diff
changeset
|
68 AC_DEFUN([gl_PREREQ_NANOSLEEP], |
c1d472db5c30
An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents:
3486
diff
changeset
|
69 [ |
c1d472db5c30
An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents:
3486
diff
changeset
|
70 AC_CHECK_HEADERS_ONCE(unistd.h) |
5813 | 71 AC_CHECK_FUNCS_ONCE(siginterrupt) |
4108
c1d472db5c30
An independent .m4 file for each module.
Bruno Haible <bruno@clisp.org>
parents:
3486
diff
changeset
|
72 ]) |