Imported Upstream version 1.8.7
[debian/sudo] / configure
index 5a8e4d9b3ad2810c0165406602ffaeda769a387f..aa3737568ba98fd2353e98e1c1c03dd7dd4146fa 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for sudo 1.8.6p8.
+# Generated by GNU Autoconf 2.68 for sudo 1.8.7.
 #
 # Report bugs to <http://www.sudo.ws/bugs/>.
 #
@@ -570,8 +570,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='sudo'
 PACKAGE_TARNAME='sudo'
-PACKAGE_VERSION='1.8.6p8'
-PACKAGE_STRING='sudo 1.8.6p8'
+PACKAGE_VERSION='1.8.7'
+PACKAGE_STRING='sudo 1.8.7'
 PACKAGE_BUGREPORT='http://www.sudo.ws/bugs/'
 PACKAGE_URL=''
 
@@ -658,6 +658,8 @@ OBJEXT
 EXEEXT
 ac_ct_CC
 CC
+PLUGINDIR
+pam_session
 editor
 secure_path
 netsvc_conf
@@ -701,6 +703,7 @@ PIE_CFLAGS
 PIE_LDFLAGS
 CROSS_COMPILING
 COMPAT_TEST_PROGS
+LOCALEDIR_SUFFIX
 SUDO_NLS
 LIBINTL
 LT_STATIC
@@ -716,9 +719,9 @@ SELINUX_USAGE
 BSDAUTH_USAGE
 DONT_LEAK_PATH_INFO
 INSTALL_NOEXEC
+sesh_file
 noexec_file
 SOEXT
-PLUGINDIR
 NOEXECDIR
 NOEXECFILE
 mansrcdir
@@ -900,6 +903,7 @@ enable_hardening
 enable_pie
 enable_admin_flag
 enable_nls
+enable_rpath
 with_selinux
 enable_gss_krb5_ccache_name
 enable_shared
@@ -909,6 +913,7 @@ enable_fast_install
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
+with_libtool
 with_noexec
 with_netsvc
 enable_sia
