5 kx dnl Process this file with autoconf to produce a configure script.
5 kx AC_INIT([Linux-PAM], [1.5.1], , [Linux-PAM])
5 kx AC_CONFIG_SRCDIR([conf/pam_conv1/pam_conv_y.y])
5 kx AC_CONFIG_AUX_DIR([build-aux])
5 kx AM_INIT_AUTOMAKE([-Wall -Wno-portability])
5 kx AC_PREREQ([2.61])
5 kx AC_CONFIG_HEADERS([config.h])
5 kx AC_CONFIG_MACRO_DIR([m4])
5 kx AC_CANONICAL_HOST
5 kx
5 kx AC_SUBST(PACKAGE)
5 kx AC_SUBST(VERSION)
5 kx
5 kx dnl
5 kx dnl By default, everything under PAM is installed below /usr.
5 kx dnl
5 kx AC_PREFIX_DEFAULT(/usr)
5 kx
5 kx dnl and some hacks to use /etc and /lib
5 kx test "${prefix}" = "NONE" && prefix="/usr"
5 kx if test ${prefix} = '/usr'
5 kx then
5 kx dnl If we use /usr as prefix, use /etc for config files
5 kx if test ${sysconfdir} = '${prefix}/etc'
5 kx then
5 kx sysconfdir="/etc"
5 kx fi
5 kx if test ${libdir} = '${exec_prefix}/lib'
5 kx then
5 kx case "$host_cpu" in
5 kx x86_64|ppc64|s390x|sparc64)
5 kx libdir="/lib64" ;;
5 kx *)
5 kx libdir="/lib" ;;
5 kx esac
5 kx fi
5 kx if test ${sbindir} = '${exec_prefix}/sbin'
5 kx then
5 kx sbindir="/sbin"
5 kx fi
5 kx dnl If we use /usr as prefix, use /usr/share/man for manual pages
5 kx if test ${mandir} = '${prefix}/man'
5 kx then
5 kx mandir='${prefix}/share/man'
5 kx fi
5 kx dnl Add security to include directory
5 kx if test ${includedir} = '${prefix}/include'
5 kx then
5 kx includedir="${prefix}/include/security"
5 kx fi
5 kx
5 kx dnl Add /var directory
5 kx if test ${localstatedir} = '${prefix}/var'
5 kx then
5 kx localstatedir="/var"
5 kx fi
5 kx
5 kx fi
5 kx
5 kx dnl This should be called before any macros that run the C compiler.
5 kx AC_USE_SYSTEM_EXTENSIONS
5 kx
5 kx LT_INIT([disable-static])
5 kx AC_ENABLE_STATIC([no])
5 kx AC_ENABLE_SHARED([yes])
5 kx
5 kx dnl Checks for programs.
5 kx AC_PROG_CC
5 kx AC_PROG_YACC
5 kx AM_PROG_LEX
5 kx AC_PROG_INSTALL
5 kx AC_PROG_LN_S
5 kx AC_PROG_MAKE_SET
5 kx AM_PROG_CC_C_O
5 kx PAM_LD_AS_NEEDED
5 kx PAM_LD_NO_UNDEFINED
5 kx PAM_LD_O1
5 kx PAM_LD_Z_NOW
5 kx
5 kx dnl Largefile support
5 kx AC_SYS_LARGEFILE
5 kx
5 kx pam_WARN_LANG_FLAGS
5 kx
5 kx if test "x${CC_FOR_BUILD+set}" != "xset" ; then
5 kx if test "x$cross_compiling" = "xyes" ; then
5 kx AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
5 kx else
5 kx CC_FOR_BUILD=${CC}
5 kx fi
5 kx fi
5 kx AC_MSG_CHECKING([for CC_FOR_BUILD])
5 kx AC_MSG_RESULT([$CC_FOR_BUILD])
5 kx AC_SUBST(CC_FOR_BUILD)
5 kx
5 kx if test "x${BUILD_CPPFLAGS+set}" != "xset" ; then
5 kx if test "x$cross_compiling" = "xyes" ; then
5 kx BUILD_CPPFLAGS=
5 kx else
5 kx BUILD_CPPFLAGS=${CPPFLAGS}
5 kx fi
5 kx fi
5 kx AC_SUBST(BUILD_CPPFLAGS)
5 kx
5 kx if test "x${BUILD_CFLAGS+set}" != "xset" ; then
5 kx if test "x$cross_compiling" = "xyes" ; then
5 kx BUILD_CFLAGS=
5 kx else
5 kx BUILD_CFLAGS=${CFLAGS}
5 kx fi
5 kx fi
5 kx AC_SUBST(BUILD_CFLAGS)
5 kx
5 kx if test "x${BUILD_LDFLAGS+set}" != "xset" ; then
5 kx if test "x$cross_compiling" = "xyes" ; then
5 kx BUILD_LDFLAGS=
5 kx else
5 kx BUILD_LDFLAGS=${LDFLAGS}
5 kx fi
5 kx fi
5 kx AC_SUBST(BUILD_LDFLAGS)
5 kx
5 kx PAM_ATTRIBUTE_UNUSED
5 kx
5 kx dnl
5 kx dnl Check if --version-script is supported by ld
5 kx dnl
5 kx AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
5 kx [cat > conftest.s <<EOF
5 kx ${libc_cv_dot_text}
5 kx _sym:
5 kx .symver _sym,sym@VERS
5 kx EOF
5 kx if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
5 kx libc_cv_asm_symver_directive=yes
5 kx else
5 kx libc_cv_asm_symver_directive=no
5 kx fi
5 kx rm -f conftest*])
5 kx AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
5 kx if test $libc_cv_asm_symver_directive = yes; then
5 kx cat > conftest.s <<EOF
5 kx ${libc_cv_dot_text}
5 kx _sym:
5 kx .symver _sym,sym@VERS
5 kx EOF
5 kx cat > conftest.map <<EOF
5 kx VERS_1 {
5 kx global: sym;
5 kx };
5 kx
5 kx VERS_2 {
5 kx global: sym;
5 kx } VERS_1;
5 kx EOF
5 kx if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
5 kx then
5 kx if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
5 kx -o conftest.so conftest.o
5 kx -nostartfiles -nostdlib
5 kx -Wl,--version-script,conftest.map
5 kx 1>&AS_MESSAGE_LOG_FD]);
5 kx then
5 kx libc_cv_ld_version_script_option=yes
5 kx else
5 kx libc_cv_ld_version_script_option=no
5 kx fi
5 kx else
5 kx libc_cv_ld_version_script_option=no
5 kx fi
5 kx else
5 kx libc_cv_ld_version_script_option=no
5 kx fi
5 kx rm -f conftest*])
5 kx AM_CONDITIONAL([HAVE_VERSIONING],
5 kx [test "$libc_cv_ld_version_script_option" = "yes"])
5 kx
5 kx AC_ARG_ENABLE([pie],
5 kx [AS_HELP_STRING([--disable-pie],
5 kx [disable position-independent executables (PIE)])],
5 kx [], [enable_pie=check])
5 kx case "$enable_pie" in
5 kx no) ;;
5 kx yes|check)
5 kx dnl Check for -fpie/-pie support
5 kx AC_CACHE_CHECK([for -fpie/-pie support],
5 kx [pam_cv_pie],
5 kx [saved_CFLAGS="$CFLAGS"
5 kx saved_LDFLAGS="$LDFLAGS"
5 kx CFLAGS="$CFLAGS -fpie"
5 kx LDFLAGS="$LDFLAGS -pie"
5 kx AC_LINK_IFELSE([AC_LANG_PROGRAM(,)],
5 kx [pam_cv_pie=yes],
5 kx [pam_cv_pie=no])
5 kx LDFLAGS="$saved_LDFLAGS"
5 kx CFLAGS="$saved_CFLAGS"])
5 kx AS_IF([test "$pam_cv_pie" = yes],
5 kx [enable_pie=yes],
5 kx [AS_IF([test "$enable_pie" = yes],
5 kx [AC_MSG_FAILURE([requested -fpie/-pie support not found])],
5 kx [enable_pie=no])])
5 kx ;;
5 kx *) AC_MSG_ERROR([bad value $enable_pie for --enable-pie option]) ;;
5 kx esac
5 kx
5 kx AS_IF([test "$enable_pie" = yes],
5 kx [PIE_CFLAGS="-fpie"
5 kx PIE_LDFLAGS="-pie"],
5 kx [PIE_CFLAGS=
5 kx PIE_LDFLAGS=])
5 kx
5 kx EXE_CFLAGS="$PIE_CFLAGS"
5 kx EXE_LDFLAGS="$PIE_LDFLAGS $ZNOW_LDFLAGS"
5 kx AC_SUBST(EXE_CFLAGS)
5 kx AC_SUBST(EXE_LDFLAGS)
5 kx
5 kx
5 kx dnl
5 kx dnl options and defaults
5 kx dnl
5 kx
5 kx AC_ARG_ENABLE([doc],
5 kx AS_HELP_STRING([--disable-doc],[Do not generate or install documentation]),
5 kx WITH_DOC=$enableval, WITH_DOC=yes)
5 kx AM_CONDITIONAL([HAVE_DOC], [test "x$WITH_DOC" = "xyes"])
5 kx
5 kx AC_ARG_ENABLE([prelude],
5 kx AS_HELP_STRING([--disable-prelude],[do not use prelude]),
5 kx WITH_PRELUDE=$enableval, WITH_PRELUDE=yes)
5 kx if test "$WITH_PRELUDE" = "yes" ; then
5 kx AM_PATH_LIBPRELUDE([0.9.0])
5 kx if test "$LIBPRELUDE_CONFIG" != "no" ; then
5 kx LIBPRELUDE_CFLAGS="$LIBPRELUDE_CFLAGS -DPRELUDE=1"
5 kx fi
5 kx fi
5 kx
5 kx dnl lots of debugging information goes to /var/run/pam-debug.log
5 kx AC_ARG_ENABLE([debug],
5 kx AS_HELP_STRING([--enable-debug],[specify you are building with debugging on]))
5 kx
5 kx if test x"$enable_debug" = x"yes" ; then
5 kx AC_DEFINE([PAM_DEBUG],,
5 kx [lots of stuff gets written to /var/run/pam-debug.log])
5 kx fi
5 kx
5 kx AC_ARG_ENABLE(securedir,
5 kx AS_HELP_STRING([--enable-securedir=DIR],[path to location of PAMs @<:@default=$libdir/security@:>@]),
5 kx SECUREDIR=$enableval, SECUREDIR=$libdir/security)
5 kx AC_SUBST(SECUREDIR)
5 kx
5 kx AC_ARG_ENABLE([isadir],
5 kx AS_HELP_STRING([--enable-isadir=DIR],[path to arch-specific module files @<:@default=../../(basename of $libdir)/security@:>@]),
5 kx ISA=$enableval,
5 kx ISA=../../`basename $libdir`/security)
5 kx unset mylibdirbase
5 kx AC_DEFINE_UNQUOTED(_PAM_ISA,"$ISA",[Define to the path, relative to SECUREDIR, where PAMs specific to this architecture can be found.])
5 kx AC_MSG_RESULT([Defining \$ISA to "$ISA"])
5 kx
5 kx AC_ARG_ENABLE(sconfigdir,
5 kx AS_HELP_STRING([--enable-sconfigdir=DIR],[path to module conf files @<:@default=$sysconfdir/security@:>@]),
5 kx SCONFIGDIR=$enableval, SCONFIGDIR=$sysconfdir/security)
5 kx AC_SUBST(SCONFIGDIR)
5 kx
5 kx AC_ARG_ENABLE(pamlocking,
5 kx AS_HELP_STRING([--enable-pamlocking],[configure libpam to observe a global authentication lock]))
5 kx
5 kx if test x"$enable_pamlocking" = "xyes"; then
5 kx AC_DEFINE([PAM_LOCKING],,
5 kx [libpam should observe a global authentication lock])
5 kx fi
5 kx
5 kx AC_ARG_ENABLE(read-both-confs,
5 kx AS_HELP_STRING([--enable-read-both-confs],[read both /etc/pam.d and /etc/pam.conf files]))
5 kx
5 kx if test x"$enable_read_both_confs" = "xyes"; then
5 kx AC_DEFINE([PAM_READ_BOTH_CONFS],,
5 kx [read both /etc/pam.d and /etc/pam.conf files])
5 kx fi
5 kx
5 kx AC_ARG_ENABLE([lckpwdf],
5 kx AS_HELP_STRING([--disable-lckpwdf],[do not use the lckpwdf function]),
5 kx WITH_LCKPWDF=$enableval, WITH_LCKPWDF=yes)
5 kx if test "$WITH_LCKPWDF" = "yes" ; then
5 kx AC_DEFINE([USE_LCKPWDF], 1,
5 kx [Define to 1 if the lckpwdf function should be used])
5 kx fi
5 kx
5 kx AC_CHECK_HEADERS(paths.h)
5 kx AC_ARG_WITH(mailspool,
5 kx [ --with-mailspool path to mail spool directory
5 kx [default _PATH_MAILDIR if defined in paths.h, otherwise /var/spool/mail]],
5 kx with_mailspool=${withval})
5 kx if test x$with_mailspool != x ; then
5 kx pam_mail_spool="\"$with_mailspool\""
5 kx else
5 kx AC_RUN_IFELSE([AC_LANG_SOURCE([[
5 kx #include <paths.h>
5 kx int main() {
5 kx #ifdef _PATH_MAILDIR
5 kx exit(0);
5 kx #else
5 kx exit(1);
5 kx #endif
5 kx }]])],[pam_mail_spool="_PATH_MAILDIR"],[pam_mail_spool="\"/var/spool/mail\""],[pam_mail_spool="\"/var/spool/mail\""])
5 kx fi
5 kx AC_DEFINE_UNQUOTED(PAM_PATH_MAILDIR, $pam_mail_spool,
5 kx [Path where mails are stored])
5 kx
5 kx AC_ARG_WITH(xauth,
5 kx [ --with-xauth additional path to check for xauth when it is called from pam_xauth
5 kx [added to the default of /usr/X11R6/bin/xauth, /usr/bin/xauth, /usr/bin/X11/xauth]],
5 kx pam_xauth_path=${withval})
5 kx if test x$with_xauth = x ; then
5 kx AC_PATH_PROG(pam_xauth_path, xauth)
5 kx dnl There is no sense in adding the first default path
5 kx if test x$pam_xauth_path = x/usr/X11R6/bin/xauth ; then
5 kx unset pam_xauth_path
5 kx fi
5 kx fi
5 kx
5 kx if test x$pam_xauth_path != x ; then
5 kx AC_DEFINE_UNQUOTED(PAM_PATH_XAUTH, "$pam_xauth_path",
5 kx [Additional path of xauth executable])
5 kx fi
5 kx
5 kx dnl Checks for the existence of libdl - in musl its a part of libc
5 kx saved_LIBS="$LIBS"
5 kx AC_SEARCH_LIBS([dlopen], [dl])
5 kx LIBS="$saved_LIBS"
5 kx case "$ac_cv_search_dlopen" in
5 kx no) AC_MSG_FAILURE([failed to find dlopen]) ;;
5 kx -l*) LIBDL="$ac_cv_search_dlopen" ;;
5 kx *) LIBDL= ;;
5 kx esac
5 kx AC_SUBST(LIBDL)
5 kx
5 kx dnl Look for Linux Auditing library - see documentation
5 kx AC_ARG_ENABLE([audit],
5 kx AS_HELP_STRING([--disable-audit],[do not enable audit support]),
5 kx WITH_LIBAUDIT=$enableval, WITH_LIBAUDIT=yes)
5 kx if test x"$WITH_LIBAUDIT" != xno ; then
5 kx AC_CHECK_HEADER([libaudit.h],
5 kx [AC_CHECK_LIB(audit, audit_log_acct_message, LIBAUDIT=-laudit, LIBAUDIT="")
5 kx AC_CHECK_TYPE([struct audit_tty_status],
5 kx [HAVE_AUDIT_TTY_STATUS=yes],
5 kx [HAVE_AUDIT_TTY_STATUS=""],
5 kx [#include <libaudit.h>])]
5 kx )
5 kx if test -n "$LIBAUDIT" -a "$ac_cv_header_libaudit_h" != "no" ; then
5 kx AC_DEFINE([HAVE_LIBAUDIT], 1, [Define to 1 if audit support should be compiled in.])
5 kx fi
5 kx if test -n "$HAVE_AUDIT_TTY_STATUS" ; then
5 kx AC_CHECK_MEMBERS([struct audit_tty_status.log_passwd], [],
5 kx AC_MSG_WARN([audit_tty_status.log_passwd is not available. The log_passwd option is disabled.]),
5 kx [[#include <libaudit.h>]])
5 kx fi
5 kx else
5 kx LIBAUDIT=""
5 kx fi
5 kx AC_SUBST(LIBAUDIT)
5 kx
5 kx AC_CHECK_HEADERS(xcrypt.h crypt.h)
5 kx AS_IF([test "x$ac_cv_header_xcrypt_h" = "xyes"],
5 kx [crypt_libs="xcrypt crypt"],
5 kx [crypt_libs="crypt"])
5 kx
5 kx BACKUP_LIBS=$LIBS
5 kx AC_SEARCH_LIBS([crypt],[$crypt_libs])
5 kx case "$ac_cv_search_crypt" in
5 kx -l*) LIBCRYPT="$ac_cv_search_crypt" ;;
5 kx *) LIBCRYPT="" ;;
5 kx esac
5 kx AC_CHECK_FUNCS(crypt_r crypt_gensalt_r)
5 kx LIBS=$BACKUP_LIBS
5 kx AC_SUBST(LIBCRYPT)
5 kx if test "$LIBCRYPT" = "-lxcrypt" -a "$ac_cv_header_xcrypt_h" = "yes" ; then
5 kx AC_DEFINE([HAVE_LIBXCRYPT], 1, [Define to 1 if xcrypt support should be compiled in.])
5 kx fi
5 kx
5 kx 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)
5 kx if test "$opt_randomdev" = yes -o -z "$opt_randomdev"; then
5 kx opt_randomdev="/dev/urandom"
5 kx elif test "$opt_randomdev" = no; then
5 kx opt_randomdev=
5 kx fi
5 kx if test -n "$opt_randomdev"; then
5 kx AC_DEFINE_UNQUOTED(PAM_PATH_RANDOMDEV, "$opt_randomdev", [Random device path.])
5 kx fi
5 kx
5 kx dnl check for libdb or libndbm as fallback. Some libndbm compat
5 kx dnl libraries are unusable, so try libdb first.
5 kx AC_ARG_ENABLE([db],
5 kx 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.]),
5 kx WITH_DB=$enableval, WITH_DB=yes)
5 kx AC_ARG_WITH([db-uniquename],
5 kx AS_HELP_STRING([--with-db-uniquename=extension],[Unique name for db libraries and functions.]))
5 kx if test x"$WITH_DB" != xno ; then
5 kx if test x"$WITH_DB" = xyes -o x"$WITH_DB" = xdb ; then
5 kx old_libs=$LIBS
5 kx LIBS="$LIBS -ldb$with_db_uniquename"
5 kx AC_CHECK_FUNCS([db_create$with_db_uniquename db_create dbm_store$with_db_uniquename dbm_store],
5 kx [LIBDB="-ldb$with_db_uniquename"; break])
5 kx LIBS=$old_libs
5 kx fi
5 kx if test -z "$LIBDB" ; then
5 kx AC_CHECK_LIB([ndbm],[dbm_store], LIBDB="-lndbm", LIBDB="")
5 kx if test -n "$LIBDB" ; then
5 kx AC_CHECK_HEADERS(ndbm.h)
5 kx fi
5 kx else
5 kx AC_CHECK_HEADERS(db.h)
5 kx fi
5 kx fi
5 kx AC_SUBST(LIBDB)
5 kx
5 kx AC_ARG_ENABLE([nis],
5 kx AS_HELP_STRING([--disable-nis], [Disable building NIS/YP support in pam_unix]))
5 kx
5 kx AS_IF([test "x$enable_nis" != "xno"], [
5 kx old_CFLAGS=$CFLAGS
5 kx old_CPPFLAGS=$CPPFLAGS
5 kx old_LIBS=$LIBS
5 kx
5 kx dnl if there's libtirpc available, prefer that over the system
5 kx dnl implementation.
5 kx PKG_CHECK_MODULES([TIRPC], [libtirpc], [
5 kx CFLAGS="$CFLAGS $TIRPC_CFLAGS"
5 kx CPPFLAGS="$CPPFLAGS $TIRPC_CFLAGS"
5 kx LIBS="$LIBS $TIRPC_LIBS"
5 kx ], [:;])
5 kx
5 kx PKG_CHECK_MODULES([NSL], [libnsl], [],
5 kx [AC_CHECK_LIB([nsl],[yp_match],[NSL_LIBS="-lnsl"],[NSL_LIBS=""])])
5 kx CFLAGS="$CFLAGS $NSL_CFLAGS"
5 kx CPPFLAGS="$CPPFLAGS $NSL_CFLAGS"
5 kx LIBS="$LIBS $NSL_LIBS"
5 kx
5 kx AC_CHECK_FUNCS([yp_get_default_domain yperr_string yp_master yp_bind yp_match yp_unbind])
5 kx AC_CHECK_FUNCS([getrpcport rpcb_getaddr])
5 kx AC_CHECK_HEADERS([rpc/rpc.h rpcsvc/ypclnt.h rpcsvc/yp_prot.h])
5 kx AC_CHECK_DECLS([getrpcport], , , [
5 kx #if HAVE_RPC_RPC_H
5 kx # include <rpc/rpc.h>
5 kx #endif
5 kx ])
5 kx
5 kx CFLAGS="$old_CFLAGS"
5 kx CPPFLAGS="$old_CPPFLAGS"
5 kx LIBS="$old_LIBS"
5 kx ])
5 kx
5 kx AC_SUBST([NIS_CFLAGS])
5 kx AC_SUBST([NIS_LIBS])
5 kx
5 kx AC_ARG_ENABLE([usergroups],
5 kx AS_HELP_STRING([--enable-usergroups], [sets the usergroups option default to enabled]),
5 kx [WITH_USERGROUPS=$enableval], WITH_USERGROUPS=no)
5 kx if test "$WITH_USERGROUPS" = "yes" ; then
5 kx AC_DEFINE([DEFAULT_USERGROUPS_SETTING], 1,
5 kx [Defines the value usergroups option should have by default])
5 kx else
5 kx AC_DEFINE([DEFAULT_USERGROUPS_SETTING], 0,
5 kx [Defines the value usergroups option should have by default])
5 kx fi
5 kx
5 kx AC_ARG_ENABLE([selinux],
5 kx AS_HELP_STRING([--disable-selinux],[do not use SELinux]),
5 kx WITH_SELINUX=$enableval, WITH_SELINUX=yes)
5 kx if test "$WITH_SELINUX" = "yes" ; then
5 kx AC_CHECK_LIB([selinux],[getfilecon], LIBSELINUX="-lselinux", LIBSELINUX="")
5 kx else
5 kx LIBSELINUX=""
5 kx fi
5 kx AC_SUBST(LIBSELINUX)
5 kx if test -n "$LIBSELINUX" ; then
5 kx AC_DEFINE([WITH_SELINUX], 1, [Defined if SE Linux support is compiled in])
5 kx BACKUP_LIBS=$LIBS
5 kx LIBS="$LIBS $LIBSELINUX"
5 kx AC_CHECK_FUNCS(setkeycreatecon)
5 kx AC_CHECK_FUNCS(getseuser)
5 kx LIBS=$BACKUP_LIBS
5 kx fi
5 kx
5 kx AC_ARG_ENABLE([econf],
5 kx AS_HELP_STRING([--disable-econf], [do not use libeconf]),
5 kx [WITH_ECONF=$enableval], WITH_ECONF=yes)
5 kx if test "$WITH_ECONF" = "yes" ; then
5 kx PKG_CHECK_MODULES([ECONF], [libeconf], [],
5 kx [AC_CHECK_LIB([econf],[econf_readDirs],[ECONF_LIBS="-leconf"],[ECONF_LIBS=""])])
5 kx if test -n "$ECONF_LIBS" ; then
5 kx ECONF_CFLAGS="-DUSE_ECONF=1 $ECONF_CFLAGS"
5 kx fi
5 kx fi
5 kx AC_SUBST([ECONF_CFLAGS])
5 kx AC_SUBST([ECONF_LIBS])
5 kx AC_ARG_ENABLE([vendordir],
5 kx AS_HELP_STRING([--enable-vendordir=DIR], [Directory for distribution provided configuration files]),,[])
5 kx if test -n "$enable_vendordir"; then
5 kx AC_DEFINE_UNQUOTED([VENDORDIR], ["$enable_vendordir"],
5 kx [Directory for distribution provided configuration files])
5 kx STRINGPARAM_VENDORDIR="--stringparam vendordir '$enable_vendordir'"
5 kx else
5 kx STRINGPARAM_VENDORDIR="--stringparam vendordir '<vendordir>'"
5 kx fi
5 kx AC_SUBST([STRINGPARAM_VENDORDIR])
5 kx
5 kx dnl Checks for header files.
5 kx AC_HEADER_DIRENT
5 kx AC_HEADER_STDC
5 kx AC_HEADER_SYS_WAIT
5 kx 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)
5 kx
5 kx dnl For module/pam_lastlog
5 kx AC_CHECK_HEADERS(lastlog.h utmp.h utmpx.h)
5 kx
5 kx dnl Checks for typedefs, structures, and compiler characteristics.
5 kx AC_C_BIGENDIAN
5 kx AC_C_CONST
5 kx AC_TYPE_UID_T
5 kx AC_TYPE_OFF_T
5 kx AC_TYPE_PID_T
5 kx AC_TYPE_SIZE_T
5 kx AC_HEADER_TIME
5 kx AC_STRUCT_TM
5 kx
5 kx dnl Checks for library functions.
5 kx AC_TYPE_GETGROUPS
5 kx AC_PROG_GCC_TRADITIONAL
5 kx AC_FUNC_MEMCMP
5 kx AC_FUNC_VPRINTF
5 kx AC_CHECK_FUNCS(fseeko getdomainname gethostname gettimeofday lckpwdf mkdir select)
5 kx AC_CHECK_FUNCS(strcspn strdup strspn strstr strtol uname)
5 kx AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r getmntent_r)
5 kx AC_CHECK_FUNCS(getgrouplist getline getdelim)
5 kx AC_CHECK_FUNCS(inet_ntop inet_pton innetgr)
5 kx AC_CHECK_FUNCS(quotactl)
5 kx AC_CHECK_FUNCS(unshare)
5 kx AC_CHECK_FUNCS([ruserok_af ruserok], [break])
5 kx BACKUP_LIBS=$LIBS
5 kx LIBS="$LIBS -lutil"
5 kx AC_CHECK_FUNCS([logwtmp])
5 kx LIBS=$BACKUP_LIBS
5 kx
5 kx AC_ARG_ENABLE([regenerate-docu],
5 kx AS_HELP_STRING([--disable-regenerate-docu],[Don't re-build documentation from XML sources]),
5 kx [enable_docu=$enableval], [enable_docu=yes])
5 kx dnl
5 kx dnl Check for xsltproc
5 kx dnl
5 kx AC_PATH_PROG([XSLTPROC], [xsltproc])
5 kx if test -z "$XSLTPROC"; then
5 kx enable_docu=no
5 kx fi
5 kx AC_PATH_PROG([XMLLINT], [xmllint],[/bin/true])
5 kx dnl check for DocBook DTD and stylesheets in the local catalog.
5 kx JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.4//EN],
5 kx [DocBook XML DTD V4.4], [], enable_docu=no)
5 kx JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
5 kx [DocBook XSL Stylesheets], [], enable_docu=no)
5 kx
5 kx AC_PATH_PROG([BROWSER], [w3m])
5 kx if test -n "$BROWSER"; then
5 kx BROWSER="$BROWSER -T text/html -dump"
5 kx else
5 kx AC_PATH_PROG([BROWSER], [elinks])
5 kx if test -n "$BROWSER"; then
5 kx BROWSER="$BROWSER -no-numbering -no-references -dump"
5 kx else
5 kx enable_docu=no
5 kx fi
5 kx fi
5 kx
5 kx AC_PATH_PROG([FO2PDF], [fop])
5 kx
5 kx AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test x$enable_docu != xno -a x$enable_doc != xno)
5 kx AM_CONDITIONAL(ENABLE_GENERATE_PDF, test -n "$FO2PDF")
5 kx
5 kx
5 kx AM_GNU_GETTEXT_VERSION([0.18.3])
5 kx AM_GNU_GETTEXT([external])
5 kx AC_CHECK_FUNCS(dngettext)
5 kx
5 kx AH_BOTTOM([#ifdef ENABLE_NLS
5 kx #include <libintl.h>
5 kx #define _(msgid) dgettext(PACKAGE, msgid)
5 kx #define N_(msgid) msgid
5 kx #else
5 kx #define _(msgid) (msgid)
5 kx #define N_(msgid) msgid
5 kx #endif /* ENABLE_NLS */])
5 kx
5 kx dnl
5 kx dnl Check for the availability of the kernel key management facility
5 kx dnl - The pam_keyinit module only requires the syscalls, not the error codes
5 kx dnl
5 kx AC_CHECK_DECL(__NR_keyctl, [have_key_syscalls=1],[have_key_syscalls=0],[#include <sys/syscall.h>])
5 kx
5 kx dnl
5 kx dnl Get values for default uid ranges in login.defs used in pam_usertype
5 kx dnl
5 kx AC_ARG_WITH([uidmin], AS_HELP_STRING([--with-uidmin=<number>],[default value for regular user min uid (1000)]), opt_uidmin=$withval)
5 kx test -n "$opt_uidmin" ||
5 kx opt_uidmin=1000
5 kx AC_DEFINE_UNQUOTED(PAM_USERTYPE_UIDMIN, $opt_uidmin, [Minimum regular user uid.])
5 kx
5 kx AC_ARG_WITH([sysuidmin], AS_HELP_STRING([--with-sysuidmin=<number>],[default value for system user min uid (101)]), opt_sysuidmin=$withval)
5 kx test -n "$opt_sysuidmin" ||
5 kx opt_sysuidmin=101
5 kx AC_DEFINE_UNQUOTED(PAM_USERTYPE_SYSUIDMIN, $opt_sysuidmin, [Minimum system user uid.])
5 kx
5 kx AC_ARG_WITH([kernel-overflow-uid], AS_HELP_STRING([--with-kernel-overflow-uid=<number>],[kernel overflow uid, default (uint16_t)-2=65534]), opt_kerneloverflowuid=$withval)
5 kx test -n "$opt_kerneloverflowuid" ||
5 kx opt_kerneloverflowuid=65534
5 kx AC_DEFINE_UNQUOTED(PAM_USERTYPE_OVERFLOW_UID, $opt_kerneloverflowuid, [Kernel overflow uid.])
5 kx
5 kx AC_ARG_ENABLE([unix],
5 kx [AS_HELP_STRING([--disable-unix],
5 kx [do not build pam_unix module])],
5 kx [], [enable_unix=yes])
5 kx case "$enable_unix" in
5 kx yes|no) ;;
5 kx *) AC_MSG_ERROR([bad value $enable_unix for --enable-unix option]) ;;
5 kx esac
5 kx
5 kx AM_CONDITIONAL([COND_BUILD_PAM_KEYINIT], [test "$have_key_syscalls" = 1])
5 kx AM_CONDITIONAL([COND_BUILD_PAM_LASTLOG], [test "$ac_cv_func_logwtmp" = yes])
5 kx AM_CONDITIONAL([COND_BUILD_PAM_NAMESPACE], [test "$ac_cv_func_unshare" = yes])
5 kx AM_CONDITIONAL([COND_BUILD_PAM_RHOSTS], [test "$ac_cv_func_ruserok_af" = yes -o "$ac_cv_func_ruserok" = yes])
5 kx AM_CONDITIONAL([COND_BUILD_PAM_SELINUX], [test -n "$LIBSELINUX"])
5 kx AM_CONDITIONAL([COND_BUILD_PAM_SEPERMIT], [test -n "$LIBSELINUX"])
5 kx AM_CONDITIONAL([COND_BUILD_PAM_SETQUOTA], [test "$ac_cv_func_quotactl" = yes])
5 kx AM_CONDITIONAL([COND_BUILD_PAM_TTY_AUDIT], [test "$HAVE_AUDIT_TTY_STATUS" = yes])
5 kx AM_CONDITIONAL([COND_BUILD_PAM_UNIX], [test "$enable_unix" = yes])
5 kx AM_CONDITIONAL([COND_BUILD_PAM_USERDB], [test -n "$LIBDB"])
5 kx
5 kx dnl Files to be created from when we run configure
5 kx AC_CONFIG_FILES([Makefile libpam/Makefile libpamc/Makefile libpamc/test/Makefile \
5 kx libpam_misc/Makefile conf/Makefile conf/pam_conv1/Makefile \
5 kx po/Makefile.in \
5 kx Make.xml.rules \
5 kx modules/Makefile \
5 kx modules/pam_chroot/Makefile modules/pam_console/Makefile \
5 kx modules/pam_postgresok/Makefile \
5 kx modules/pam_access/Makefile \
5 kx modules/pam_debug/Makefile modules/pam_deny/Makefile \
5 kx modules/pam_echo/Makefile modules/pam_env/Makefile \
5 kx modules/pam_faildelay/Makefile modules/pam_faillock/Makefile \
5 kx modules/pam_filter/Makefile modules/pam_filter/upperLOWER/Makefile \
5 kx modules/pam_ftp/Makefile modules/pam_group/Makefile \
5 kx modules/pam_issue/Makefile modules/pam_keyinit/Makefile \
5 kx modules/pam_lastlog/Makefile modules/pam_limits/Makefile \
5 kx modules/pam_listfile/Makefile modules/pam_localuser/Makefile \
5 kx modules/pam_loginuid/Makefile modules/pam_mail/Makefile \
5 kx modules/pam_mkhomedir/Makefile modules/pam_motd/Makefile \
5 kx modules/pam_namespace/Makefile \
5 kx modules/pam_namespace/pam_namespace_helper modules/pam_namespace/pam_namespace.service \
5 kx modules/pam_nologin/Makefile modules/pam_permit/Makefile \
5 kx modules/pam_pwhistory/Makefile modules/pam_rhosts/Makefile \
5 kx modules/pam_rootok/Makefile modules/pam_exec/Makefile \
5 kx modules/pam_securetty/Makefile modules/pam_selinux/Makefile \
5 kx modules/pam_sepermit/Makefile modules/pam_setquota/Makefile \
5 kx modules/pam_shells/Makefile modules/pam_stress/Makefile \
5 kx modules/pam_succeed_if/Makefile modules/pam_time/Makefile \
5 kx modules/pam_timestamp/Makefile modules/pam_tty_audit/Makefile \
5 kx modules/pam_umask/Makefile \
5 kx modules/pam_unix/Makefile modules/pam_userdb/Makefile \
5 kx modules/pam_usertype/Makefile \
5 kx modules/pam_warn/Makefile modules/pam_wheel/Makefile \
5 kx modules/pam_xauth/Makefile doc/Makefile doc/specs/Makefile \
5 kx doc/man/Makefile doc/sag/Makefile doc/adg/Makefile \
5 kx doc/mwg/Makefile examples/Makefile tests/Makefile \
5 kx xtests/Makefile])
5 kx AC_OUTPUT