1AC_PREREQ(2.60) 2 3define([PACKAGE_VERSION_MAJOR], [0]) 4define([PACKAGE_VERSION_MINOR], [3]) 5define([PACKAGE_VERSION_FIX], [1]) 6define([PACKAGE_SUFFIX], []) 7define([PRODUCT_BUGREPORT], [https://github.com/OpenSC/pam_p11/issues]) 8 9AC_INIT([pam_p11],[PACKAGE_VERSION_MAJOR.PACKAGE_VERSION_MINOR.PACKAGE_VERSION_FIX[]PACKAGE_SUFFIX],[PRODUCT_BUGREPORT]) 10AC_CONFIG_AUX_DIR([.]) 11AM_CONFIG_HEADER([config.h]) 12AC_CONFIG_MACRO_DIR([m4]) 13AM_INIT_AUTOMAKE 14 15AC_CONFIG_SRCDIR([src/pam_p11.c]) 16 17AC_CANONICAL_HOST 18AC_PROG_CC 19PKG_PROG_PKG_CONFIG 20AC_C_BIGENDIAN 21 22AC_ARG_ENABLE( 23 [strict], 24 [AS_HELP_STRING([--disable-strict],[disable strict compile mode @<:@enabled@:>@])], 25 , 26 [enable_strict="yes"] 27) 28 29AC_ARG_ENABLE( 30 [pedantic], 31 [AS_HELP_STRING([--enable-pedantic],[enable pedantic compile mode @<:@disabled@:>@])], 32 , 33 [enable_pedantic="no"] 34) 35 36AC_ARG_WITH( 37 [pamdir], 38 [AS_HELP_STRING([--with-pamdir=PATH],[Specify the directory where PAM modules are stored])], 39 [pamdir="${withval}"], 40 [ 41 if test "${prefix}" = "/usr"; then 42 pamdir="/lib${libdir##*/lib}/security" 43 else 44 pamdir="\$(libdir)/security" 45 fi 46 ] 47) 48 49AM_GNU_GETTEXT([external]) 50AM_GNU_GETTEXT_VERSION(0.18.3) 51 52dnl Add the languages which your application supports here. 53ALL_LINGUAS="de it" 54 55dnl Checks for programs. 56AC_PROG_CPP 57AC_PROG_INSTALL 58AC_PROG_LN_S 59AC_PROG_MKDIR_P 60AC_PROG_SED 61AC_PROG_MAKE_SET 62 63dnl Add libtool support. 64ifdef( 65 [LT_INIT], 66 [LT_INIT], 67 [AC_PROG_LIBTOOL] 68) 69 70PKG_CHECK_MODULES([LIBP11], [libp11 >= 0.2.4],, [AC_MSG_ERROR([libp11 is required])]) 71PKG_CHECK_MODULES( 72 [OPENSSL], 73 [libcrypto >= 0.9.7], 74 , 75 [PKG_CHECK_MODULES( 76 [OPENSSL], 77 [openssl >= 0.9.7], 78 , 79 [AC_CHECK_LIB( 80 [crypto], 81 [RSA_version], 82 [OPENSSL_LIBS="-lcrypto"], 83 [AC_MSG_ERROR([Cannot find OpenSSL])] 84 )] 85 )] 86) 87 88saved_LIBS="$LIBS" 89LIBS="$OPENSSL_LIBS $LIBS" 90AC_CHECK_FUNCS(EVP_MD_CTX_new EVP_MD_CTX_free EVP_MD_CTX_reset) 91LIBS="$saved_LIBS" 92 93if test -z "${PAM_LIBS}"; then 94 AC_ARG_VAR([PAM_CFLAGS], [C compiler flags for pam]) 95 AC_ARG_VAR([PAM_LIBS], [linker flags for pam]) 96 AC_CHECK_LIB( 97 [pam], 98 [pam_authenticate], 99 [PAM_LIBS="-lpam"], 100 [AC_MSG_ERROR([Cannot find pam])] 101 ) 102fi 103 104saved_CFLAGS="${CFLAGS}" 105CFLAGS="${CFLAGS} ${OPENSSL_CFLAGS} ${LIBP11_CFLAGS} ${PAM_CFLAGS}" 106LIBS="$LIBS ${OPENSSL_LIBS} ${LIBP11_LIBS} ${PAM_LIBS}" 107 108dnl Checks for header files. 109AC_HEADER_STDC 110AC_HEADER_SYS_WAIT 111AC_CHECK_HEADERS([ \ 112 string.h syslog.h fcntl.h unistd.h security/pam_ext.h security/pam_misc.h \ 113]) 114AC_TYPE_SIZE_T 115AC_FUNC_MALLOC 116AC_FUNC_REALLOC 117AC_FUNC_STAT 118AC_FUNC_VPRINTF 119AC_CHECK_FUNCS([memset strdup strerror PKCS11_enumerate_public_keys PKCS11_is_logged_in pam_vprompt openpam_ttyconv]) 120 121AC_CHECK_LIB([pam_misc], [misc_conv]) 122AM_CONDITIONAL([HAVE_PAM_MISC], [test "$ac_cv_lib_pam_misc_misc_conv" = yes]) 123 124CFLAGS="${saved_CFLAGS}" 125LIBS="$saved_LIBS" 126 127AC_SUBST([pamdir]) 128 129if test "${enable_pedantic}" = "yes"; then 130 enable_strict="yes"; 131 CFLAGS="${CFLAGS} -pedantic" 132fi 133if test "${enable_strict}" = "yes"; then 134 CFLAGS="${CFLAGS} -Wall -Wextra -Wno-unused-parameter -Werror" 135fi 136 137AC_CONFIG_FILES([ 138 Makefile 139 src/Makefile 140 po/Makefile.in 141]) 142AC_OUTPUT 143 144cat <<EOF 145 146pam_p11 has been configured with the following options: 147 148 149Version: ${PACKAGE_VERSION} 150Libraries: $(eval eval eval echo "${libdir}") 151 152Host: ${host} 153Compiler: ${CC} 154Preprocessor flags: ${CPPFLAGS} 155Compiler flags: ${CFLAGS} 156Linker flags: ${LDFLAGS} 157Libraries: ${LIBS} 158 159pamdir ${pamdir} 160 161PAM_CFLAGS: ${PAM_CFLAGS} 162PAM_LIBS: ${PAM_LIBS} 163LIBP11_CFLAGS: ${LIBP11_CFLAGS} 164LIBP11_LIBS: ${LIBP11_LIBS} 165OPENSSL_CFLAGS: ${OPENSSL_CFLAGS} 166OPENSSL_LIBS: ${OPENSSL_LIBS} 167 168EOF 169