@@ -1470,7 +1475,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures sudo 1.8.6p8 to adapt to many kinds of systems.
+\`configure' configures sudo 1.8.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1535,7 +1540,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of sudo 1.8.6p8:";;
+     short | recursive ) echo "Configuration of sudo 1.8.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1562,10 +1567,10 @@ Optional Features:
   --enable-werror         Whether to enable the -Werror compiler option
   --disable-hardening     Do not use compiler/linker exploit mitigation
                           options
-  --disable-pie           Do not build position independent executables, even
-                          if the compiler/linker supports them
+  --enable-pie            Build sudo as a position independent executable.
   --enable-admin-flag     Whether to create a Ubuntu-style admin flag file
   --disable-nls           Disable natural language support using gettext
+  --disable-rpath         Disable passing of -Rpath to the linker
   --enable-gss-krb5-ccache-name
                           Use GSS-API to set the Kerberos V cred cache name
   --enable-shared[=PKGS]  build shared libraries [default=yes]
@@ -1586,8 +1591,8 @@ Optional Packages:
   --with-alertmail        deprecated
   --with-devel            add development options
   --with-CC               C compiler to use
-  --with-rpath            pass -R flag in addition to -L for lib paths
-  --with-blibpath=PATH    pass -blibpath flag to ld for additional lib paths
+  --with-rpath            deprecated, use --disable-rpath
+  --with-blibpath=PATH    deprecated
   --with-bsm-audit        enable BSM audit support
   --with-linux-audit      enable Linux audit support
   --with-sssd             enable SSSD support
@@ -1675,6 +1680,7 @@ Optional Packages:
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-sysroot=DIR Search for dependent libraries within DIR
                         (or the compiler's sysroot if not specified).
+  --with-libtool=PATH     specify path to libtool
   --with-noexec=PATH      fully qualified pathname of sudo_noexec.so
   --with-netsvc[=PATH]    path to netsvc.conf
   --with-pam-login        enable specific PAM session for sudo -i
@@ -1761,7 +1767,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-sudo configure 1.8.6p8
+sudo configure 1.8.7
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2465,7 +2471,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by sudo $as_me 1.8.6p8, which was
+It was created by sudo $as_me 1.8.7, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -2916,6 +2922,9 @@ $as_echo "$as_me: Configuring Sudo version $PACKAGE_VERSION" >&6;}
 
 
 
+
+
+
 
 
 
@@ -2956,9 +2965,12 @@ path_info=on
 ldap_conf=/etc/ldap.conf
 ldap_secret=/etc/ldap.secret
 netsvc_conf=/etc/netsvc.conf
-noexec_file=/usr/local/libexec/sudo_noexec.so
+noexec_file=/usr/local/libexec/sudo/sudo_noexec.so
+sesh_file=/usr/local/libexec/sudo/sesh
 nsswitch_conf=/etc/nsswitch.conf
 secure_path="not set"
+pam_session=on
+PLUGINDIR=/usr/local/libexec/sudo
 #
 # End initial values for man page substitution
 #
@@ -2986,9 +2998,11 @@ AUTH_EXCL=
 AUTH_EXCL_DEF=
 AUTH_DEF=passwd
 SUDO_NLS=disabled
+LOCALEDIR_SUFFIX=
 LT_LDEXPORTS="-export-symbols \$(shlib_exp)"
 LT_LDDEP="\$(shlib_exp)"
 NO_VIZ="-DNO_VIZ"
+OS_INIT=os_init_common
 
 CHECKSHADOW=true
 shadow_defs=
@@ -3004,6 +3018,19 @@ RTLD_PRELOAD_DEFAULT=
 
 
 
+#
+# Prior to sudo 1.8.7, sudo stored libexec files in $libexecdir.
+# Starting with sudo 1.8.7, $libexecdir/sudo is used so strip
+# off an extraneous "/sudo" from libexecdir.
+#
+case "$libexecdir" in
+    */sudo)
+       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libexecdir should not include the \"sudo\" subdirectory" >&5
+$as_echo "$as_me: WARNING: libexecdir should not include the \"sudo\" subdirectory" >&2;}
+       libexecdir=`expr "$libexecdir" : '\\(.*\\)/sudo$'`
+       ;;
+esac
+
 
 
 # Check whether --with-otp-only was given.
@@ -3061,23 +3088,16 @@ fi
 
 # Check whether --with-rpath was given.
 if test "${with_rpath+set}" = set; then :
-  withval=$with_rpath; case $with_rpath in
-    yes|no)    ;;
-    *)         as_fn_error $? "\"--with-rpath does not take an argument.\"" "$LINENO" 5
-               ;;
-esac
+  withval=$with_rpath; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-rpath deprecated, rpath is now the default" >&5
+$as_echo "$as_me: WARNING: --with-rpath deprecated, rpath is now the default" >&2;}
 fi
 
 
 
 # Check whether --with-blibpath was given.
 if test "${with_blibpath+set}" = set; then :
-  withval=$with_blibpath; case $with_blibpath in
-    yes|no)    ;;
-    *)         { $as_echo "$as_me:${as_lineno-$LINENO}: will pass -blibpath:${with_blibpath} to the loader." >&5
-$as_echo "$as_me: will pass -blibpath:${with_blibpath} to the loader." >&6;}
-               ;;
-esac
+  withval=$with_blibpath; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-blibpath deprecated, use --with-libpath" >&5
+$as_echo "$as_me: WARNING: --with-blibpath deprecated, use --with-libpath" >&2;}
 fi
 
 
@@ -3964,7 +3984,19 @@ if test "${with_incpath+set}" = set; then :
     *)         { $as_echo "$as_me:${as_lineno-$LINENO}: Adding ${with_incpath} to CPPFLAGS" >&5
 $as_echo "$as_me: Adding ${with_incpath} to CPPFLAGS" >&6;}
                for i in ${with_incpath}; do
-                   CPPFLAGS="${CPPFLAGS} -I${i}"
+
+    case "${CPPFLAGS}" in
+       *"-I${i}"|*"-I${i} ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I${i}"
+           else
+               CPPFLAGS="${CPPFLAGS} -I${i}"
+           fi
+           ;;
+    esac
+
                done
                ;;
 esac
@@ -5230,17 +5262,27 @@ if test "${with_askpass+set}" = set; then :
     yes)       as_fn_error $? "\"--with-askpass takes a path as an argument.\"" "$LINENO" 5
                ;;
     no)                ;;
-    *)         cat >>confdefs.h <<EOF
-#define _PATH_SUDO_ASKPASS "$with_askpass"
-EOF
-
-               ;;
+    *)         ;;
 esac
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+
+    with_askpass=no
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
+
 fi
 
+if test X"$with_askpass" != X"no"; then
+    cat >>confdefs.h <<EOF
+#define _PATH_SUDO_ASKPASS "$with_askpass"
+EOF
+
+else
+    cat >>confdefs.h <<EOF
+#define _PATH_SUDO_ASKPASS NULL
+EOF
+
+fi
 
 
 # Check whether --with-plugindir was given.
@@ -5251,7 +5293,7 @@ if test "${with_plugindir+set}" = set; then :
     *)         ;;
 esac
 else
-  with_plugindir="$libexecdir"
+  with_plugindir="$libexecdir/sudo"
 fi
 
 
@@ -5612,8 +5654,6 @@ fi
 # Check whether --enable-pie was given.
 if test "${enable_pie+set}" = set; then :
   enableval=$enable_pie;
-else
-  enable_pie=yes
 fi
 
 
@@ -5640,6 +5680,14 @@ else
 fi
 
 
+# Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then :
+  enableval=$enable_rpath;
+else
+  enable_rpath=yes
+fi
+
+
 
 # Check whether --with-selinux was given.
 if test "${with_selinux+set}" = set; then :
@@ -5697,6 +5745,8 @@ fi
     *)         as_fn_error $? "\"--with-selinux does not take an argument.\"" "$LINENO" 5
                ;;
 esac
+else
+  with_selinux=no
 fi
 
 
@@ -13616,12 +13666,28 @@ CC="$lt_save_CC"
 
 
 
+
+# Check whether --with-libtool was given.
+if test "${with_libtool+set}" = set; then :
+  withval=$with_libtool; case $with_libtool in
+    yes|builtin) ;;
+    no)                as_fn_error $? "\"--without-libtool not supported.\"" "$LINENO" 5
+               ;;
+    system)    LIBTOOL=libtool
+               ;;
+    *)         LIBTOOL="$with_libtool"
+               ;;
+esac
+fi
+
+
 if test "$enable_shared" = "no"; then
     with_noexec=no
     enable_dlopen=no
     lt_cv_dlopen=none
     lt_cv_dlopen_libs=
     ac_cv_func_dlopen=no
+    LT_LDFLAGS=-static
 else
     eval _shrext="$shrext_cmds"
     # Darwin uses .dylib for libraries but .so for modules
@@ -13637,18 +13703,18 @@ $as_echo_n "checking path to sudo_noexec.so... " >&6; }
 # Check whether --with-noexec was given.
 if test "${with_noexec+set}" = set; then :
   withval=$with_noexec; case $with_noexec in
-    yes)       with_noexec="$libexecdir/sudo_noexec$_shrext"
+    yes)       with_noexec="$libexecdir/sudo/sudo_noexec.so"
                ;;
     no)                ;;
     *)         ;;
 esac
 else
-  with_noexec="$libexecdir/sudo_noexec$_shrext"
+  with_noexec="$libexecdir/sudo/sudo_noexec.so"
 fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_noexec" >&5
 $as_echo "$with_noexec" >&6; }
-NOEXECFILE="sudo_noexec$_shrext"
+NOEXECFILE="sudo_noexec.so"
 NOEXECDIR="`echo $with_noexec|sed -e 's:^${\([^}]*\)}:$(\1):' -e 's:^\(.*\)/[^/]*:\1:'`"
 
 # Extract the first word of "uname", so it can be a program name with args.
@@ -13902,18 +13968,9 @@ case "$host" in
                # LD_PRELOAD is space-delimited
                RTLD_PRELOAD_DELIM=" "
 
-               # For implementing getgrouplist()
-               for ac_func in _getgroupsbymember
-do :
-  ac_fn_c_check_func "$LINENO" "_getgroupsbymember" "ac_cv_func__getgroupsbymember"
-if test "x$ac_cv_func__getgroupsbymember" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE__GETGROUPSBYMEMBER 1
-_ACEOF
-
-fi
-done
-
+               # Solaris-specific initialization
+               OS_INIT=os_init_solaris
+               SUDO_OBJS="${SUDO_OBJS} solaris.o"
 
                # To get the crypt(3) prototype (so we pass -Wall)
                OSDEFS="${OSDEFS} -D__EXTENSIONS__"
@@ -13923,7 +13980,6 @@ done
                fi
                : ${mansectsu='1m'}
                : ${mansectform='4'}
-               : ${with_rpath='yes'}
                test -z "$with_pam" && AUTH_EXCL_DEF="PAM"
                for ac_func in priv_set
 do :
@@ -13941,42 +13997,6 @@ done
                # To get all prototypes (so we pass -Wall)
                OSDEFS="${OSDEFS} -D_ALL_SOURCE -D_LINUX_SOURCE_COMPAT"
                SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -Wl,-bI:\$(srcdir)/aixcrypt.exp"
-               if test X"$with_blibpath" != X"no"; then
-                   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linker accepts -Wl,-blibpath" >&5
-$as_echo_n "checking if linker accepts -Wl,-blibpath... " >&6; }
-                   O_LDFLAGS="$LDFLAGS"
-                   LDFLAGS="$O_LDFLAGS -Wl,-blibpath:/usr/lib:/lib"
-                   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-                       if test -n "$with_blibpath" -a "$with_blibpath" != "yes"; then
-                           blibpath="$with_blibpath"
-                       elif test -n "$GCC"; then
-                           blibpath="/usr/lib:/lib:/usr/local/lib"
-                       else
-                           blibpath="/usr/lib:/lib"
-                       fi
-                       { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-               fi
-               LDFLAGS="$O_LDFLAGS"
 
                # On AIX 6 and higher default to PAM, else default to LAM
                if test $OSMAJOR -ge 6; then
                    with_netsvc="/etc/netsvc.conf"
                fi
 
-               # For implementing getgrouplist()
-               for ac_func in getgrset
-do :
-  ac_fn_c_check_func "$LINENO" "getgrset" "ac_cv_func_getgrset"
-if test "x$ac_cv_func_getgrset" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETGRSET 1
-_ACEOF
-
-fi
-done
-
-
                # LDR_PRELOAD is only supported in AIX 5.3 and later
                if test $OSMAJOR -lt 5; then
                    with_noexec=no
@@ -14036,7 +14043,7 @@ done
                fi
 
                # AIX-specific functions
-               for ac_func in getuserattr setauthdb
+               for ac_func in getuserattr setauthdb setrlimit64
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -14134,12 +14141,12 @@ $as_echo "$sudo_cv_var_daportable" >&6; }
                        ;;
                esac
 
-               case "$host" in
-                       *-*-hpux[1-8].*)
+               case "$host_os" in
+                       hpux[1-8].*)
                            $as_echo "#define BROKEN_SYSLOG 1" >>confdefs.h
 
                        ;;
-                       *-*-hpux9.*)
+                       hpux9.*)
                            $as_echo "#define BROKEN_SYSLOG 1" >>confdefs.h
 
 
@@ -14150,10 +14157,35 @@ $as_echo "$sudo_cv_var_daportable" >&6; }
                                # order of libs in 9.X is important. -lc_r must be last
                                SUDOERS_LIBS="${SUDOERS_LIBS} -ldce -lM -lc_r"
                                LIBS="${LIBS} -ldce -lM -lc_r"
-                               CPPFLAGS="${CPPFLAGS} -D_REENTRANT -I/usr/include/reentrant"
+
+    case "${CPPFLAGS}" in
+       *"-D_REENTRANT"|*"-D_REENTRANT ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-D_REENTRANT"
+           else
+               CPPFLAGS="${CPPFLAGS} -D_REENTRANT"
+           fi
+           ;;
+    esac
+
+
+    case "${CPPFLAGS}" in
+       *"-I/usr/include/reentrant"|*"-I/usr/include/reentrant ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I/usr/include/reentrant"
+           else
+               CPPFLAGS="${CPPFLAGS} -I/usr/include/reentrant"
+           fi
+           ;;
+    esac
+
                            fi
                        ;;
-                       *-*-hpux10.*)
+                       hpux10.*)
                            shadow_funcs="getprpwnam iscomsec"
                            shadow_libs="-lsec"
                            # HP-UX 10.20 libc has an incompatible getline
@@ -14165,6 +14197,17 @@ $as_echo "$sudo_cv_var_daportable" >&6; }
                            test -z "$with_pam" && AUTH_EXCL_DEF="PAM"
                        ;;
                esac
+               for ac_func in pstat_getproc
+do :
+  ac_fn_c_check_func "$LINENO" "pstat_getproc" "ac_cv_func_pstat_getproc"
+if test "x$ac_cv_func_pstat_getproc" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_PSTAT_GETPROC 1
+_ACEOF
+
+fi
+done
+
                ;;
     *-dec-osf*)
                # ignore envariables wrt dynamic lib path
                ;;
     *-*-riscos*)
                LIBS="${LIBS} -lsun -lbsd"
-               CPPFLAGS="${CPPFLAGS} -I/usr/include -I/usr/include/bsd"
+
+    case "${CPPFLAGS}" in
+       *"-I/usr/include"|*"-I/usr/include ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I/usr/include"
+           else
+               CPPFLAGS="${CPPFLAGS} -I/usr/include"
+           fi
+           ;;
+    esac
+
+
+    case "${CPPFLAGS}" in
+       *"-I/usr/include/bsd"|*"-I/usr/include/bsd ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I/usr/include/bsd"
+           else
+               CPPFLAGS="${CPPFLAGS} -I/usr/include/bsd"
+           fi
+           ;;
+    esac
+
                OSDEFS="${OSDEFS} -D_MIPS"
                : ${mansectsu='1m'}
                : ${mansectform='4'}
@@ -14375,7 +14443,6 @@ fi
                shadow_libs="-lsec"
                : ${mansectsu='1m'}
                : ${mansectform='4'}
-               : ${with_rpath='yes'}
                ;;
     *-ncr-sysv4*|*-ncr-sysvr4*)
                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strcasecmp in -lc89" >&5
 
                : ${mansectsu='1m'}
                : ${mansectform='4'}
-               : ${with_rpath='yes'}
                ;;
     *-ccur-sysv4*|*-ccur-sysvr4*)
                LIBS="${LIBS} -lgen"
                : ${mansectsu='1m'}
                : ${mansectform='4'}
-               : ${with_rpath='yes'}
                ;;
     *-*-bsdi*)
                SKIP_SETREUID=yes
@@ -14460,13 +14525,12 @@ done
                CHECKSHADOW="false"
                test -z "$with_pam" && AUTH_EXCL_DEF="PAM"
                : ${with_logincap='maybe'}
-               # PIE is broken on FreeBSD/ia64
-               case "$host_cpu" in
-               ia64*)
-                       enable_pie=no;;
-               esac
                ;;
     *-*-*openbsd*)
+               # OpenBSD-specific initialization
+               OS_INIT=os_init_openbsd
+               SUDO_OBJS="${SUDO_OBJS} openbsd.o"
+
                # OpenBSD has a real setreuid(2) starting with 3.3 but
                # we will use setresuid(2) instead.
                SKIP_SETREUID=yes
@@ -14524,7 +14588,6 @@ done
     *-*-*sysv4*)
                : ${mansectsu='1m'}
                : ${mansectform='4'}
-               : ${with_rpath='yes'}
                ;;
     *-*-sysv*)
                : ${mansectsu='1m'}
 if test -n "$with_libpath"; then
     for i in ${with_libpath}; do
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  LDFLAGS="${LDFLAGS} -L$i -Wl,+b,$i"
-                       ;;
-           *)          LDFLAGS="${LDFLAGS} -L$i -Wl,-R$i"
-                       ;;
-       esac
-    else
-       LDFLAGS="${LDFLAGS} -L$i"
-    fi
-    if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:$i"
-    fi
+    case "${LDFLAGS}" in
+       *"-L$i"|*"-L$i ")
+           ;;
+       *)
+           LDFLAGS="${LDFLAGS} -L$i"
+           if test X"$enable_rpath" = X"yes"; then
+               LDFLAGS_R="${LDFLAGS_R} -R$i"
+           fi
+           ;;
+    esac
 
     done
 fi
 
 done
 
+for ac_header in endian.h sys/endian.h machine/endian.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+ break
+fi
+
+done
+
 for ac_header in procfs.h sys/procfs.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
@@ -15680,8 +15753,8 @@ rm -rf conftest*
   fi
 fi
 
-case "$host" in
-    *-*-hpux11.*)
+case "$host_os" in
+    hpux11.*)
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h needs _XOPEN_SOURCE_EXTENDED" >&5
 $as_echo_n "checking whether sys/types.h needs _XOPEN_SOURCE_EXTENDED... " >&6; }
 if ${sudo_cv_xopen_source_extended+:} false; then :
@@ -16102,6 +16175,9 @@ $as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
 
   fi
 
+if test X"$ac_cv_type_long_long_int" != X"yes"; then
+    as_fn_error $? "\"C compiler does not appear have required long long support\"" "$LINENO" 5
+fi
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
@@ -16179,6 +16255,39 @@ _ACEOF
 
 fi
 
+ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint8_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define uint8_t unsigned char
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint32_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define uint32_t unsigned int
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint64_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define uint64_t unsigned long long
+_ACEOF
+
+fi
+
 ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "
 $ac_includes_default
 #include <sys/socket.h>
@@ -16622,9 +16731,8 @@ $as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h
 fi
 LIBS=$ac_save_LIBS
 
-for ac_func in glob strrchr sysconf tzset strftime setenv \
-              regcomp setlocale nl_langinfo mbr_check_membership \
-              setrlimit64
+for ac_func in glob nl_langinfo regcomp setenv strftime strrchr strtoll \
+              sysconf tzset
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -16636,19 +16744,113 @@ _ACEOF
 fi
 done
 
-ac_fn_c_check_func "$LINENO" "getgrouplist" "ac_cv_func_getgrouplist"
+for ac_func in getgrouplist
+do :
+  ac_fn_c_check_func "$LINENO" "getgrouplist" "ac_cv_func_getgrouplist"
 if test "x$ac_cv_func_getgrouplist" = xyes; then :
-  $as_echo "#define HAVE_GETGROUPLIST 1" >>confdefs.h
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_GETGROUPLIST 1
+_ACEOF
 
 else
-  case " $LIBOBJS " in
+
+    case "$host_os" in
+    aix*)
+       for ac_func in getgrset
+do :
+  ac_fn_c_check_func "$LINENO" "getgrset" "ac_cv_func_getgrset"
+if test "x$ac_cv_func_getgrset" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_GETGRSET 1
+_ACEOF
+
+fi
+done
+
+       ;;
+    *)
+       ac_fn_c_check_func "$LINENO" "nss_search" "ac_cv_func_nss_search"
+if test "x$ac_cv_func_nss_search" = xyes; then :
+
+           ac_fn_c_check_func "$LINENO" "_nss_XbyY_buf_alloc" "ac_cv_func__nss_XbyY_buf_alloc"
+if test "x$ac_cv_func__nss_XbyY_buf_alloc" = xyes; then :
+
+               # Solaris
+               ac_fn_c_check_func "$LINENO" "_nss_initf_group" "ac_cv_func__nss_initf_group"
+if test "x$ac_cv_func__nss_initf_group" = xyes; then :
+
+                   for ac_header in nss_dbdefs.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "nss_dbdefs.h" "ac_cv_header_nss_dbdefs_h" "$ac_includes_default"
+if test "x$ac_cv_header_nss_dbdefs_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_NSS_DBDEFS_H 1
+_ACEOF
+
+fi
+
+done
+
+                   $as_echo "#define HAVE_NSS_SEARCH 1" >>confdefs.h
+
+                   $as_echo "#define HAVE__NSS_XBYY_BUF_ALLOC 1" >>confdefs.h
+
+                   $as_echo "#define HAVE__NSS_INITF_GROUP 1" >>confdefs.h
+
+
+fi
+
+
+else
+
+               # HP-UX
+               ac_fn_c_check_func "$LINENO" "__nss_XbyY_buf_alloc" "ac_cv_func___nss_XbyY_buf_alloc"
+if test "x$ac_cv_func___nss_XbyY_buf_alloc" = xyes; then :
+
+                   ac_fn_c_check_func "$LINENO" "__nss_initf_group" "ac_cv_func___nss_initf_group"
+if test "x$ac_cv_func___nss_initf_group" = xyes; then :
+
+                       for ac_header in nss_dbdefs.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "nss_dbdefs.h" "ac_cv_header_nss_dbdefs_h" "$ac_includes_default"
+if test "x$ac_cv_header_nss_dbdefs_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_NSS_DBDEFS_H 1
+_ACEOF
+
+fi
+
+done
+
+                       $as_echo "#define HAVE_NSS_SEARCH 1" >>confdefs.h
+
+                       $as_echo "#define HAVE___NSS_XBYY_BUF_ALLOC 1" >>confdefs.h
+
+                       $as_echo "#define HAVE___NSS_INITF_GROUP 1" >>confdefs.h
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+       ;;
+    esac
+    case " $LIBOBJS " in
   *" getgrouplist.$ac_objext "* ) ;;
   *) LIBOBJS="$LIBOBJS getgrouplist.$ac_objext"
  ;;
 esac
 
-fi
 
+fi
+done
 
 for ac_func in getline
 do :
@@ -17088,13 +17290,12 @@ if test "x$ac_cv_func_setreuid" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SETREUID 1
 _ACEOF
- SKIP_SETEUID=yes
+
 fi
 done
 
 fi
-if test -z "$SKIP_SETEUID"; then
-    for ac_func in seteuid
+for ac_func in seteuid
 do :
   ac_fn_c_check_func "$LINENO" "seteuid" "ac_cv_func_seteuid"
 if test "x$ac_cv_func_seteuid" = xyes; then :
@@ -17105,7 +17306,6 @@ _ACEOF
 fi
 done
 
-fi
 if test X"$with_interfaces" != X"no"; then
     for ac_func in getifaddrs
 do :
 # make sure we use the gettext() that matches the include file.
 if test "$enable_nls" != "no"; then
     if test "$enable_nls" != "yes"; then
-       CPPFLAGS="${CPPFLAGS} -I${enable_nls}/include"
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  LDFLAGS="${LDFLAGS} -L$enable_nls/lib -Wl,+b,$enable_nls/lib"
-                       ;;
-           *)          LDFLAGS="${LDFLAGS} -L$enable_nls/lib -Wl,-R$enable_nls/lib"
-                       ;;
-       esac
-    else
-       LDFLAGS="${LDFLAGS} -L$enable_nls/lib"
-    fi
-    if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:$enable_nls/lib"
-    fi
+    case "${CPPFLAGS}" in
+       *"-I${enable_nls}/include"|*"-I${enable_nls}/include ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I${enable_nls}/include"
+           else
+               CPPFLAGS="${CPPFLAGS} -I${enable_nls}/include"
+           fi
+           ;;
+    esac
+
+
+    case "${LDFLAGS}" in
+       *"-L$enable_nls/lib"|*"-L$enable_nls/lib ")
+           ;;
+       *)
+           LDFLAGS="${LDFLAGS} -L$enable_nls/lib"
+           if test X"$enable_rpath" = X"yes"; then
+               LDFLAGS_R="${LDFLAGS_R} -R$enable_nls/lib"
+           fi
+           ;;
+    esac
 
     fi
     OLIBS="$LIBS"
@@ -18104,6 +18313,10 @@ done
        $as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h
 
        SUDO_NLS=enabled
+       # For Solaris we need links from lang to lang.UTF-8 in localedir
+       case "$host_os" in
+           solaris2*) LOCALEDIR_SUFFIX=".UTF-8";;
+       esac
     elif test "$sudo_cv_gettext_lintl" = "yes"; then
        $as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h
 
     *)
        $as_echo "#define HAVE_ZLIB_H 1" >>confdefs.h
 
-       CPPFLAGS="-I${enable_zlib}/include ${CPPFLAGS}"
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  ZLIB="${ZLIB} -L$enable_zlib/lib -Wl,+b,$enable_zlib/lib"
-                       ;;
-           *)          ZLIB="${ZLIB} -L$enable_zlib/lib -Wl,-R$enable_zlib/lib"
-                       ;;
-       esac
-    else
-       ZLIB="${ZLIB} -L$enable_zlib/lib"
-    fi
-    if test X"$blibpath" != X"" -a "ZLIB" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:$enable_zlib/lib"
-    fi
+    case "${CPPFLAGS}" in
+       *"-I${enable_zlib}/include"|*"-I${enable_zlib}/include ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I${enable_zlib}/include"
+           else
+               CPPFLAGS="${CPPFLAGS} -I${enable_zlib}/include"
+           fi
+           ;;
+    esac
+
+
+    case "${ZLIB}" in
+       *"-L$enable_zlib/lib"|*"-L$enable_zlib/lib ")
+           ;;
+       *)
+           ZLIB="${ZLIB} -L$enable_zlib/lib"
+           if test X"$enable_rpath" = X"yes"; then
+               ZLIB_R="${ZLIB_R} -R$enable_zlib/lib"
+           fi
+           ;;
+    esac
 
        ZLIB="${ZLIB} -lz"
        ;;
@@ -18647,16 +18869,17 @@ if test "${enable_pam_session+set}" = set; then :
                yes)    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
                        ;;
-               no)             { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+               no)     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-                           $as_echo "#define NO_PAM_SESSION 1" >>confdefs.h
+                       $as_echo "#define NO_PAM_SESSION 1" >>confdefs.h
 
-                           ;;
-               *)              { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+                       pam_session=off
+                       ;;
+               *)      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-                           { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring unknown argument to --enable-pam-session: $enableval" >&5
+                       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring unknown argument to --enable-pam-session: $enableval" >&5
 $as_echo "$as_me: WARNING: Ignoring unknown argument to --enable-pam-session: $enableval" >&2;}
-                           ;;
+                       ;;
            esac
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 if test ${with_fwtk-'no'} != "no"; then
     if test "$with_fwtk" != "yes"; then
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_fwtk} -Wl,+b,${with_fwtk}"
-                       ;;
-           *)          SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_fwtk} -Wl,-R${with_fwtk}"
-                       ;;
-       esac
-    else
-       SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_fwtk}"
-    fi
-    if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${with_fwtk}"
-    fi
+    case "${SUDOERS_LDFLAGS}" in
+       *"-L${with_fwtk}"|*"-L${with_fwtk} ")
+           ;;
+       *)
+           SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_fwtk}"
+           if test X"$enable_rpath" = X"yes"; then
+               SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_fwtk}"
+           fi
+           ;;
+    esac
+
+
+    case "${CPPFLAGS}" in
+       *"-I${with_fwtk}"|*"-I${with_fwtk} ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I${with_fwtk}"
+           else
+               CPPFLAGS="${CPPFLAGS} -I${with_fwtk}"
+           fi
+           ;;
+    esac
 
-       CPPFLAGS="${CPPFLAGS} -I${with_fwtk}"
        with_fwtk=yes
     fi
     SUDOERS_LIBS="${SUDOERS_LIBS} -lauth -lfwall"
@@ -18745,21 +18977,30 @@ if test ${with_SecurID-'no'} != "no"; then
     else
        with_SecurID=/usr/ace
     fi
-    CPPFLAGS="${CPPFLAGS} -I${with_SecurID}"
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  LDFLAGS="${LDFLAGS} -L${with_SecurID} -Wl,+b,${with_SecurID}"
-                       ;;
-           *)          LDFLAGS="${LDFLAGS} -L${with_SecurID} -Wl,-R${with_SecurID}"
-                       ;;
-       esac
-    else
-       LDFLAGS="${LDFLAGS} -L${with_SecurID}"
-    fi
-    if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${with_SecurID}"
-    fi
+    case "${CPPFLAGS}" in
+       *"-I${with_SecurID}"|*"-I${with_SecurID} ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I${with_SecurID}"
+           else
+               CPPFLAGS="${CPPFLAGS} -I${with_SecurID}"
+           fi
+           ;;
+    esac
+
+
+    case "${SUDOERS_LDFLAGS}" in
+       *"-L${with_SecurID}"|*"-L${with_SecurID} ")
+           ;;
+       *)
+           SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_SecurID}"
+           if test X"$enable_rpath" = X"yes"; then
+               SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_SecurID}"
+           fi
+           ;;
+    esac
 
     SUDOERS_LIBS="${SUDOERS_LIBS} -laceclnt -lpthread"
     AUTH_OBJS="$AUTH_OBJS securid5.lo";
@@ -18878,21 +19119,30 @@ $as_echo "$as_me: WARNING: Unable to locate Kerberos V include files, you will h
            fi
        else
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb5}/lib -Wl,+b,${with_kerb5}/lib"
-                       ;;
-           *)          SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb5}/lib -Wl,-R${with_kerb5}/lib"
-                       ;;
-       esac
-    else
-       SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb5}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${with_kerb5}/lib"
-    fi
+    case "${SUDOERS_LDFLAGS}" in
+       *"-L${with_kerb5}/lib"|*"-L${with_kerb5}/lib ")
+           ;;
+       *)
+           SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb5}/lib"
+           if test X"$enable_rpath" = X"yes"; then
+               SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_kerb5}/lib"
+           fi
+           ;;
+    esac
+
+
+    case "${CPPFLAGS}" in
+       *"-I${with_kerb5}/include"|*"-I${with_kerb5}/include ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I${with_kerb5}/include"
+           else
+               CPPFLAGS="${CPPFLAGS} -I${with_kerb5}/include"
+           fi
+           ;;
+    esac
 
-           CPPFLAGS="$CPPFLAGS -I${with_kerb5}/include"
        fi
 
                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
@@ -19088,19 +19338,16 @@ if test ${with_AFS-'no'} = "yes"; then
     for i in $AFSLIBDIRS; do
        if test -d ${i}; then
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L$i -Wl,+b,$i"
-                       ;;
-           *)          SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L$i -Wl,-R$i"
-                       ;;
-       esac
-    else
-       SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L$i"
-    fi
-    if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:$i"
-    fi
+    case "${SUDOERS_LDFLAGS}" in
+       *"-L$i"|*"-L$i ")
+           ;;
+       *)
+           SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L$i"
+           if test X"$enable_rpath" = X"yes"; then
+               SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R$i"
+           fi
+           ;;
+    esac
 
            FOUND_AFSLIBDIR=true
        fi
@@ -19128,7 +19375,19 @@ $as_echo "$as_me: WARNING: Unable to locate AFS libraries, you will have to edit
     # AFS includes may live in /usr/include on some machines...
     for i in /usr/afsws/include; do
        if test -d ${i}; then
-           CPPFLAGS="${CPPFLAGS} -I${i}"
+
+    case "${CPPFLAGS}" in
+       *"-I${i}"|*"-I${i} ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I${i}"
+           else
+               CPPFLAGS="${CPPFLAGS} -I${i}"
+           fi
+           ;;
+    esac
+
            FOUND_AFSINCDIR=true
        fi
     done
 if test "${with_skey-'no'}" = "yes"; then
     O_LDFLAGS="$LDFLAGS"
     if test "$with_skey" != "yes"; then
-       CPPFLAGS="${CPPFLAGS} -I${with_skey}/include"
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  LDFLAGS="${LDFLAGS} -L${with_skey}/lib -Wl,+b,${with_skey}/lib"
-                       ;;
-           *)          LDFLAGS="${LDFLAGS} -L${with_skey}/lib -Wl,-R${with_skey}/lib"
-                       ;;
-       esac
-    else
-       LDFLAGS="${LDFLAGS} -L${with_skey}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${with_skey}/lib"
-    fi
+    case "${CPPFLAGS}" in
+       *"-I${with_skey}/include"|*"-I${with_skey}/include ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I${with_skey}/include"
+           else
+               CPPFLAGS="${CPPFLAGS} -I${with_skey}/include"
+           fi
+           ;;
+    esac
 
+       LDFLAGS="$LDFLAGS -L${with_skey}/lib"
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_skey}/lib -Wl,+b,${with_skey}/lib"
-                       ;;
-           *)          SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_skey}/lib -Wl,-R${with_skey}/lib"
-                       ;;
-       esac
-    else
-       SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_skey}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${with_skey}/lib"
-    fi
+    case "${SUDOERS_LDFLAGS}" in
+       *"-L${with_skey}/lib"|*"-L${with_skey}/lib ")
+           ;;
+       *)
+           SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_skey}/lib"
+           if test X"$enable_rpath" = X"yes"; then
+               SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_skey}/lib"
+           fi
+           ;;
+    esac
 
        ac_fn_c_check_header_compile "$LINENO" "skey.h" "ac_cv_header_skey_h" "#include <stdio.h>
 "
        if test "$found" = "no" -o -z "$dir"; then
            CPPFLAGS="$O_CPPFLAGS"
        else
+           LDFLAGS="$LDFLAGS -L${dir}/lib"
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  LDFLAGS="${LDFLAGS} -L${dir}/lib -Wl,+b,${dir}/lib"
-                       ;;
-           *)          LDFLAGS="${LDFLAGS} -L${dir}/lib -Wl,-R${dir}/lib"
-                       ;;
-       esac
-    else
-       LDFLAGS="${LDFLAGS} -L${dir}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${dir}/lib"
-    fi
-
-
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib -Wl,+b,${dir}/lib"
-                       ;;
-           *)          SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib -Wl,-R${dir}/lib"
-                       ;;
-       esac
-    else
-       SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${dir}/lib"
-    fi
+    case "${SUDOERS_LDFLAGS}" in
+       *"-L${dir}/lib"|*"-L${dir}/lib ")
+           ;;
+       *)
+           SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib"
+           if test X"$enable_rpath" = X"yes"; then
+               SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${dir}/lib"
+           fi
+           ;;
+    esac
 
        fi
        if test "$found" = "no"; then
 if test "${with_opie-'no'}" = "yes"; then
     O_LDFLAGS="$LDFLAGS"
     if test "$with_opie" != "yes"; then
-       CPPFLAGS="${CPPFLAGS} -I${with_opie}/include"
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  LDFLAGS="${LDFLAGS} -L${with_opie}/lib -Wl,+b,${with_opie}/lib"
-                       ;;
-           *)          LDFLAGS="${LDFLAGS} -L${with_opie}/lib -Wl,-R${with_opie}/lib"
-                       ;;
-       esac
-    else
-       LDFLAGS="${LDFLAGS} -L${with_opie}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${with_opie}/lib"
-    fi
+    case "${CPPFLAGS}" in
+       *"-I${with_opie}/include"|*"-I${with_opie}/include ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I${with_opie}/include"
+           else
+               CPPFLAGS="${CPPFLAGS} -I${with_opie}/include"
+           fi
+           ;;
+    esac
 
+       LDFLAGS="$LDFLAGS -L${with_opie}/lib"
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_opie}/lib -Wl,+b,${with_opie}/lib"
-                       ;;
-           *)          SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_opie}/lib -Wl,-R${with_opie}/lib"
-                       ;;
-       esac
-    else
-       SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_opie}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${with_opie}/lib"
-    fi
+    case "${SUDOERS_LDFLAGS}" in
+       *"-L${with_opie}/lib"|*"-L${with_opie}/lib ")
+           ;;
+       *)
+           SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_opie}/lib"
+           if test X"$enable_rpath" = X"yes"; then
+               SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_opie}/lib"
+           fi
+           ;;
+    esac
 
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -19432,35 +19664,18 @@ rm -f conftest.err conftest.i conftest.$ac_ext
        if test "$found" = "no" -o -z "$dir"; then
            CPPFLAGS="$O_CPPFLAGS"
        else
+           LDFLAGS="$LDFLAGS -L${dir}/lib"
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  LDFLAGS="${LDFLAGS} -L${dir}/lib -Wl,+b,${dir}/lib"
-                       ;;
-           *)          LDFLAGS="${LDFLAGS} -L${dir}/lib -Wl,-R${dir}/lib"
-                       ;;
-       esac
-    else
-       LDFLAGS="${LDFLAGS} -L${dir}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${dir}/lib"
-    fi
-
-
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib -Wl,+b,${dir}/lib"
-                       ;;
-           *)          SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib -Wl,-R${dir}/lib"
-                       ;;
-       esac
-    else
-       SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${dir}/lib"
-    fi
+    case "${SUDOERS_LDFLAGS}" in
+       *"-L${dir}/lib"|*"-L${dir}/lib ")
+           ;;
+       *)
+           SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib"
+           if test X"$enable_rpath" = X"yes"; then
+               SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${dir}/lib"
+           fi
+           ;;
+    esac
 
        fi
        if test "$found" = "no"; then
 fi
 
 if test ${with_ldap-'no'} != "no"; then
-    _LDFLAGS="$LDFLAGS"
+    O_LDFLAGS="$LDFLAGS"
     if test "$with_ldap" != "yes"; then
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_ldap}/lib -Wl,+b,${with_ldap}/lib"
-                       ;;
-           *)          SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_ldap}/lib -Wl,-R${with_ldap}/lib"
-                       ;;
-       esac
-    else
-       SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_ldap}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${with_ldap}/lib"
-    fi
+    case "${SUDOERS_LDFLAGS}" in
+       *"-L${with_ldap}/lib"|*"-L${with_ldap}/lib ")
+           ;;
+       *)
+           SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_ldap}/lib"
+           if test X"$enable_rpath" = X"yes"; then
+               SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_ldap}/lib"
+           fi
+           ;;
+    esac
 
+       LDFLAGS="$LDFLAGS -L${with_ldap}/lib"
 
-    if test X"$with_rpath" = X"yes"; then
-       case "$host" in
-           *-*-hpux*)  LDFLAGS="${LDFLAGS} -L${with_ldap}/lib -Wl,+b,${with_ldap}/lib"
-                       ;;
-           *)          LDFLAGS="${LDFLAGS} -L${with_ldap}/lib -Wl,-R${with_ldap}/lib"
-                       ;;
-       esac
-    else
-       LDFLAGS="${LDFLAGS} -L${with_ldap}/lib"
-    fi
-    if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then
-       blibpath_add="${blibpath_add}:${with_ldap}/lib"
-    fi
+    case "${CPPFLAGS}" in
+       *"-I${with_ldap}/include"|*"-I${with_ldap}/include ")
+           ;;
+       *)
+           if test X"${CPPFLAGS}" = X""; then
+               CPPFLAGS="-I${with_ldap}/include"
+           else
+               CPPFLAGS="${CPPFLAGS} -I${with_ldap}/include"
+           fi
+           ;;
+    esac
 
-       CPPFLAGS="${CPPFLAGS} -I${with_ldap}/include"
        with_ldap=yes
     fi
     SUDOERS_OBJS="${SUDOERS_OBJS} ldap.lo"
     LDAP=""
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LDAP libraries" >&5
-$as_echo_n "checking for LDAP libraries... " >&6; }
-    LDAP_LIBS=""
     _LIBS="$LIBS"
+    LDAP_LIBS=""
+    IBMLDAP_EXTRA=""
     found=no
-    for l in -lldap -llber '-lssl -lcrypto'; do
-       LIBS="${LIBS} $l"
-       LDAP_LIBS="${LDAP_LIBS} $l"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+    # On HP-UX, libibmldap has a hidden dependency on libCsup
+    case "$host_os" in
+       hpux*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lCsup" >&5
+$as_echo_n "checking for main in -lCsup... " >&6; }
+if ${ac_cv_lib_Csup_main+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lCsup  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-       #include <lber.h>
-       #include <ldap.h>
+
+
 int
 main ()
 {
-(void)ldap_init(0, 0)
+return main ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  found=yes; break
+  ac_cv_lib_Csup_main=yes
+else
+  ac_cv_lib_Csup_main=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-    done
-    if test "$found" = "no"; then
-       LDAP_LIBS=""
-       LIBS="$_LIBS"
-       for l in -libmldap -lidsldif; do
-           LIBS="${LIBS} $l"
-           LDAP_LIBS="${LDAP_LIBS} $l"
-           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Csup_main" >&5
+$as_echo "$ac_cv_lib_Csup_main" >&6; }
+if test "x$ac_cv_lib_Csup_main" = xyes; then :
+  IBMLDAP_EXTRA=" -lCsup"
+fi
+;;
+    esac
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing ldap_init" >&5
+$as_echo_n "checking for library containing ldap_init... " >&6; }
+if ${ac_cv_search_ldap_init+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-           #include <lber.h>
-           #include <ldap.h>
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ldap_init ();
 int
 main ()
 {
-(void)ldap_init(0, 0)
+return ldap_init ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  found=yes; break
+for ac_lib in '' "ldap" "ldap -llber" "ldap -llber -lssl -lcrypto" "ibmldap${IBMLDAP_EXTRA}" "ibmldap -lidsldif${IBMLDAP_EXTRA}"; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_ldap_init=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       done
-    fi
-        if test "$found" = "no"; then
-       LIBS="${_LIBS} -lldap"
+    conftest$ac_exeext
+  if ${ac_cv_search_ldap_init+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_ldap_init+:} false; then :
+
+else
+  ac_cv_search_ldap_init=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_ldap_init" >&5
+$as_echo "$ac_cv_search_ldap_init" >&6; }
+ac_res=$ac_cv_search_ldap_init
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+       test "$ac_res" != "none required" && LDAP_LIBS="$ac_res"
+       found=yes
+
+fi
+
+    # If nothing linked, try -lldap and hope for the best
+    if test "$found" = "no"; then
        LDAP_LIBS="-lldap"
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found, using -lldap" >&5
-$as_echo "not found, using -lldap" >&6; }
-    else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDAP_LIBS" >&5
-$as_echo "$LDAP_LIBS" >&6; }
     fi
+    LIBS="${_LIBS} ${LDAP_LIBS}"
         OLIBS="$LIBS"
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing ber_set_option" >&5
 $as_echo_n "checking for library containing ber_set_option... " >&6; }
@@ -19951,7 +20204,8 @@ if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
- for ac_func in ldap_sasl_interactive_bind_s
+
+       for ac_func in ldap_sasl_interactive_bind_s
 do :
   ac_fn_c_check_func "$LINENO" "ldap_sasl_interactive_bind_s" "ac_cv_func_ldap_sasl_interactive_bind_s"
 if test "x$ac_cv_func_ldap_sasl_interactive_bind_s" = xyes; then :
@@ -19962,8 +20216,8 @@ _ACEOF
 fi
 done
 
-else
-  break
+       break
+
 fi
 
 done
@@ -20169,7 +20423,7 @@ $as_echo "$as_me: WARNING: Unable to locate gssapi.h, you will have to edit the
 
     SUDOERS_LIBS="${SUDOERS_LIBS} ${LDAP_LIBS}"
     LIBS="$_LIBS"
-    LDFLAGS="$_LDFLAGS"
+    LDFLAGS="$O_LDFLAGS"
 fi
 
 #
@@ -20180,13 +20434,13 @@ case "$lt_cv_dlopen" in
     dlopen)
        $as_echo "#define HAVE_DLOPEN 1" >>confdefs.h
 
-       SUDOERS_OBJS="$SUDOERS_OBJS plugin_error.lo"
+       SUDO_OBJS="$SUDO_OBJS locale_stub.o"
        LT_STATIC="--tag=disable-static"
        ;;
     shl_load)
        $as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h
 
-       SUDOERS_OBJS="$SUDOERS_OBJS plugin_error.lo"
+       SUDO_OBJS="$SUDO_OBJS locale_stub.o"
        LT_STATIC="--tag=disable-static"
        case " $LIBOBJS " in
   *" dlopen.$ac_objext "* ) ;;
@@ -20226,8 +20480,8 @@ fi
 # what libraries a plugin may depend on (e.g. HP-UX LDAP which uses pthreads)
 # so always link against -lpthread on HP-UX if it is available.
 # This check should go after all other libraries tests.
-case "$host" in
-    *-*-hpux*)
+case "$host_os" in
+    hpux*)
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lpthread" >&5
 $as_echo_n "checking for main in -lpthread... " >&6; }
 if ${ac_cv_lib_pthread_main+:} false; then :
@@ -20262,17 +20516,10 @@ if test "x$ac_cv_lib_pthread_main" = xyes; then :
   SUDO_LIBS="${SUDO_LIBS} -lpthread"
 fi
 
+       OSDEFS="${OSDEFS} -D_REENTRANT"
        ;;
 esac
 
-if test -n "$blibpath"; then
-    if test -n "$blibpath_add"; then
-       SUDOERS_LDFLAGS="$SUDOERS_LDFLAGS -Wl,-blibpath:${blibpath}${blibpath_add}"
-    elif test -n "$with_blibpath" -a "$with_blibpath" != "yes"; then
-       SUDOERS_LDFLAGS="$SUDOERS_LDFLAGS -Wl,-blibpath:${blibpath}"
-    fi
-fi
-
 if test "$utmp_style" = "LEGACY"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utmp file path" >&5
 $as_echo_n "checking for utmp file path... " >&6; }
@@ -20457,8 +20704,8 @@ else
 fi
 
 else
-    case "$host" in
-       *-*-hpux*)
+    case "$host_os" in
+       hpux*)
            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Bhidden_def" >&5
 $as_echo_n "checking whether C compiler accepts -Bhidden_def... " >&6; }
 if ${ax_cv_check_cflags___Bhidden_def+:} false; then :
@@ -20501,7 +20748,7 @@ else
 fi
 
            ;;
-       *-*-solaris2*)
+       solaris2*)
            as_CACHEVAR=`$as_echo "ax_cv_check_cflags__-xldscope=hidden" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -xldscope=hidden" >&5
 $as_echo_n "checking whether C compiler accepts -xldscope=hidden... " >&6; }
