An autoconf macro for its associated module.
[gnulib.git] / m4 / readutmp.m4
1 # readutmp.m4 serial 1
2 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3 dnl This file is free software, distributed under the terms of the GNU
4 dnl General Public License.  As a special exception to the GNU General
5 dnl Public License, this file may be distributed as part of a program
6 dnl that contains a configuration script generated by Autoconf, under
7 dnl the same distribution terms as the rest of that program.
8
9 AC_DEFUN([gl_READUTMP],
10 [
11   dnl Prerequisites of lib/readutmp.h.
12   AC_CHECK_HEADERS_ONCE(sys/param.h)
13   AC_CHECK_HEADERS(utmp.h utmpx.h)
14   AC_CHECK_FUNCS(utmpname utmpxname)
15   AC_CHECK_DECLS(getutent,,,[
16 #ifdef HAVE_UTMP_H
17 # include <utmp.h>
18 #endif
19 ])
20   if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
21     utmp_includes="\
22 $ac_includes_default
23 #ifdef HAVE_UTMPX_H
24 # include <utmpx.h>
25 #endif
26 #ifdef HAVE_UTMP_H
27 # include <utmp.h>
28 #endif
29 "
30     AC_CHECK_MEMBERS([struct utmpx.ut_user],,,[$utmp_includes])
31     AC_CHECK_MEMBERS([struct utmp.ut_user],,,[$utmp_includes])
32     AC_CHECK_MEMBERS([struct utmpx.ut_name],,,[$utmp_includes])
33     AC_CHECK_MEMBERS([struct utmp.ut_name],,,[$utmp_includes])
34     AC_CHECK_MEMBERS([struct utmpx.ut_type],,,[$utmp_includes])
35     AC_CHECK_MEMBERS([struct utmp.ut_type],,,[$utmp_includes])
36     AC_CHECK_MEMBERS([struct utmpx.ut_pid],,,[$utmp_includes])
37     AC_CHECK_MEMBERS([struct utmp.ut_pid],,,[$utmp_includes])
38     AC_CHECK_MEMBERS([struct utmpx.ut_id],,,[$utmp_includes])
39     AC_CHECK_MEMBERS([struct utmp.ut_id],,,[$utmp_includes])
40     AC_CHECK_MEMBERS([struct utmpx.ut_exit],,,[$utmp_includes])
41     AC_CHECK_MEMBERS([struct utmp.ut_exit],,,[$utmp_includes])
42
43     AC_LIBOBJ(readutmp)
44     gl_PREREQ_READUTMP
45   fi
46 ])
47
48 # Prerequisites of lib/readutmp.c.
49 AC_DEFUN([gl_PREREQ_READUTMP],
50 [
51   AC_REQUIRE([AC_HEADER_STDC])
52   AC_CHECK_HEADERS_ONCE(string.h)
53 ])