An independent .m4 file for each module.
[gnulib.git] / m4 / nanosleep.m4
index 7e33517..bfe8d57 100644 (file)
@@ -1,20 +1,24 @@
-#serial 5
+#serial 9
 
 dnl From Jim Meyering.
 dnl Check for the nanosleep function.
 dnl If not found, use the supplied replacement.
 dnl
 
 
 dnl From Jim Meyering.
 dnl Check for the nanosleep function.
 dnl If not found, use the supplied replacement.
 dnl
 
-AC_DEFUN(jm_FUNC_NANOSLEEP,
+AC_DEFUN([jm_FUNC_NANOSLEEP],
 [
 [
+ nanosleep_save_libs=$LIBS
+
  # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
  # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
  # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
  # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
- AC_SEARCH_LIBS(nanosleep, [rt posix4])
+ AC_SEARCH_LIBS(nanosleep, [rt posix4], [LIB_NANOSLEEP=$ac_cv_search_nanosleep])
+ AC_SUBST(LIB_NANOSLEEP)
 
  AC_CACHE_CHECK([whether nanosleep works],
   jm_cv_func_nanosleep_works,
   [
    AC_REQUIRE([AC_HEADER_TIME])
 
  AC_CACHE_CHECK([whether nanosleep works],
   jm_cv_func_nanosleep_works,
   [
    AC_REQUIRE([AC_HEADER_TIME])
+   AC_CHECK_HEADERS_ONCE(sys/time.h)
    AC_TRY_RUN([
 #   if TIME_WITH_SYS_TIME
 #    include <sys/time.h>
    AC_TRY_RUN([
 #   if TIME_WITH_SYS_TIME
 #    include <sys/time.h>
@@ -42,9 +46,17 @@ AC_DEFUN(jm_FUNC_NANOSLEEP,
         jm_cv_func_nanosleep_works=no)
   ])
   if test $jm_cv_func_nanosleep_works = no; then
         jm_cv_func_nanosleep_works=no)
   ])
   if test $jm_cv_func_nanosleep_works = no; then
-    AC_SUBST(LIBOBJS)
-    LIBOBJS="$LIBOBJS nanosleep.$ac_objext"
-    AC_DEFINE_UNQUOTED(nanosleep, rpl_nanosleep,
+    AC_LIBOBJ(nanosleep)
+    AC_DEFINE(nanosleep, rpl_nanosleep,
       [Define to rpl_nanosleep if the replacement function should be used.])
       [Define to rpl_nanosleep if the replacement function should be used.])
+    gl_PREREQ_NANOSLEEP
   fi
   fi
+
+ LIBS=$nanosleep_save_libs
+])
+
+# Prerequisites of lib/nanosleep.c.
+AC_DEFUN([gl_PREREQ_NANOSLEEP],
+[
+  AC_CHECK_HEADERS_ONCE(unistd.h)
 ])
 ])