@@ -20557,6 +20804,7 @@ if ${sudo_cv_var_gnu_ld_anon_map+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
+               sudo_cv_var_gnu_ld_anon_map=no
                cat > conftest.map <<-EOF
                {
                    global: foo;
@@ -20579,9 +20827,7 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-
-                   sudo_cv_var_gnu_ld_anon_map=yes
-
+  sudo_cv_var_gnu_ld_anon_map=yes
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
@@ -20596,14 +20842,15 @@ $as_echo "$sudo_cv_var_gnu_ld_anon_map" >&6; }
            LT_LDEXPORTS=; LT_LDDEP="\$(shlib_map)"; LT_LDMAP="-Wl,--version-script,\$(shlib_map)"
        fi
     else
-       case "$host" in
-           *-*-solaris2*)
+       case "$host_os" in
+           solaris2*)
                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ld supports anonymous map files" >&5
 $as_echo_n "checking whether ld supports anonymous map files... " >&6; }
 if ${sudo_cv_var_solaris_ld_anon_map+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
+                       sudo_cv_var_solaris_ld_anon_map=no
                        cat > conftest.map <<-EOF
                        {
                            global: foo;
@@ -20626,9 +20873,7 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-
-                           sudo_cv_var_solaris_ld_anon_map=yes
-
+  sudo_cv_var_solaris_ld_anon_map=yes
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
@@ -20643,13 +20888,14 @@ $as_echo "$sudo_cv_var_solaris_ld_anon_map" >&6; }
                    LT_LDEXPORTS=; LT_LDDEP="\$(shlib_map)"; LT_LDMAP="-Wl,-M,\$(shlib_map)"
                fi
                ;;
-           *-*-hpux*)
+           hpux*)
                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ld supports controlling exported symbols" >&5
 $as_echo_n "checking whether ld supports controlling exported symbols... " >&6; }
 if ${sudo_cv_var_hpux_ld_symbol_export+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
+                       sudo_cv_var_hpux_ld_symbol_export=no
                        echo "+e foo" > conftest.opt
                        _CFLAGS="$CFLAGS"
                        CFLAGS="$CFLAGS $lt_prog_compiler_pic"
@@ -20671,14 +20917,13 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-
-                           sudo_cv_var_hpux_ld_symbol_export=yes
-
+  sudo_cv_var_hpux_ld_symbol_export=yes
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
                        CFLAGS="$_CFLAGS"
                        LDFLAGS="$_LDFLAGS"
+                       rm -f conftest.opt
 
 
 fi
@@ -20692,8 +20937,97 @@ $as_echo "$sudo_cv_var_hpux_ld_symbol_export" >&6; }
     fi
 fi
 
