Blame configure.ac

Packit Service b29381
dnl Process this file with autoconf to produce a configure script.
Packit Service b29381
AC_INIT([Linux-PAM], [1.3.1], , [Linux-PAM])
Packit Service b29381
AC_CONFIG_SRCDIR([conf/pam_conv1/pam_conv_y.y])
Packit Service b29381
AC_CONFIG_AUX_DIR([build-aux])
Packit Service b29381
AM_INIT_AUTOMAKE([-Wall -Wno-portability])
Packit Service b29381
AC_PREREQ([2.61])
Packit Service b29381
AC_CONFIG_HEADERS([config.h])
Packit Service b29381
AC_CONFIG_MACRO_DIR([m4])
Packit Service b29381
AC_CANONICAL_HOST
Packit Service b29381
Packit Service b29381
AC_SUBST(PACKAGE)
Packit Service b29381
AC_SUBST(VERSION)
Packit Service b29381
Packit Service b29381
dnl
Packit Service b29381
dnl By default, everything under PAM is installed below /usr.
Packit Service b29381
dnl
Packit Service b29381
AC_PREFIX_DEFAULT(/usr)
Packit Service b29381
Packit Service b29381
dnl and some hacks to use /etc and /lib
Packit Service b29381
test "${prefix}" = "NONE" && prefix="/usr"
Packit Service b29381
if test ${prefix} = '/usr'
Packit Service b29381
then
Packit Service b29381
dnl If we use /usr as prefix, use /etc for config files
Packit Service b29381
        if test ${sysconfdir} = '${prefix}/etc'
Packit Service b29381
        then
Packit Service b29381
                sysconfdir="/etc"
Packit Service b29381
        fi
Packit Service b29381
	if test ${libdir} = '${exec_prefix}/lib'
Packit Service b29381
	then
Packit Service b29381
		case "$host_cpu" in
Packit Service b29381
		    x86_64|ppc64|s390x|sparc64)
Packit Service b29381
			libdir="/lib64" ;;
Packit Service b29381
		    *)
Packit Service b29381
			libdir="/lib" ;;
Packit Service b29381
		esac
Packit Service b29381
	fi
Packit Service b29381
	if test ${sbindir} = '${exec_prefix}/sbin'
Packit Service b29381
        then
Packit Service b29381
                sbindir="/sbin"
Packit Service b29381
        fi
Packit Service b29381
dnl If we use /usr as prefix, use /usr/share/man for manual pages
Packit Service b29381
        if test ${mandir} = '${prefix}/man'
Packit Service b29381
        then
Packit Service b29381
                mandir='${prefix}/share/man'
Packit Service b29381
        fi
Packit Service b29381
dnl Add security to include directory
Packit Service b29381
	if test ${includedir} = '${prefix}/include'
Packit Service b29381
	then
Packit Service b29381
		includedir="${prefix}/include/security"
Packit Service b29381
	fi
Packit Service b29381
Packit Service b29381
dnl Add /var directory
Packit Service b29381
        if test ${localstatedir} = '${prefix}/var'
Packit Service b29381
        then
Packit Service b29381
                localstatedir="/var"
Packit Service b29381
        fi
Packit Service b29381
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
dnl This should be called before any macros that run the C compiler.
Packit Service b29381
AC_USE_SYSTEM_EXTENSIONS
Packit Service b29381
Packit Service b29381
LT_INIT([disable-static])
Packit Service b29381
AC_ENABLE_STATIC([no])
Packit Service b29381
AC_ENABLE_SHARED([yes])
Packit Service b29381
Packit Service b29381
dnl Checks for programs.
Packit Service b29381
AC_PROG_CC
Packit Service b29381
AC_PROG_YACC
Packit Service b29381
AM_PROG_LEX
Packit Service b29381
AC_PROG_INSTALL
Packit Service b29381
AC_PROG_LN_S
Packit Service b29381
AC_PROG_MAKE_SET
Packit Service b29381
AM_PROG_CC_C_O
Packit Service b29381
PAM_LD_AS_NEEDED
Packit Service b29381
PAM_LD_NO_UNDEFINED
Packit Service b29381
PAM_LD_O1
Packit Service b29381
Packit Service b29381
dnl Largefile support
Packit Service b29381
AC_SYS_LARGEFILE
Packit Service b29381
Packit Service b29381
dnl icc claims to be GCC compatible, but use other flags for warnings
Packit Service b29381
if eval "test x$GCC = xyes -a $CC != icc"; then
Packit Service b29381
  for flag in \
Packit Service b29381
      -W \
Packit Service b29381
      -Wall \
Packit Service b29381
      -Wbad-function-cast \
Packit Service b29381
      -Wcast-align \
Packit Service b29381
      -Wcast-qual \
Packit Service b29381
      -Wmissing-declarations \
Packit Service b29381
      -Wmissing-prototypes \
Packit Service b29381
      -Wpointer-arith \
Packit Service b29381
      -Wreturn-type \
Packit Service b29381
      -Wstrict-prototypes \
Packit Service b29381
      -Wwrite-strings \
Packit Service b29381
      -Winline \
Packit Service b29381
      -Wshadow
Packit Service b29381
  do
Packit Service b29381
    JAPHAR_GREP_CFLAGS($flag, [ CFLAGS="$CFLAGS $flag" ])
Packit Service b29381
  done
