-# readutmp.m4 serial 7
-dnl Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+# readutmp.m4 serial 15
+dnl Copyright (C) 2002-2008 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],
[
- AC_LIBSOURCES([readutmp.c, readutmp.h])
- AC_LIBOBJ([readutmp])
+ dnl Persuade utmpx.h to declare utmpxname
+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
- dnl Prerequisites of lib/readutmp.h.
- AC_CHECK_HEADERS(utmp.h utmpx.h)
- AC_CHECK_FUNCS(utmpname utmpxname)
- AC_CHECK_DECLS(getutent,,,[
+ 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_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
# include <utmpx.h>
#endif
#ifdef HAVE_UTMP_H
+# if defined _THREAD_SAFE && defined UTMP_DATA_INIT
+ /* When including both utmp.h and utmpx.h on AIX 4.3, with _THREAD_SAFE
+ defined, work around the duplicate struct utmp_data declaration. */
+# define utmp_data gl_aix_4_3_workaround_utmp_data
+# endif
# include <utmp.h>
#endif
"
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])
-
- AC_LIBOBJ(readutmp)
- gl_PREREQ_READUTMP
fi
])
-
-# Prerequisites of lib/readutmp.c.
-AC_DEFUN([gl_PREREQ_READUTMP],
-[
- AC_REQUIRE([gl_FUNC_FREE])
-])