-if test "$enable_pie" != "no" -a -n "$GCC"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fPIE" >&5
+if test -n "$GCC"; then
+    if test -z "$enable_pie"; then
+       case "$host_os" in
+           linux*)
+               # Attempt to build with PIE support
+               enable_pie="maybe"
+               ;;
+       esac
+    fi
+    if test -n "$enable_pie"; then
+       if test "$enable_pie" = "no"; then
+           { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-pie" >&5
+$as_echo_n "checking whether C compiler accepts -fno-pie... " >&6; }
+if ${ax_cv_check_cflags___fno_pie+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fno-pie"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fno_pie=yes
+else
+  ax_cv_check_cflags___fno_pie=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_pie" >&5
+$as_echo "$ax_cv_check_cflags___fno_pie" >&6; }
+if test x"$ax_cv_check_cflags___fno_pie" = xyes; then :
+
+               _CFLAGS="$CFLAGS"
+               CFLAGS="$CFLAGS -fno-pie"
+               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -nopie" >&5
+$as_echo_n "checking whether the linker accepts -nopie... " >&6; }
+if ${ax_cv_check_ldflags___nopie+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -nopie"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___nopie=yes
+else
+  ax_cv_check_ldflags___nopie=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___nopie" >&5
+$as_echo "$ax_cv_check_ldflags___nopie" >&6; }
+if test x"$ax_cv_check_ldflags___nopie" = xyes; then :
+
+                   PIE_CFLAGS="-fno-pie"
+                   PIE_LDFLAGS="-nopie"
+
+else
+  :
+fi
+
+               CFLAGS="$_CFLAGS"
+
+else
+  :
+fi
+
+       else
+           { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fPIE" >&5
 $as_echo_n "checking whether C compiler accepts -fPIE... " >&6; }
 if ${ax_cv_check_cflags___fPIE+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -20724,9 +21058,9 @@ fi
 $as_echo "$ax_cv_check_cflags___fPIE" >&6; }
 if test x"$ax_cv_check_cflags___fPIE" = xyes; then :
 