Packit Service b29381
fi
Packit Service b29381
dnl icc has special warning flags
Packit Service b29381
if eval "test x$CC = xicc"; then
Packit Service b29381
  for flag in \
Packit Service b29381
      -Wall \
Packit Service b29381
      -Wmissing-prototypes \
Packit Service b29381
      -Wpointer-arith \
Packit Service b29381
      -Wreturn-type \
Packit Service b29381
      -Wstrict-prototypes \
Packit Service b29381
      -Wwrite-strings \
Packit Service b29381
      -Wshadow \
Packit Service b29381
      -Wp64 \
Packit Service b29381
      -Wdeprecated \
Packit Service b29381
      -Wuninitialized \
Packit Service b29381
      -Wmain
Packit Service b29381
  do
Packit Service b29381
    JAPHAR_GREP_CFLAGS($flag, [ CFLAGS="$CFLAGS $flag" ])
Packit Service b29381
  done
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
if test "x${CC_FOR_BUILD+set}" != "xset" ; then
Packit Service b29381
  if test "x$cross_compiling" = "xyes" ; then
Packit Service b29381
    AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
Packit Service b29381
  else
Packit Service b29381
    CC_FOR_BUILD=${CC}
Packit Service b29381
  fi
Packit Service b29381
fi
Packit Service b29381
AC_MSG_CHECKING([for CC_FOR_BUILD])
Packit Service b29381
AC_MSG_RESULT([$CC_FOR_BUILD])
Packit Service b29381
AC_SUBST(CC_FOR_BUILD)
Packit Service b29381
Packit Service b29381
if test "x${BUILD_CPPFLAGS+set}" != "xset" ; then
Packit Service b29381
  if test "x$cross_compiling" = "xyes" ; then
Packit Service b29381
    BUILD_CPPFLAGS=
Packit Service b29381
  else
Packit Service b29381
    BUILD_CPPFLAGS=${CPPFLAGS}
Packit Service b29381
  fi
Packit Service b29381
fi
Packit Service b29381
AC_SUBST(BUILD_CPPFLAGS)
Packit Service b29381
Packit Service b29381
if test "x${BUILD_CFLAGS+set}" != "xset" ; then
Packit Service b29381
  if test "x$cross_compiling" = "xyes" ; then
Packit Service b29381
    BUILD_CFLAGS=
Packit Service b29381
  else
Packit Service b29381
    BUILD_CFLAGS=${CFLAGS}
Packit Service b29381
  fi
Packit Service b29381
fi
Packit Service b29381
AC_SUBST(BUILD_CFLAGS)
Packit Service b29381
Packit Service b29381
if test "x${BUILD_LDFLAGS+set}" != "xset" ; then
Packit Service b29381
  if test "x$cross_compiling" = "xyes" ; then
Packit Service b29381
    BUILD_LDFLAGS=
Packit Service b29381
  else
Packit Service b29381
    BUILD_LDFLAGS=${LDFLAGS}
Packit Service b29381
  fi
Packit Service b29381
fi
Packit Service b29381
AC_SUBST(BUILD_LDFLAGS)
Packit Service b29381
Packit Service b29381
AC_C___ATTRIBUTE__
Packit Service b29381
Packit Service b29381
dnl
Packit Service b29381
dnl Check if --version-script is supported by ld
Packit Service b29381
dnl
Packit Service b29381
AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
Packit Service b29381
[cat > conftest.s <
Packit Service b29381
${libc_cv_dot_text}
Packit Service b29381
_sym:
Packit Service b29381
.symver _sym,sym@VERS
Packit Service b29381
EOF
Packit Service b29381
if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
Packit Service b29381
  libc_cv_asm_symver_directive=yes
Packit Service b29381
else
Packit Service b29381
  libc_cv_asm_symver_directive=no
Packit Service b29381
fi
Packit Service b29381
rm -f conftest*])
Packit Service b29381
AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
Packit Service b29381
if test $libc_cv_asm_symver_directive = yes; then
Packit Service b29381
  cat > conftest.s <
Packit Service b29381
${libc_cv_dot_text}
Packit Service b29381
_sym:
Packit Service b29381
.symver _sym,sym@VERS
Packit Service b29381
EOF
Packit Service b29381
  cat > conftest.map <
Packit Service b29381
VERS_1 {
Packit Service b29381
        global: sym;
Packit Service b29381
};
Packit Service b29381
Packit Service b29381
VERS_2 {
Packit Service b29381
        global: sym;
Packit Service b29381
} VERS_1;
Packit Service b29381
EOF
Packit Service b29381
  if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
Packit Service b29381
then
Packit Service b29381
    if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
Packit Service b29381
                                -o conftest.so conftest.o
Packit Service b29381
                                -nostartfiles -nostdlib
Packit Service b29381
                                -Wl,--version-script,conftest.map
Packit Service b29381
                       1>&AS_MESSAGE_LOG_FD]);
Packit Service b29381
    then
Packit Service b29381
      libc_cv_ld_version_script_option=yes
Packit Service b29381
    else
Packit Service b29381
      libc_cv_ld_version_script_option=no
Packit Service b29381
    fi
Packit Service b29381
  else
Packit Service b29381
    libc_cv_ld_version_script_option=no
Packit Service b29381
  fi
Packit Service b29381
else
Packit Service b29381
  libc_cv_ld_version_script_option=no
