1dnl -*-m4-*- 2 3AC_INIT([Authen::PAM],[0.16],[],[Authen-PAM]) 4 5AC_PREREQ([2.50]) 6 7AC_CONFIG_HEADERS([PAM_config.h]) 8 9AC_PROG_CC 10AC_PROG_CPP 11 12dnl Where is the PAM header file? 13 14AC_MSG_CHECKING([for pam header files in]) 15AC_TRY_CPP([#include <security/pam_appl.h>], 16 [pam_inc=security 17 AC_DEFINE(HAVE_SECURITY_PAM_APPL_H,[1], 18 [pam_appl.h in /usr/include/security])], 19AC_TRY_CPP([#include <pam/pam_appl.h>], 20 [pam_inc=pam 21 AC_DEFINE(HAVE_PAM_PAM_APPL_H,[1], 22 [pam_appl.h in /usr/include/pam])], 23[pam_inc=no])) 24AC_MSG_RESULT([$pam_inc]) 25if test $pam_inc = no; then 26 AC_MSG_ERROR([cannot find the pam_appl.h file]) 27fi 28pam_appl_h="@%:@include <$pam_inc/pam_appl.h>" 29 30# This variable is only used in the tests and is not passed to the Makefile 31LIBS="-lpam $LIBS" 32 33# Checks if the pam library supports the environment handling functions 34AC_CHECK_FUNCS(pam_getenv) 35 36AC_CACHE_CHECK([if pam_strerror takes a pam_handle_t argument], 37[ac_cv_pam_strerror_needs_pamh], 38AC_TRY_COMPILE([$pam_appl_h], 39[pam_handle_t *pamh; 40pam_strerror(pamh, PAM_SUCCESS)], 41[ac_cv_pam_strerror_needs_pamh=yes], 42[ac_cv_pam_strerror_needs_pamh=no])) 43if test "$ac_cv_pam_strerror_needs_pamh" = yes; then 44 AC_DEFINE(PAM_STRERROR_NEEDS_PAMH,[1], 45 [Checks if pam_strerror() takes a pam_handle]) 46fi 47 48dnl Checks for various PAM constants 49AC_DEFUN(AC_CHECK_PAM_CONST, 50[AC_CACHE_CHECK(for $1, ac_cv_have_$1, 51AC_TRY_COMPILE([$pam_appl_h], 52[int i = $1], 53[ac_cv_have_$1=yes], [ac_cv_have_$1=no])) 54if test "$ac_cv_have_$1" = yes; then 55 AC_DEFINE_UNQUOTED(HAVE_$1,[1],[Is the symbol $1 defined?]) 56fi 57]) 58 59AC_CHECK_PAM_CONST(PAM_AUTHTOKEN_REQD) 60AC_CHECK_PAM_CONST(PAM_NEW_AUTHTOK_REQD) 61AC_CHECK_PAM_CONST(PAM_AUTHTOK_EXPIRED) 62AC_CHECK_PAM_CONST(PAM_AUTHTOK_RECOVER) 63AC_CHECK_PAM_CONST(PAM_AUTHTOK_RECOVERY) 64AC_CHECK_PAM_CONST(PAM_BAD_ITEM) 65AC_CHECK_PAM_CONST(PAM_CONV_AGAIN) 66AC_CHECK_PAM_CONST(PAM_CRED_DELETE) 67AC_CHECK_PAM_CONST(PAM_CRED_ESTABLISH) 68AC_CHECK_PAM_CONST(PAM_CRED_REFRESH) 69AC_CHECK_PAM_CONST(PAM_CRED_REINITIALIZE) 70AC_CHECK_PAM_CONST(PAM_DELETE_CRED) 71AC_CHECK_PAM_CONST(PAM_ESTABLISH_CRED) 72AC_CHECK_PAM_CONST(PAM_REFRESH_CRED) 73AC_CHECK_PAM_CONST(PAM_REINITIALIZE_CRED) 74AC_CHECK_PAM_CONST(PAM_INCOMPLETE) 75AC_CHECK_PAM_CONST(PAM_MODULE_UNKNOWN) 76AC_CHECK_PAM_CONST(PAM_RADIO_TYPE) 77AC_CHECK_PAM_CONST(PAM_BINARY_PROMPT) 78 79# Checks if the dl library supports the RTLD_GLOBAL flag 80# but only if perl was compiled with the dl_open library 81 82if perl -V:dlsrc | grep dlopen >/dev/null 2>&1 83then 84 AC_CHECK_DECL([RTLD_GLOBAL], 85 [DL_LOAD_FLAGS='sub dl_load_flags { 0x01 }'], 86 [DL_LOAD_FLAGS=''], 87 [#include<dlfcn.h>]) 88else 89 DL_LOAD_FLAGS='' 90fi 91AC_SUBST(DL_LOAD_FLAGS) 92 93AC_CONFIG_FILES([pam.cfg PAM.pm]) 94AC_OUTPUT 95