-       _CFLAGS="$CFLAGS"
-       CFLAGS="$CFLAGS -fPIE"
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -pie" >&5
+               _CFLAGS="$CFLAGS"
+               CFLAGS="$CFLAGS -fPIE"
+               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -pie" >&5
 $as_echo_n "checking whether the linker accepts -pie... " >&6; }
 if ${ax_cv_check_ldflags___pie+:} false; then :
   $as_echo_n "(cached) " >&6
 $as_echo "$ax_cv_check_ldflags___pie" >&6; }
 if test x"$ax_cv_check_ldflags___pie" = xyes; then :
 
-           PIE_CFLAGS="-fPIE"
-           PIE_LDFLAGS="-pie"
+                   if test "$enable_pie" = "maybe"; then
+                       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working PIE support" >&5
+$as_echo_n "checking for working PIE support... " >&6; }
+if ${sudo_cv_working_pie+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -f conftestdata; > conftestdata
+if test "$cross_compiling" = yes; then :
+  sudo_cv_working_pie=no
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+main() { char *p = malloc(1024); if (p == NULL) return 1; memset(p, 0, 1024); return 0; }
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  sudo_cv_working_pie=yes
+else
+  sudo_cv_working_pie=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+rm -f core core.* *.core
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_working_pie" >&5
+$as_echo "$sudo_cv_working_pie" >&6; }
+if test $sudo_cv_working_pie = yes; then :
+  enable_pie=yes
+fi
+                   fi
+                   if test "$enable_pie" = "yes"; then
+                       PIE_CFLAGS="-fPIE"
+                       PIE_LDFLAGS="-Wc,-fPIE -pie"
+                   fi
 
 else
   :
 fi
 