Packit Service b29381
fi
Packit Service b29381
rm -f conftest*])
Packit Service b29381
AM_CONDITIONAL([HAVE_VERSIONING],
Packit Service b29381
	[test "$libc_cv_ld_version_script_option" = "yes"])
Packit Service b29381
Packit Service b29381
dnl
Packit Service b29381
dnl check for -fPIE/-pie support
Packit Service b29381
dnl
Packit Service b29381
dnl icc handles -fpie as -fp without error, so blacklist icc
Packit Service b29381
dnl
Packit Service b29381
AC_ARG_ENABLE(pie,AS_HELP_STRING([--disable-pie],
Packit Service b29381
                        [disable position-independent executeables (PIE)]),
Packit Service b29381
        USE_PIE=$enableval, USE_PIE=yes)
Packit Service b29381
Packit Service b29381
AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
Packit Service b29381
  cat > conftest.c <
Packit Service b29381
int foo;
Packit Service b29381
main () { return 0;}
Packit Service b29381
EOF
Packit Service b29381
  if test "$USE_PIE" = "yes" -a "$CC" != "icc" &&
Packit Service b29381
        AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
Packit Service b29381
                              -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
Packit Service b29381
  then
Packit Service b29381
    libc_cv_fpie=yes
Packit Service b29381
    PIE_CFLAGS="-fpie"
Packit Service b29381
    PIE_LDFLAGS="-pie"
Packit Service b29381
  else
Packit Service b29381
    libc_cv_fpie=no
Packit Service b29381
    PIE_CFLAGS=""
Packit Service b29381
    PIE_LDFLAGS=""
Packit Service b29381
  fi
Packit Service b29381
  rm -f conftest*])
Packit Service b29381
AC_SUBST(libc_cv_fpie)
Packit Service b29381
AC_SUBST(PIE_CFLAGS)
Packit Service b29381
AC_SUBST(PIE_LDFLAGS)
Packit Service b29381
Packit Service b29381
Packit Service b29381
dnl
Packit Service b29381
dnl options and defaults
Packit Service b29381
dnl
Packit Service b29381
Packit Service b29381
AC_ARG_ENABLE([prelude],
Packit Service b29381
	AS_HELP_STRING([--disable-prelude],[do not use prelude]),
Packit Service b29381
	WITH_PRELUDE=$enableval, WITH_PRELUDE=yes)
Packit Service b29381
if test "$WITH_PRELUDE" = "yes" ; then
Packit Service b29381
  AM_PATH_LIBPRELUDE([0.9.0])
Packit Service b29381
  if test "$LIBPRELUDE_CONFIG" != "no" ; then
Packit Service b29381
    LIBPRELUDE_CFLAGS="$LIBPRELUDE_CFLAGS -DPRELUDE=1"
Packit Service b29381
  fi
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
dnl lots of debugging information goes to /var/run/pam-debug.log
Packit Service b29381
AC_ARG_ENABLE([debug],
Packit Service b29381
    AS_HELP_STRING([--enable-debug],[specify you are building with debugging on]))
Packit Service b29381
Packit Service b29381
if test x"$enable_debug" = x"yes" ; then
Packit Service b29381
   AC_DEFINE([PAM_DEBUG],,
Packit Service b29381
		[lots of stuff gets written to /var/run/pam-debug.log])
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
AC_ARG_ENABLE(securedir,
Packit Service b29381
	AS_HELP_STRING([--enable-securedir=DIR],[path to location of PAMs @<:@default=$libdir/security@:>@]),
Packit Service b29381
	SECUREDIR=$enableval, SECUREDIR=$libdir/security)
Packit Service b29381
AC_SUBST(SECUREDIR)
Packit Service b29381
Packit Service b29381
AC_ARG_ENABLE([isadir],
Packit Service b29381
	AS_HELP_STRING([--enable-isadir=DIR],[path to arch-specific module files @<:@default=../../(basename of $libdir)/security@:>@]),
Packit Service b29381
ISA=$enableval,
Packit Service b29381
ISA=../../`basename $libdir`/security)
Packit Service b29381
unset mylibdirbase
Packit Service b29381
AC_DEFINE_UNQUOTED(_PAM_ISA,"$ISA",[Define to the path, relative to SECUREDIR, where PAMs specific to this architecture can be found.])
Packit Service b29381
AC_MSG_RESULT([Defining \$ISA to "$ISA"])
Packit Service b29381
Packit Service b29381
AC_ARG_ENABLE(sconfigdir,
Packit Service b29381
	AS_HELP_STRING([--enable-sconfigdir=DIR],[path to module conf files @<:@default=$sysconfdir/security@:>@]),
Packit Service b29381
	SCONFIGDIR=$enableval, SCONFIGDIR=$sysconfdir/security)
Packit Service b29381
AC_SUBST(SCONFIGDIR)
Packit Service b29381
Packit Service b29381
AC_ARG_ENABLE(pamlocking,
Packit Service b29381
	AS_HELP_STRING([--enable-pamlocking],[configure libpam to observe a global authentication lock]))
Packit Service b29381
Packit Service b29381
if test x"$enable_pamlocking" = "xyes"; then
Packit Service b29381
   AC_DEFINE([PAM_LOCKING],,
Packit Service b29381
	[libpam should observe a global authentication lock])
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
AC_ARG_ENABLE(read-both-confs,
Packit Service b29381
	AS_HELP_STRING([--enable-read-both-confs],[read both /etc/pam.d and /etc/pam.conf files]))
