From a142bc1830a099cf29bcb95aa0ac46691f897b7d Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Fri, 11 Nov 2022 08:32:41 -0700 Subject: [PATCH] Only check for utmps.h on HP-UX. --- configure | 34 ++++++++++++++++++++++------------ configure.ac | 10 +++++++--- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/configure b/configure index b193a1eb1..6ca7bc156 100755 --- a/configure +++ b/configure @@ -17519,6 +17519,13 @@ printf "%s\n" "#define HAVE_DECL_SETAUTHDB $ac_have_decl" >>confdefs.h # HP-UX won't unlink a shared lib that is open INSTALL_BACKUP='~' + ac_fn_c_check_header_compile "$LINENO" "utmps.h" "ac_cv_header_utmps_h" "$ac_includes_default" +if test "x$ac_cv_header_utmps_h" = xyes +then : + printf "%s\n" "#define HAVE_UTMPS_H 1" >>confdefs.h + +fi + ac_fn_c_check_func "$LINENO" "pstat_getproc" "ac_cv_func_pstat_getproc" if test "x$ac_cv_func_pstat_getproc" = xyes then : @@ -17639,6 +17646,13 @@ printf "%s\n" "$sudo_cv_var_daportable" >&6; } test -z "$with_pam" && AUTH_EXCL_DEF="PAM" ;; esac + ac_fn_c_check_header_compile "$LINENO" "utmps.h" "ac_cv_header_utmps_h" "$ac_includes_default" +if test "x$ac_cv_header_utmps_h" = xyes +then : + printf "%s\n" "#define HAVE_UTMPS_H 1" >>confdefs.h + +fi + ac_fn_c_check_func "$LINENO" "pstat_getproc" "ac_cv_func_pstat_getproc" if test "x$ac_cv_func_pstat_getproc" = xyes then : @@ -19321,19 +19335,15 @@ fi - for ac_header in utmps.h utmpx.h -do : - as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes" +if test X"$ac_cv_header_utmps_h" != X"yes"; then + ac_fn_c_check_header_compile "$LINENO" "utmpx.h" "ac_cv_header_utmpx_h" "$ac_includes_default" +if test "x$ac_cv_header_utmpx_h" = xyes then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - break + printf "%s\n" "#define HAVE_UTMPX_H 1" >>confdefs.h + fi -done +fi for ac_header in endian.h sys/endian.h machine/endian.h do : as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh` @@ -20147,7 +20157,7 @@ printf "%s\n" "$ac_cv_sizeof_time_t" >&6; } printf "%s\n" "#define SIZEOF_TIME_T $ac_cv_sizeof_time_t" >>confdefs.h -if test $ac_cv_header_utmps_h = "yes"; then +if test X"$ac_cv_header_utmps_h" = X"yes"; then ac_fn_c_check_member "$LINENO" "struct utmps" "ut_id" "ac_cv_member_struct_utmps_ut_id" " # include @@ -20258,7 +20268,7 @@ fi fi -elif test $ac_cv_header_utmpx_h = "yes"; then +elif test X"$ac_cv_header_utmpx_h" = X"yes"; then ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_id" "ac_cv_member_struct_utmpx_ut_id" " # include diff --git a/configure.ac b/configure.ac index 7d2ce59ca..2e556283e 100644 --- a/configure.ac +++ b/configure.ac @@ -1914,6 +1914,7 @@ case "$host" in # HP-UX won't unlink a shared lib that is open INSTALL_BACKUP='~' + AC_CHECK_HEADERS([utmps.h]) AC_CHECK_FUNCS([pstat_getproc gethrtime]) ;; *-*-hpux*) @@ -1992,6 +1993,7 @@ case "$host" in test -z "$with_pam" && AUTH_EXCL_DEF="PAM" ;; esac + AC_CHECK_HEADERS([utmps.h]) AC_CHECK_FUNCS([pstat_getproc gethrtime]) ;; *-dec-osf*) @@ -2456,7 +2458,9 @@ AC_HEADER_DIRENT AC_HEADER_STDBOOL AC_HEADER_MAJOR AC_CHECK_HEADERS_ONCE([netgroup.h paths.h spawn.h wordexp.h sys/sockio.h sys/bsdtypes.h sys/select.h sys/stropts.h sys/sysmacros.h sys/statvfs.h]) -AC_CHECK_HEADERS([utmps.h] [utmpx.h], [break]) +if test X"$ac_cv_header_utmps_h" != X"yes"; then + AC_CHECK_HEADERS([utmpx.h]) +fi AC_CHECK_HEADERS([endian.h] [sys/endian.h] [machine/endian.h], [break]) AC_CHECK_HEADERS([procfs.h] [sys/procfs.h], [AC_CHECK_MEMBERS(struct psinfo.pr_ttydev, [AC_CHECK_FUNCS([_ttyname_dev])], [], [AC_INCLUDES_DEFAULT #ifdef HAVE_PROCFS_H @@ -2553,9 +2557,9 @@ SUDO_SOCK_SIN_LEN AC_CHECK_SIZEOF([id_t]) AC_CHECK_SIZEOF([long long]) AC_CHECK_SIZEOF([time_t]) -if test $ac_cv_header_utmps_h = "yes"; then +if test X"$ac_cv_header_utmps_h" = X"yes"; then SUDO_CHECK_UTMP_MEMBERS([utmps]) -elif test $ac_cv_header_utmpx_h = "yes"; then +elif test X"$ac_cv_header_utmpx_h" = X"yes"; then SUDO_CHECK_UTMP_MEMBERS([utmpx]) else SUDO_CHECK_UTMP_MEMBERS([utmp])