-       CFLAGS="$_CFLAGS"
+               CFLAGS="$_CFLAGS"
 
 else
   :
 fi
 
+       fi
+    fi
+fi
+if test "$enable_pie" != "yes"; then
+    # Solaris 11.1 and higher supports tagging binaries to use ASLR
+    case "$host_os" in
+       solaris2.1[1-9]|solaris2.[2-9][0-9])
+           { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,aslr" >&5
+$as_echo_n "checking whether the linker accepts -Wl,-z,aslr... " >&6; }
+if ${ax_cv_check_ldflags___Wl__z_aslr+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -Wl,-z,aslr"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___Wl__z_aslr=yes
+else
+  ax_cv_check_ldflags___Wl__z_aslr=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_aslr" >&5
+$as_echo "$ax_cv_check_ldflags___Wl__z_aslr" >&6; }
+if test x"$ax_cv_check_ldflags___Wl__z_aslr" = xyes; then :
+  PIE_LDFLAGS="${PIE_LDFLAGS}${PIE_LDFLAGS+ }-Wl,-z,aslr"
+else
+  :
+fi
+
+           ;;
+    esac
 fi
 
 if test "$enable_hardening" != "no"; then
@@ -20995,6 +21409,12 @@ if test -n "$LIBS"; then
     done
 fi
 