Packit Service b29381
Packit Service b29381
if test x"$enable_read_both_confs" = "xyes"; then
Packit Service b29381
   AC_DEFINE([PAM_READ_BOTH_CONFS],,
Packit Service b29381
		[read both /etc/pam.d and /etc/pam.conf files])
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
AC_ARG_ENABLE([lckpwdf],
Packit Service b29381
	AS_HELP_STRING([--disable-lckpwdf],[do not use the lckpwdf function]),
Packit Service b29381
	WITH_LCKPWDF=$enableval, WITH_LCKPWDF=yes)
Packit Service b29381
if test "$WITH_LCKPWDF" = "yes" ; then
Packit Service b29381
    AC_DEFINE([USE_LCKPWDF], 1,
Packit Service b29381
		[Define to 1 if the lckpwdf function should be used])
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
AC_CHECK_HEADERS(paths.h)
Packit Service b29381
AC_ARG_WITH(mailspool,
Packit Service b29381
[  --with-mailspool        path to mail spool directory
Packit Service b29381
                          [default _PATH_MAILDIR if defined in paths.h, otherwise /var/spool/mail]],
Packit Service b29381
with_mailspool=${withval})
Packit Service b29381
if test x$with_mailspool != x ; then
Packit Service b29381
	pam_mail_spool="\"$with_mailspool\""
Packit Service b29381
else
Packit Service b29381
	AC_RUN_IFELSE([AC_LANG_SOURCE([[
Packit Service b29381
#include <paths.h>
Packit Service b29381
int main() {
Packit Service b29381
#ifdef _PATH_MAILDIR
Packit Service b29381
exit(0);
Packit Service b29381
#else
Packit Service b29381
exit(1);
Packit Service b29381
#endif
Packit Service b29381
}]])],[pam_mail_spool="_PATH_MAILDIR"],[pam_mail_spool="\"/var/spool/mail\""],[pam_mail_spool="\"/var/spool/mail\""])
Packit Service b29381
fi
Packit Service b29381
AC_DEFINE_UNQUOTED(PAM_PATH_MAILDIR, $pam_mail_spool,
Packit Service b29381
	[Path where mails are stored])
Packit Service b29381
Packit Service b29381
AC_ARG_WITH(xauth,
Packit Service b29381
[  --with-xauth            additional path to check for xauth when it is called from pam_xauth
Packit Service b29381
                          [added to the default of /usr/X11R6/bin/xauth, /usr/bin/xauth, /usr/bin/X11/xauth]],
Packit Service b29381
pam_xauth_path=${withval})
Packit Service b29381
if test x$with_xauth = x ; then
Packit Service b29381
	AC_PATH_PROG(pam_xauth_path, xauth)
Packit Service b29381
dnl There is no sense in adding the first default path
Packit Service b29381
	if test x$pam_xauth_path = x/usr/X11R6/bin/xauth ; then
Packit Service b29381
		unset pam_xauth_path
Packit Service b29381
	fi
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
if test x$pam_xauth_path != x ; then
Packit Service b29381
	AC_DEFINE_UNQUOTED(PAM_PATH_XAUTH, "$pam_xauth_path",
Packit Service b29381
	[Additional path of xauth executable])
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
dnl Checks for the existence of libdl - on BSD and Tru64 its part of libc
Packit Service b29381
AC_CHECK_LIB([dl], [dlopen], LIBDL="-ldl", LIBDL="")
Packit Service b29381
AC_SUBST(LIBDL)
Packit Service b29381
Packit Service b29381
# Check for cracklib
Packit Service b29381
AC_ARG_ENABLE([cracklib],
Packit Service b29381
        AS_HELP_STRING([--disable-cracklib],[do not use cracklib]),
Packit Service b29381
        WITH_CRACKLIB=$enableval, WITH_CRACKLIB=yes)
Packit Service b29381
if test x"$WITH_CRACKLIB" != xno ; then
Packit Service b29381
        AC_CHECK_HEADERS([crack.h],
Packit Service b29381
              AC_CHECK_LIB([crack], [FascistCheck], LIBCRACK="-lcrack", LIBCRACK=""))
Packit Service b29381
else
Packit Service b29381
	LIBCRACK=""
Packit Service b29381
fi
Packit Service b29381
if test -n "$LIBCRACK"; then
Packit Service b29381
	AC_DEFINE([HAVE_LIBCRACK], [1], [Define to 1 if you have cracklib.])
Packit Service b29381
fi
Packit Service b29381
AC_SUBST(LIBCRACK)
Packit Service b29381
AM_CONDITIONAL([HAVE_LIBCRACK], [test -n "$LIBCRACK"])
Packit Service b29381
Packit Service b29381
dnl Look for Linux Auditing library - see documentation
Packit Service b29381
AC_ARG_ENABLE([audit],
Packit Service b29381
        AS_HELP_STRING([--disable-audit],[do not enable audit support]),
Packit Service b29381
        WITH_LIBAUDIT=$enableval, WITH_LIBAUDIT=yes)
