1dnl WZD_LIB_PAM() 2dnl 3dnl Search for a useable version of the PAM client libs in a 4dnl number of common places. 5dnl 6dnl If we find a useable version, set WZD_PAM_INCLUDES and WZD_PAM_LIBS as 7dnl appropriate, and set the shell variable 'wzd_have_pam' to 8dnl 'yes'. Otherwise, set 'wzd_have_pam' to 'no'. 9 10AC_DEFUN([WZD_LIB_PAM], 11[ 12 AC_CHECK_HEADERS(pam/pam_appl.h security/pam_appl.h) 13 14# Check for PAM libs 15 wzd_have_pam=no 16 AC_ARG_WITH(pam, 17 [ --with-pam Enable PAM support ], 18 [ 19 if test "x$withval" != "x" -a "x$withval" != "xno" ; then 20 if test "x$ac_cv_header_security_pam_appl_h" != "xyes" && \ 21 test "x$ac_cv_header_pam_pam_appl_h" != "xyes" ; then 22 AC_MSG_ERROR([PAM headers not found]) 23 fi 24 AC_CHECK_HEADER(security/pam_misc.h) 25 if test "$ac_cv_header_security_pam_misc_h" = yes; then 26 AC_DEFINE(HAVE_PAM_MISC_H,,Have pam_misc.h) 27 AC_DEFINE(PAM_CONV_FUNC,misc_conv,Have misc_conv) 28 pam_conv_func="misc_conv" 29 fi 30 AC_CHECK_HEADER(security/pam_modules.h) 31 if test "$ac_cv_header_security_pam_modules_h" = yes; then 32 AC_DEFINE(HAVE_PAM_MODULES_H,,Have pam_modules.h) 33 fi 34 AC_CHECK_HEADER(security/openpam.h) 35 if test "$ac_cv_header_security_openpam_h" = yes; then 36 AC_DEFINE(HAVE_OPENPAM_H,,Have openpam.h) 37 AC_DEFINE(PAM_CONV_FUNC,openpam_ttyconv,Have openpam_ttyconv) 38 pam_conv_func="openpam_ttyconv" 39 fi 40 41 AC_CHECK_LIB(pam, pam_set_item, WZD_PAM_LIBS="-lpam" , AC_MSG_ERROR([*** libpam missing])) 42 dnl AC_CHECK_FUNCS(pam_getenvlist) 43 dnl AC_CHECK_FUNCS(pam_putenv) 44 45 if test -z "$ac_cv_header_security_pam_misc_h$ac_cv_header_security_openpam_h" ; then 46 AC_MSG_WARN([*** pam support will not be built ***]) 47 wzd_have_pam=no 48 AC_DEFINE(HAVE_PAM, 0, [Define if using pam]) 49 else 50 wzd_have_pam=yes 51 AC_DEFINE(HAVE_PAM, 1, [Define if using pam]) 52 fi 53 54 if test $ac_cv_lib_dl_dlopen = yes; then 55 WZD_PAM_LIBS="$WZD_PAM_LIBS -ldl" 56 fi 57 AC_SUBST(WZD_PAM_LIBS) 58 fi 59 ] 60 ) 61] 62) 63 64