+
+cat >>confdefs.h <<_ACEOF
+#define os_init $OS_INIT
+_ACEOF
+
+
 if test -n "$GCC"; then
     if test X"$enable_warnings" = X"yes" -o X"$with_devel" = X"yes"; then
        CFLAGS="${CFLAGS} -Wall"
@@ -21008,7 +21428,7 @@ CROSS_COMPILING="$cross_compiling"
 
 test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)'
 
-if test X"$with_noexec" != X"no" -o X"$with_selinux" != X"no"; then
+if test X"$with_noexec" != X"no" -o X"$with_selinux" != X"no" -o "$enabled_shared" != X"no"; then
     oexec_prefix="$exec_prefix"
     if test "$exec_prefix" = '$(prefix)'; then
        if test "$prefix" = "NONE"; then
@@ -21033,7 +21453,7 @@ EOF
 
     fi
     if test X"$with_selinux" != X"no"; then
-       sesh_file="$libexecdir/sesh"
+       sesh_file="$libexecdir/sudo/sesh"
        _sesh_file=
        while test X"$sesh_file" != X"$_sesh_file"; do
            _sesh_file="$sesh_file"
@@ -21044,22 +21464,40 @@ EOF
 EOF
 
     fi
-    PLUGINDIR="$with_plugindir"
-    _PLUGINDIR=
-    while test X"$PLUGINDIR" != X"$_PLUGINDIR"; do
-       _PLUGINDIR="$PLUGINDIR"
-       eval PLUGINDIR="$_PLUGINDIR"
-    done
-    cat >>confdefs.h <<EOF
+    if test X"$enable_shared" != X"no"; then
+       PLUGINDIR="$with_plugindir"
+       _PLUGINDIR=
+       while test X"$PLUGINDIR" != X"$_PLUGINDIR"; do
+           _PLUGINDIR="$PLUGINDIR"
+           eval PLUGINDIR="$_PLUGINDIR"
+       done
+       cat >>confdefs.h <<EOF
 #define _PATH_SUDO_PLUGIN_DIR "$PLUGINDIR/"
 EOF
 