Packit Service b29381
if test x"$WITH_LIBAUDIT" != xno ; then
Packit Service b29381
        AC_CHECK_HEADER([libaudit.h],
Packit Service b29381
              [AC_CHECK_LIB(audit, audit_log_acct_message, LIBAUDIT=-laudit, LIBAUDIT="")
Packit Service b29381
	       AC_CHECK_TYPE([struct audit_tty_status],
Packit Service b29381
		             [HAVE_AUDIT_TTY_STATUS=yes],
Packit Service b29381
			     [HAVE_AUDIT_TTY_STATUS=""],
Packit Service b29381
			     [#include <libaudit.h>])]
Packit Service b29381
        )
Packit Service b29381
        if test ! -z "$LIBAUDIT" -a "$ac_cv_header_libaudit_h" != "no" ; then
Packit Service b29381
            AC_DEFINE([HAVE_LIBAUDIT], 1, [Define to 1 if audit support should be compiled in.])
Packit Service b29381
        fi
Packit Service b29381
        if test ! -z "$HAVE_AUDIT_TTY_STATUS" ; then
Packit Service b29381
            AC_DEFINE([HAVE_AUDIT_TTY_STATUS], 1, [Define to 1 if struct audit_tty_status exists.])
Packit Service b29381
Packit Service b29381
            AC_CHECK_MEMBERS([struct audit_tty_status.log_passwd], [],
Packit Service b29381
                            AC_MSG_WARN([audit_tty_status.log_passwd is not available.  The log_passwd option is disabled.]),
Packit Service b29381
                            [[#include <libaudit.h>]])
Packit Service b29381
        fi
Packit Service b29381
else
Packit Service b29381
	LIBAUDIT=""
Packit Service b29381
fi
Packit Service b29381
AC_SUBST(LIBAUDIT)
Packit Service b29381
AM_CONDITIONAL([HAVE_AUDIT_TTY_STATUS],
Packit Service b29381
	       [test "x$HAVE_AUDIT_TTY_STATUS" = xyes])
Packit Service b29381
Packit Service b29381
AC_CHECK_HEADERS(xcrypt.h crypt.h)
Packit Service b29381
AS_IF([test "x$ac_cv_header_xcrypt_h" = "xyes"],
Packit Service b29381
  [crypt_libs="xcrypt crypt"],
Packit Service b29381
  [crypt_libs="crypt"])
Packit Service b29381
Packit Service b29381
BACKUP_LIBS=$LIBS
Packit Service b29381
AC_SEARCH_LIBS([crypt],[$crypt_libs], LIBCRYPT="${ac_lib:+-l$ac_lib}", LIBCRYPT="")
Packit Service b29381
AC_CHECK_FUNCS(crypt_r crypt_gensalt_r)
Packit Service b29381
LIBS=$BACKUP_LIBS
Packit Service b29381
AC_SUBST(LIBCRYPT)
Packit Service b29381
if test "$LIBCRYPT" = "-lxcrypt" -a "$ac_cv_header_xcrypt_h" = "yes" ; then
Packit Service b29381
	AC_DEFINE([HAVE_LIBXCRYPT], 1, [Define to 1 if xcrypt support should be compiled in.])
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
AC_ARG_WITH([randomdev], AS_HELP_STRING([--with-randomdev=(<path>|yes|no)],[use specified random device instead of /dev/urandom or 'no' to disable]), opt_randomdev=$withval)
Packit Service b29381
if test "$opt_randomdev" = yes -o -z "$opt_randomdev"; then
Packit Service b29381
       opt_randomdev="/dev/urandom"
Packit Service b29381
elif test "$opt_randomdev" = no; then
Packit Service b29381
       opt_randomdev=
Packit Service b29381
fi
Packit Service b29381
if test -n "$opt_randomdev"; then
Packit Service b29381
       AC_DEFINE_UNQUOTED(PAM_PATH_RANDOMDEV, "$opt_randomdev", [Random device path.])
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
dnl check for libdb or libndbm as fallback. Some libndbm compat
Packit Service b29381
dnl libraries are unuseable, so try libdb first.
Packit Service b29381
AC_ARG_ENABLE([db],
Packit Service b29381
        AS_HELP_STRING([--enable-db=(db|ndbm|yes|no)],[Default behavior 'yes', which is to check for libdb first, followed by ndbm. Use 'no' to disable db support.]),
Packit Service b29381
        WITH_DB=$enableval, WITH_DB=yes)
Packit Service b29381
AC_ARG_WITH([db-uniquename],
Packit Service b29381
	AS_HELP_STRING([--with-db-uniquename=extension],[Unique name for db libraries and functions.]))
Packit Service b29381
if test x"$WITH_DB" != xno ; then
Packit Service b29381
        if test x"$WITH_DB" = xyes -o x"$WITH_DB" = xdb ; then
Packit Service b29381
              old_libs=$LIBS
Packit Service b29381
              LIBS="$LIBS -ldb$with_db_uniquename"
Packit Service b29381
              AC_CHECK_FUNCS([db_create$with_db_uniquename db_create dbm_store$with_db_uniquename dbm_store],
Packit Service b29381
                [LIBDB="-ldb$with_db_uniquename"; break])
Packit Service b29381
              LIBS=$old_libs
Packit Service b29381
        fi
Packit Service b29381
        if test -z "$LIBDB" ; then
Packit Service b29381
            AC_CHECK_LIB([ndbm],[dbm_store], LIBDB="-lndbm", LIBDB="")
Packit Service b29381
            if test ! -z "$LIBDB" ; then
Packit Service b29381
                AC_CHECK_HEADERS(ndbm.h)
Packit Service b29381
            fi
Packit Service b29381
        else
Packit Service b29381
            AC_CHECK_HEADERS(db.h)
Packit Service b29381
        fi
Packit Service b29381
fi
Packit Service b29381
AC_SUBST(LIBDB)
Packit Service b29381
AM_CONDITIONAL([HAVE_LIBDB], [test ! -z "$LIBDB"])
Packit Service b29381
Packit Service b29381
AC_ARG_ENABLE([nis],
Packit Service b29381
        AS_HELP_STRING([--disable-nis], [Disable building NIS/YP support in pam_unix]))
Packit Service b29381
Packit Service b29381
AS_IF([test "x$enable_nis" != "xno"], [
Packit Service b29381
  old_CFLAGS=$CFLAGS
Packit Service b29381
  old_CPPFLAGS=$CPPFLAGS
Packit Service b29381
  old_LIBS=$LIBS
Packit Service b29381
Packit Service b29381
  dnl if there's libtirpc available, prefer that over the system
Packit Service b29381
  dnl implementation.
Packit Service b29381
  PKG_CHECK_MODULES([TIRPC], [libtirpc], [
Packit Service b29381
    CFLAGS="$CFLAGS $TIRPC_CFLAGS"
Packit Service b29381
    CPPFLAGS="$CPPFLAGS $TIRPC_CFLAGS"
Packit Service b29381
    LIBS="$LIBS $TIRPC_LIBS"
Packit Service b29381
  ], [:;])
Packit Service b29381
Packit Service b29381
  PKG_CHECK_MODULES([NSL], [libnsl], [],
Packit Service b29381
    [AC_CHECK_LIB([nsl],[yp_match],[NSL_LIBS="-lnsl"],[NSL_LIBS=""])])
Packit Service b29381
  CFLAGS="$CFLAGS $NSL_CFLAGS"
Packit Service b29381
  CPPFLAGS="$CPPFLAGS $NSL_CFLAGS"
Packit Service b29381
  LIBS="$LIBS $NSL_LIBS"
Packit Service b29381
Packit Service b29381
  AC_CHECK_FUNCS([yp_get_default_domain yperr_string yp_master yp_bind yp_match yp_unbind])
Packit Service b29381
  AC_CHECK_FUNCS([getrpcport rpcb_getaddr])
Packit Service b29381
  AC_CHECK_HEADERS([rpc/rpc.h rpcsvc/ypclnt.h rpcsvc/yp_prot.h])
Packit Service b29381
  AC_CHECK_DECLS([getrpcport], , , [
Packit Service b29381
    #if HAVE_RPC_RPC_H
Packit Service b29381
    # include <rpc/rpc.h>
Packit Service b29381
    #endif
Packit Service b29381
  ])
Packit Service b29381
Packit Service b29381
  CFLAGS="$old_CFLAGS"
Packit Service b29381
  CPPFLAGS="$old_CPPFLAGS"
Packit Service b29381
  LIBS="$old_LIBS"
Packit Service b29381
])
Packit Service b29381
Packit Service b29381
AC_SUBST([NIS_CFLAGS])
Packit Service b29381
AC_SUBST([NIS_LIBS])
Packit Service b29381
Packit Service b29381
AC_ARG_ENABLE([selinux],
Packit Service b29381
        AS_HELP_STRING([--disable-selinux],[do not use SELinux]),
Packit Service b29381
        WITH_SELINUX=$enableval, WITH_SELINUX=yes)
Packit Service b29381
if test "$WITH_SELINUX" = "yes" ; then
Packit Service b29381
  AC_CHECK_LIB([selinux],[getfilecon], LIBSELINUX="-lselinux", LIBSELINUX="")
Packit Service b29381
else
Packit Service b29381
  LIBSELINUX=""
Packit Service b29381
fi
Packit Service b29381
AC_SUBST(LIBSELINUX)
Packit Service b29381
AM_CONDITIONAL([HAVE_LIBSELINUX], [test ! -z "$LIBSELINUX"])
Packit Service b29381
if test ! -z "$LIBSELINUX" ; then
Packit Service b29381
    AC_DEFINE([WITH_SELINUX], 1, [Defined if SE Linux support is compiled in])
Packit Service b29381
    BACKUP_LIBS=$LIBS
Packit Service b29381
    LIBS="$LIBS $LIBSELINUX"
Packit Service b29381
    AC_CHECK_FUNCS(setkeycreatecon)
Packit Service b29381
    AC_CHECK_FUNCS(getseuser)
Packit Service b29381
    LIBS=$BACKUP_LIBS
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
dnl Checks for header files.
Packit Service b29381
AC_HEADER_DIRENT
Packit Service b29381
AC_HEADER_STDC
Packit Service b29381
AC_HEADER_SYS_WAIT
Packit Service b29381
AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/file.h sys/ioctl.h sys/time.h syslog.h net/if.h termio.h unistd.h sys/fsuid.h inittypes.h)
Packit Service b29381
Packit Service b29381
dnl For module/pam_lastlog
Packit Service b29381
AC_CHECK_HEADERS(lastlog.h utmp.h utmpx.h)
Packit Service b29381
Packit Service b29381
dnl Checks for typedefs, structures, and compiler characteristics.
Packit Service b29381
AC_C_BIGENDIAN
Packit Service b29381
AC_C_CONST
Packit Service b29381
AC_TYPE_UID_T
Packit Service b29381
AC_TYPE_OFF_T
Packit Service b29381
AC_TYPE_PID_T
Packit Service b29381
AC_TYPE_SIZE_T
Packit Service b29381
AC_HEADER_TIME
Packit Service b29381
AC_STRUCT_TM
Packit Service b29381
Packit Service b29381
dnl Checks for library functions.
Packit Service b29381
AC_TYPE_GETGROUPS
Packit Service b29381
AC_PROG_GCC_TRADITIONAL
Packit Service b29381
AC_FUNC_MEMCMP
Packit Service b29381
AC_FUNC_VPRINTF
Packit Service b29381
AC_CHECK_FUNCS(fseeko getdomainname gethostname gettimeofday lckpwdf mkdir select)
Packit Service b29381
AC_CHECK_FUNCS(strcspn strdup strspn strstr strtol uname)
Packit Service b29381
AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r)
Packit Service b29381
AC_CHECK_FUNCS(getgrouplist getline getdelim)
Packit Service b29381
AC_CHECK_FUNCS(inet_ntop inet_pton innetgr ruserok_af)
Packit Service b29381
Packit Service b29381
AC_CHECK_FUNCS(unshare, [UNSHARE=yes], [UNSHARE=no])
Packit Service b29381
AM_CONDITIONAL([HAVE_UNSHARE], [test "$UNSHARE" = yes])
Packit Service b29381
Packit Service b29381
AC_ARG_ENABLE([regenerate-docu],
Packit Service b29381
  AS_HELP_STRING([--disable-regenerate-docu],[Don't re-build documentation from XML sources]),
Packit Service b29381
  [enable_docu=$enableval], [enable_docu=yes])
Packit Service b29381
dnl
Packit Service b29381
dnl Check for xsltproc
Packit Service b29381
dnl
Packit Service b29381
AC_PATH_PROG([XSLTPROC], [xsltproc])
Packit Service b29381
if test -z "$XSLTPROC"; then
Packit Service b29381
     enable_docu=no
Packit Service b29381
fi
Packit Service b29381
AC_PATH_PROG([XMLLINT], [xmllint],[/bin/true])
Packit Service b29381
dnl check for DocBook DTD and stylesheets in the local catalog.
Packit Service b29381
JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.4//EN],
Packit Service b29381
                [DocBook XML DTD V4.4], [], enable_docu=no)
Packit Service b29381
JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
Packit Service b29381
                [DocBook XSL Stylesheets], [], enable_docu=no)
Packit Service b29381
Packit Service b29381
AC_PATH_PROG([BROWSER], [w3m])
Packit Service b29381
if test ! -z "$BROWSER"; then
Packit Service b29381
     BROWSER="$BROWSER -T text/html -dump"
Packit Service b29381
else
Packit Service b29381
     AC_PATH_PROG([BROWSER], [elinks])
Packit Service b29381
     if test ! -z "$BROWSER"; then
Packit Service b29381
          BROWSER="$BROWSER -no-numbering -no-references -dump"
Packit Service b29381
     else
Packit Service b29381
          enable_docu=no
Packit Service b29381
     fi
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
AC_PATH_PROG([FO2PDF], [fop])
Packit Service b29381
Packit Service b29381
AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test x$enable_docu != xno)
Packit Service b29381
AM_CONDITIONAL(ENABLE_GENERATE_PDF, test ! -z "$FO2PDF")
Packit Service b29381
Packit Service b29381
Packit Service b29381
AM_GNU_GETTEXT_VERSION([0.18.3])
Packit Service b29381
AM_GNU_GETTEXT([external])
Packit Service b29381
AC_CHECK_FUNCS(dngettext)
Packit Service b29381
Packit Service b29381
AH_BOTTOM([#ifdef ENABLE_NLS
Packit Service b29381
#include <libintl.h>
Packit Service b29381
#define _(msgid) dgettext(PACKAGE, msgid)
Packit Service b29381
#define N_(msgid) msgid
Packit Service b29381
#else
Packit Service b29381
#define _(msgid) (msgid)
Packit Service b29381
#define N_(msgid) msgid
Packit Service b29381
#endif /* ENABLE_NLS */])
Packit Service b29381
Packit Service b29381
dnl
Packit Service b29381
dnl Check for the availability of the kernel key management facility
Packit Service b29381
dnl - The pam_keyinit module only requires the syscalls, not the error codes
Packit Service b29381
dnl
Packit Service b29381
AC_CHECK_DECL(__NR_keyctl, [have_key_syscalls=1],[have_key_syscalls=0],[#include <sys/syscall.h>])
Packit Service b29381
AC_CHECK_DECL(ENOKEY, [have_key_errors=1],[have_key_errors=0],[#include <errno.h>])
Packit Service b29381
Packit Service b29381
HAVE_KEY_MANAGEMENT=0
Packit Service b29381
if test $have_key_syscalls$have_key_errors = 11
Packit Service b29381
then
Packit Service b29381
	HAVE_KEY_MANAGEMENT=1
Packit Service b29381
fi
Packit Service b29381
Packit Service b29381
if test $HAVE_KEY_MANAGEMENT = 1; then
Packit Service b29381
   AC_DEFINE([HAVE_KEY_MANAGEMENT], 1,
Packit Service b29381
	     [Defined if the kernel key management facility is available])
Packit Service b29381
fi
Packit Service b29381
AC_SUBST([HAVE_KEY_MANAGEMENT], $HAVE_KEY_MANAGEMENT)
Packit Service b29381
Packit Service b29381
AM_CONDITIONAL([HAVE_KEY_MANAGEMENT], [test "$have_key_syscalls" = 1])
Packit Service b29381
Packit Service b29381
dnl
Packit Service b29381
dnl Get values for default uid ranges in login.defs used in pam_usertype
Packit Service b29381
dnl
Packit Service b29381
AC_ARG_WITH([uidmin], AS_HELP_STRING([--with-uidmin=<number>],[default value for regular user min uid (1000)]), opt_uidmin=$withval)
Packit Service b29381
if test x"$opt_uidmin" == x; then
Packit Service b29381
    opt_uidmin=1000
Packit Service b29381
fi
Packit Service b29381
AC_DEFINE_UNQUOTED(PAM_USERTYPE_UIDMIN, $opt_uidmin, [Minimum regular user uid.])
Packit Service b29381
Packit Service b29381
AC_ARG_WITH([sysuidmin], AS_HELP_STRING([--with-sysuidmin=<number>],[default value for system user min uid (101)]), opt_sysuidmin=$withval)
Packit Service b29381
if test x"$opt_sysuidmin" == x; then
Packit Service b29381
    opt_sysuidmin=101
Packit Service b29381
fi
Packit Service b29381
AC_DEFINE_UNQUOTED(PAM_USERTYPE_SYSUIDMIN, $opt_sysuidmin, [Minimum system user uid.])
Packit Service b29381
Packit Service b29381
AC_ARG_WITH([kerneloverflowuid], AS_HELP_STRING([--with-kernel-overflow-uid=<number>],[kernel overflow uid, default (uint16_t)-2=65534]), opt_kerneloverflowuid=$withval)
Packit Service b29381
if test x"$opt_kerneloverflowuid" == x; then
Packit Service b29381
    opt_kerneloverflowuid=65534
Packit Service b29381
fi
Packit Service b29381
AC_DEFINE_UNQUOTED(PAM_USERTYPE_OVERFLOW_UID, $opt_kerneloverflowuid, [Kernel overflow uid.])
Packit Service b29381
Packit Service b29381
dnl Files to be created from when we run configure
Packit Service b29381
AC_CONFIG_FILES([Makefile libpam/Makefile libpamc/Makefile libpamc/test/Makefile \
Packit Service b29381
	libpam_misc/Makefile conf/Makefile conf/pam_conv1/Makefile \
Packit Service b29381
	po/Makefile.in \
Packit Service b29381
	modules/Makefile \
Packit Service b29381
	modules/pam_chroot/Makefile modules/pam_console/Makefile \
Packit Service b29381
	modules/pam_postgresok/Makefile \
Packit Service b29381
	modules/pam_access/Makefile modules/pam_cracklib/Makefile \
Packit Service b29381
        modules/pam_debug/Makefile modules/pam_deny/Makefile \
Packit Service b29381
	modules/pam_echo/Makefile modules/pam_env/Makefile \
Packit Service b29381
	modules/pam_faildelay/Makefile modules/pam_faillock/Makefile \
Packit Service b29381
	modules/pam_filter/Makefile modules/pam_filter/upperLOWER/Makefile \
Packit Service b29381
	modules/pam_ftp/Makefile modules/pam_group/Makefile \
Packit Service b29381
	modules/pam_issue/Makefile modules/pam_keyinit/Makefile \
Packit Service b29381
	modules/pam_lastlog/Makefile modules/pam_limits/Makefile \
Packit Service b29381
	modules/pam_listfile/Makefile modules/pam_localuser/Makefile \
Packit Service b29381
	modules/pam_loginuid/Makefile modules/pam_mail/Makefile \
Packit Service b29381
	modules/pam_mkhomedir/Makefile modules/pam_motd/Makefile \
Packit Service b29381
	modules/pam_namespace/Makefile \
Packit Service b29381
	modules/pam_nologin/Makefile modules/pam_permit/Makefile \
Packit Service b29381
	modules/pam_pwhistory/Makefile modules/pam_rhosts/Makefile \
Packit Service b29381
	modules/pam_rootok/Makefile modules/pam_exec/Makefile \
Packit Service b29381
	modules/pam_securetty/Makefile modules/pam_selinux/Makefile \
Packit Service b29381
	modules/pam_sepermit/Makefile \
Packit Service b29381
	modules/pam_shells/Makefile modules/pam_stress/Makefile \
Packit Service b29381
	modules/pam_succeed_if/Makefile modules/pam_tally/Makefile \
Packit Service b29381
	modules/pam_tally2/Makefile modules/pam_time/Makefile \
Packit Service b29381
	modules/pam_timestamp/Makefile modules/pam_tty_audit/Makefile \
Packit Service b29381
	modules/pam_umask/Makefile \
Packit Service b29381
	modules/pam_unix/Makefile modules/pam_userdb/Makefile \
Packit Service b29381
	modules/pam_usertype/Makefile \
Packit Service b29381
	modules/pam_warn/Makefile modules/pam_wheel/Makefile \
Packit Service b29381
	modules/pam_xauth/Makefile doc/Makefile doc/specs/Makefile \
Packit Service b29381
	doc/man/Makefile doc/sag/Makefile doc/adg/Makefile \
Packit Service b29381
	doc/mwg/Makefile examples/Makefile tests/Makefile \
Packit Service b29381
	xtests/Makefile])
Packit Service b29381
AC_OUTPUT