changeset 7181:1090c1338506

* lib/readutmp.h: Skip most definitions if neither <utmp.h> nor <utmpx.h> exists. * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or <utmpx.h> exists.
author Paul Eggert <eggert@cs.ucla.edu>
date Tue, 22 Aug 2006 17:34:55 +0000
parents d445de86b311
children f03a51e31a89
files lib/ChangeLog lib/readutmp.h m4/ChangeLog m4/readutmp.m4
diffstat 4 files changed, 25 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,8 @@
+2006-08-22  Bruno Haible  <bruno@clisp.org>
+
+	* readutmp.h: Skip most definitions if neither <utmp.h> nor
+	<utmpx.h> exists.
+
 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
 
 	BeOS portability.
--- a/lib/readutmp.h
+++ b/lib/readutmp.h
@@ -31,8 +31,8 @@
 #  undef HAVE_UTMPX_H
 # endif
 
-# ifdef HAVE_UTMPX_H
-#  ifdef HAVE_UTMP_H
+# if HAVE_UTMPX_H
+#  if HAVE_UTMP_H
     /* HPUX 10.20 needs utmp.h, for the definition of e.g., UTMP_FILE.  */
 #   include <utmp.h>
 #  endif
@@ -66,7 +66,8 @@
 #   endif
 #  endif
 
-# else
+# elif HAVE_UTMP_H
+
 #  include <utmp.h>
 #  if !HAVE_DECL_GETUTENT
     struct utmp *getutent();
@@ -103,7 +104,7 @@
 # endif
 
 /* Accessor macro for the member named ut_user or ut_name.  */
-# ifdef HAVE_UTMPX_H
+# if HAVE_UTMPX_H
 
 #  if HAVE_STRUCT_UTMPX_UT_USER
 #   define UT_USER(Utmp) ((Utmp)->ut_user)
@@ -113,7 +114,7 @@
 #   define UT_USER(Utmp) ((Utmp)->ut_name)
 #  endif
 
-# else
+# elif HAVE_UTMP_H
 
 #  if HAVE_STRUCT_UTMP_UT_USER
 #   define UT_USER(Utmp) ((Utmp)->ut_user)
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,8 @@
+2006-08-22  Bruno Haible  <bruno@clisp.org>
+
+	* readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
+	<utmpx.h> exists.
+
 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
 
 	* rijndael.m4 (gl_ARCFOUR):
--- a/m4/readutmp.m4
+++ b/m4/readutmp.m4
@@ -1,4 +1,4 @@
-# readutmp.m4 serial 10
+# readutmp.m4 serial 11
 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,
@@ -6,19 +6,19 @@
 
 AC_DEFUN([gl_READUTMP],
 [
-  AC_LIBOBJ([readutmp])
+  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_HEADERS_ONCE(utmp.h utmpx.h)
-  AC_CHECK_FUNCS_ONCE(utmpname utmpxname)
-  AC_CHECK_DECLS(getutent,,,[
+    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