* m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
[gnulib.git] / m4 / readutmp.m4
index 3e330fd..33ed4e8 100644 (file)
@@ -1,23 +1,27 @@
-# readutmp.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License.  As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# readutmp.m4 serial 12
+dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_READUTMP],
 [
-  dnl Prerequisites of lib/readutmp.h.
-  AC_CHECK_HEADERS_ONCE(sys/param.h)
-  AC_CHECK_HEADERS(utmp.h utmpx.h)
-  AC_CHECK_FUNCS(utmpname utmpxname)
-  AC_CHECK_DECLS(getutent,,,[
+  dnl Persuade utmpx.h to declare utmpxname
+  AC_REQUIRE([AC_GNU_SOURCE])
+
+  AC_CHECK_HEADERS_ONCE(utmp.h utmpx.h)
+  if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
+    AC_LIBOBJ([readutmp])
+
+    dnl Prerequisites of lib/readutmp.h and lib/readutmp.c.
+    AC_REQUIRE([AC_C_INLINE])
+    AC_REQUIRE([gl_FUNC_FREE])
+    AC_CHECK_FUNCS_ONCE(utmpname utmpxname)
+    AC_CHECK_DECLS(getutent,,,[
 #ifdef HAVE_UTMP_H
 # include <utmp.h>
 #endif
 ])
-  if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
     utmp_includes="\
 $ac_includes_default
 #ifdef HAVE_UTMPX_H
@@ -40,14 +44,14 @@ $ac_includes_default
     AC_CHECK_MEMBERS([struct utmpx.ut_exit],,,[$utmp_includes])
     AC_CHECK_MEMBERS([struct utmp.ut_exit],,,[$utmp_includes])
 
-    AC_LIBOBJ(readutmp)
-    gl_PREREQ_READUTMP
-  fi
-])
+    AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_exit],,,[$utmp_includes])
+    AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_exit],,,[$utmp_includes])
+    AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_exit],,,[$utmp_includes])
+    AC_CHECK_MEMBERS([struct utmp.ut_exit.e_exit],,,[$utmp_includes])
 
-# Prerequisites of lib/readutmp.c.
-AC_DEFUN([gl_PREREQ_READUTMP],
-[
-  AC_REQUIRE([AC_HEADER_STDC])
-  AC_CHECK_HEADERS_ONCE(string.h)
+    AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_termination],,,[$utmp_includes])
+    AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_termination],,,[$utmp_includes])
+    AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_termination],,,[$utmp_includes])
+    AC_CHECK_MEMBERS([struct utmp.ut_exit.e_termination],,,[$utmp_includes])
+  fi
 ])