-    cat >>confdefs.h <<EOF
-#define SUDOERS_PLUGIN "sudoers${SOEXT}"
+       cat >>confdefs.h <<EOF
+#define SUDOERS_PLUGIN "sudoers.so"
 EOF
 
+    fi
     exec_prefix="$oexec_prefix"
 fi
+if test X"$with_selinux" = X"no"; then
+    cat >>confdefs.h <<EOF
+#define _PATH_SUDO_SESH NULL
+EOF
+
+fi
+
+if test X"$LDFLAGS_R" != X""; then
+    LDFLAGS="$LDFLAGS $LDFLAGS_R"
+fi
+if test X"$SUDOERS_LDFLAGS_R" != X""; then
+    SUDOERS_LDFLAGS="$SUDOERS_LDFLAGS $SUDOERS_LDFLAGS_R"
+fi
+if test X"$ZLIB_R" != X""; then
+    ZLIB="$ZLIB_R $ZLIB"
+fi
 
 if test X"$prefix" = X"NONE"; then
     test "$mandir" = '${datarootdir}/man' && mandir='$(prefix)/man'
@@ -21076,7 +21514,7 @@ test "$localedir" = '${datarootdir}/locale' && localedir='$(datarootdir)/locale'
 test "$localstatedir" = '${prefix}/var' && localstatedir='$(prefix)/var'
 test "$sysconfdir" = '${prefix}/etc' -a X"$with_stow" != X"yes" && sysconfdir='/etc'
 
-ac_config_files="$ac_config_files Makefile common/Makefile compat/Makefile doc/Makefile include/Makefile src/sudo_usage.h src/Makefile plugins/sample/Makefile plugins/sample_group/Makefile plugins/system_group/Makefile plugins/sudoers/Makefile plugins/sudoers/sudoers"
+ac_config_files="$ac_config_files Makefile common/Makefile compat/Makefile doc/Makefile include/Makefile src/sudo_usage.h src/Makefile plugins/sample/Makefile plugins/group_file/Makefile plugins/system_group/Makefile plugins/sudoers/Makefile plugins/sudoers/sudoers"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -21596,7 +22034,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by sudo $as_me 1.8.6p8, which was
+This file was extended by sudo $as_me 1.8.7, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21662,7 +22100,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-sudo config.status 1.8.6p8
+sudo config.status 1.8.7
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
@@ -22078,7 +22516,7 @@ do
     "src/sudo_usage.h") CONFIG_FILES="$CONFIG_FILES src/sudo_usage.h" ;;
     "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
     "plugins/sample/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/sample/Makefile" ;;
-    "plugins/sample_group/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/sample_group/Makefile" ;;
+    "plugins/group_file/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/group_file/Makefile" ;;
     "plugins/system_group/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/system_group/Makefile" ;;
     "plugins/sudoers/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/sudoers/Makefile" ;;
     "plugins/sudoers/sudoers") CONFIG_FILES="$CONFIG_FILES plugins/sudoers/sudoers" ;;
@@ -23302,8 +23740,8 @@ fi
 
 
 if test "$with_pam" = "yes"; then
-    case $host in
-       *-*-hpux*)
+    case $host_os in
+       hpux*)
            if test -f /usr/lib/security/libpam_hpsec.so.1; then
                { $as_echo "$as_me:${as_lineno-$LINENO}: You may wish to add the following line to /etc/pam.conf" >&5
 $as_echo "$as_me: You may wish to add the following line to /etc/pam.conf" >&6;}
@@ -23311,7 +23749,7 @@ $as_echo "$as_me: You may wish to add the following line to /etc/pam.conf" >&6;}
 $as_echo "$as_me: sudo session required libpam_hpsec.so.1 bypass_umask bypass_last_login" >&6;}
            fi
            ;;
-       *-*-linux*)
+       linux*)
            { $as_echo "$as_me:${as_lineno-$LINENO}: You will need to customize sample.pam and install it as /etc/pam.d/sudo" >&5
 $as_echo "$as_me: You will need to customize sample.pam and install it as /etc/pam.d/sudo" >&6;}
            ;;
 
 
 
+
+
+
+
+