| 1 | # $Id$ |
|---|
| 2 | |
|---|
| 3 | # Require autoconf 2.52 |
|---|
| 4 | AC_PREREQ(2.52) |
|---|
| 5 | |
|---|
| 6 | # Process this file with autoconf to produce a configure script. |
|---|
| 7 | AC_INIT(pam_pkcs11, [0.6.8]) |
|---|
| 8 | AC_CONFIG_SRCDIR([src/pam_pkcs11/pam_pkcs11.c]) |
|---|
| 9 | AC_CANONICAL_TARGET([]) |
|---|
| 10 | AM_INIT_AUTOMAKE |
|---|
| 11 | AC_CONFIG_HEADERS([config.h]) |
|---|
| 12 | |
|---|
| 13 | # silent build by default |
|---|
| 14 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) |
|---|
| 15 | |
|---|
| 16 | AM_MAINTAINER_MODE |
|---|
| 17 | |
|---|
| 18 | AM_GNU_GETTEXT_VERSION([0.17]) |
|---|
| 19 | AM_GNU_GETTEXT([external]) |
|---|
| 20 | |
|---|
| 21 | dnl Add the languages which your application supports here. |
|---|
| 22 | ALL_LINGUAS="de fr nl pl pt_br ru tr" |
|---|
| 23 | |
|---|
| 24 | # Checks for programs. |
|---|
| 25 | AC_PROG_CC |
|---|
| 26 | AC_PROG_CXX |
|---|
| 27 | AM_PROG_LIBTOOL |
|---|
| 28 | AC_PROG_INSTALL |
|---|
| 29 | AC_PROG_LN_S |
|---|
| 30 | AM_PROG_LEX |
|---|
| 31 | AC_PROG_MAKE_SET |
|---|
| 32 | |
|---|
| 33 | # check enable_dependency_tracking configure option |
|---|
| 34 | AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) |
|---|
| 35 | |
|---|
| 36 | # Special check for pthread support |
|---|
| 37 | ACX_PTHREAD(, [ AC_MSG_ERROR([POSIX thread support required]) ]) |
|---|
| 38 | CC="$PTHREAD_CC" |
|---|
| 39 | |
|---|
| 40 | # Argument for debuging |
|---|
| 41 | AC_ARG_ENABLE(debug, |
|---|
| 42 | AC_HELP_STRING([--enable-debug], [add debugging code (default=yes)])) |
|---|
| 43 | if test "$enable_debug" = "no" -o "$enable_debug" = "false" |
|---|
| 44 | then |
|---|
| 45 | AC_MSG_WARN([Debugging support is completely disabled!]) |
|---|
| 46 | with_debug=no |
|---|
| 47 | else |
|---|
| 48 | AC_DEFINE(DEBUG, 1, [Define to 1 if you want to include debugging code.]) |
|---|
| 49 | with_debug=yes |
|---|
| 50 | fi |
|---|
| 51 | |
|---|
| 52 | # check for dlopen() in libdl |
|---|
| 53 | AC_SUBST(LIBDL) |
|---|
| 54 | AC_CHECK_LIB(dl, dlopen, |
|---|
| 55 | [LIBDL="$LIBDL -ldl"], |
|---|
| 56 | [AC_CHECK_FUNCS(dlopen,, [AC_MSG_ERROR(dlopen() not found)])]) |
|---|
| 57 | |
|---|
| 58 | # Add argument for using curl |
|---|
| 59 | AC_ARG_WITH(curl, |
|---|
| 60 | AC_HELP_STRING([--with-curl], [use curl (default=no)])) |
|---|
| 61 | if test "$with_curl" = "yes" -o "$with_curl" = "true" |
|---|
| 62 | then |
|---|
| 63 | AC_CHECK_LIB(curl, curl_easy_init, |
|---|
| 64 | [ |
|---|
| 65 | with_curl=yes |
|---|
| 66 | LIBS="$LIBS -lcurl" |
|---|
| 67 | ],[ |
|---|
| 68 | AC_MSG_WARN(Could not locate cURL library. cURL disabled) |
|---|
| 69 | with_curl=no |
|---|
| 70 | ]) |
|---|
| 71 | else |
|---|
| 72 | with_curl=no |
|---|
| 73 | fi |
|---|
| 74 | AC_SUBST(CURL_CFLAGS) |
|---|
| 75 | AC_SUBST(CURL_LIBS) |
|---|
| 76 | AM_CONDITIONAL(HAVE_CURL, test x$with_curl = xyes) |
|---|
| 77 | |
|---|
| 78 | # Add argument for defining configuration directory |
|---|
| 79 | AC_ARG_WITH(confdir, |
|---|
| 80 | AC_HELP_STRING([--with-confdir=DIR], |
|---|
| 81 | [directory containing pam_pkcs11.conf (default /etc/pam_pkcs11)]), |
|---|
| 82 | [confdir="${with_confdir}"], [confdir=false]) |
|---|
| 83 | if test x${confdir} = xfalse ; then |
|---|
| 84 | confdir="/etc/pam_pkcs11" |
|---|
| 85 | fi |
|---|
| 86 | AC_DEFINE_UNQUOTED(CONFDIR, "$confdir", [directory containing pam_pkcs11.conf (default /etc/pam_pkcs11)]) |
|---|
| 87 | AC_SUBST(confdir) |
|---|
| 88 | |
|---|
| 89 | # Add argument for using ldap |
|---|
| 90 | AC_ARG_WITH(ldap, |
|---|
| 91 | AC_HELP_STRING([--with-ldap], [use ldap (default=yes)])) |
|---|
| 92 | if test "$with_ldap" = "no" -o "$with_ldap" = "false" |
|---|
| 93 | then |
|---|
| 94 | with_ldap=no |
|---|
| 95 | else |
|---|
| 96 | AC_CHECK_LIB( ldap, ldap_init, |
|---|
| 97 | [ |
|---|
| 98 | with_ldap=yes |
|---|
| 99 | LIBS="$LIBS -lldap" |
|---|
| 100 | ],[ |
|---|
| 101 | AC_MSG_WARN([Cannot find LDAP libraries. LDAP support disabled]) |
|---|
| 102 | with_ldap=no |
|---|
| 103 | ]) |
|---|
| 104 | fi |
|---|
| 105 | if test "$with_ldap" \!= "no"; then |
|---|
| 106 | AC_CHECK_FUNCS(ldap_init ldap_initialize) |
|---|
| 107 | AC_CHECK_FUNCS(ldap_set_option ldap_get_option) |
|---|
| 108 | AC_CHECK_FUNCS(ldap_start_tls ldap_start_tls_s) |
|---|
| 109 | fi |
|---|
| 110 | AC_SUBST(LDAP_CFLAGS) |
|---|
| 111 | AC_SUBST(LDAP_LIBS) |
|---|
| 112 | AM_CONDITIONAL(HAVE_LDAP, test x$with_ldap = xyes) |
|---|
| 113 | |
|---|
| 114 | # Add argument for using libp11 |
|---|
| 115 | #AC_ARG_WITH(libp11, |
|---|
| 116 | # AC_HELP_STRING([--with-libp11], [use libp11 (default=yes)])) |
|---|
| 117 | #if test "$with_libp11" = "no" -o "$with_libp11" = "false" |
|---|
| 118 | #then |
|---|
| 119 | # with_libp11=no |
|---|
| 120 | #else |
|---|
| 121 | # AC_CHECK_LIB( p11, PKCS11_CTX_new, |
|---|
| 122 | # [ |
|---|
| 123 | # with_libp11=yes |
|---|
| 124 | # LIBS="$LIBS -lp11" |
|---|
| 125 | # ],[ |
|---|
| 126 | # AC_MSG_WARN([Cannot find LIBP11 library. Using direct Pkcs11 access]) |
|---|
| 127 | # with_libp11=no |
|---|
| 128 | # ]) |
|---|
| 129 | #fi |
|---|
| 130 | #AC_SUBST(LIBP11_CFLAGS) |
|---|
| 131 | #AC_SUBST(LIBP11_LIBS) |
|---|
| 132 | #AM_CONDITIONAL(HAVE_LIBP11, test x$with_libp11 = xyes) |
|---|
| 133 | |
|---|
| 134 | PKG_PROG_PKG_CONFIG |
|---|
| 135 | |
|---|
| 136 | # Check and set crypto paths |
|---|
| 137 | AC_ARG_WITH(nss, |
|---|
| 138 | AC_HELP_STRING([--with-nss], [use NSS instead of openSSL and raw PKCS 11 (default=no)])) |
|---|
| 139 | if test "$with_nss" = "yes" -o "$with_nss" = "true" |
|---|
| 140 | then |
|---|
| 141 | PKG_CHECK_MODULES(NSS, nss, [with_nss=yes], |
|---|
| 142 | [ AC_MSG_ERROR(could not locate NSS crypto library) ] ) |
|---|
| 143 | OPENSSL_CFLAGS= |
|---|
| 144 | OPENSSL_LIBS= |
|---|
| 145 | AC_SUBST(OPENSSL_CFLAGS) |
|---|
| 146 | AC_SUBST(OPENSSL_LIBS) |
|---|
| 147 | with_ssl=no |
|---|
| 148 | else |
|---|
| 149 | PKG_CHECK_MODULES(OPENSSL, openssl, [with_ssl=yes ], |
|---|
| 150 | [ AC_MSG_ERROR(openssl not found) ]) |
|---|
| 151 | NSS_CFLAGS= |
|---|
| 152 | NSS_LIBS= |
|---|
| 153 | AC_SUBST(NSS_CFLAGS) |
|---|
| 154 | AC_SUBST(NSS_LIBS) |
|---|
| 155 | with_nss=no |
|---|
| 156 | fi |
|---|
| 157 | AM_CONDITIONAL(HAVE_NSS, test x$with_nss = xyes) |
|---|
| 158 | if test "$with_nss" = "yes" |
|---|
| 159 | then |
|---|
| 160 | CRYPTO_CFLAGS="${NSS_CFLAGS}-DHAVE_NSS" |
|---|
| 161 | CRYPTO_LIBS=${NSS_LIBS} |
|---|
| 162 | else |
|---|
| 163 | CRYPTO_CFLAGS=${OPENSSL_CFLAGS} |
|---|
| 164 | CRYPTO_LIBS=${OPENSSL_LIBS} |
|---|
| 165 | fi |
|---|
| 166 | AC_SUBST(CRYPTO_CFLAGS) |
|---|
| 167 | AC_SUBST(CRYPTO_LIBS) |
|---|
| 168 | |
|---|
| 169 | |
|---|
| 170 | # Check for PCSC-Lite |
|---|
| 171 | AC_ARG_WITH(pcsclite, |
|---|
| 172 | AC_HELP_STRING([--without-pcsclite], [Do not use pcsc-lite (default=yes)]), |
|---|
| 173 | [], [ with_pcsclite=yes ]) |
|---|
| 174 | |
|---|
| 175 | if test "$with_pcsclite" != "no"; then |
|---|
| 176 | OLD_CFLAGS="$CFLAGS" |
|---|
| 177 | OLD_LIBS="$LIBS" |
|---|
| 178 | with_pcsclite=yes |
|---|
| 179 | |
|---|
| 180 | PKG_CHECK_MODULES(PCSC, [libpcsclite], , |
|---|
| 181 | [ if test -f /usr/local/lib/pkgconfig/libpcsclite.pc ; then |
|---|
| 182 | AC_MSG_ERROR([use PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure]) |
|---|
| 183 | fi |
|---|
| 184 | ]) |
|---|
| 185 | |
|---|
| 186 | CFLAGS="$CFLAGS $PCSC_CFLAGS" |
|---|
| 187 | AC_CHECK_HEADER(winscard.h,, |
|---|
| 188 | [AC_MSG_ERROR([winscard.h not found, install pcsc-lite, or use PCSC_CFLAGS=... ./configure])], |
|---|
| 189 | [ #include <winscard.h> ]) |
|---|
| 190 | |
|---|
| 191 | LIBS="$LDLIBS $PCSC_LIBS" |
|---|
| 192 | AC_CHECK_FUNC(SCardEstablishContext, , |
|---|
| 193 | [AC_MSG_ERROR([SCardEstablishContext() not found, install pcsc-lite or later,or use PCSC_LIBS=... ./configure])]) |
|---|
| 194 | |
|---|
| 195 | LIBS="$OLD_LIBS" |
|---|
| 196 | CFLAGS="$OLD_CFLAGS" |
|---|
| 197 | else |
|---|
| 198 | AC_MSG_WARN([pcsc-lite disabled]) |
|---|
| 199 | fi |
|---|
| 200 | AC_SUBST(PCSC_CFLAGS) |
|---|
| 201 | AC_SUBST(PCSC_LIBS) |
|---|
| 202 | AM_CONDITIONAL(HAVE_PCSC, test "x$with_pcsclite" = "xyes") |
|---|
| 203 | |
|---|
| 204 | # Check for SGML processor |
|---|
| 205 | AC_ARG_WITH(docbook, |
|---|
| 206 | AC_HELP_STRING([--without-docbook], [do not generate html manual (needs docbook)]), |
|---|
| 207 | with_docbook=$withval) |
|---|
| 208 | if test "$with_docbook" = "no" -o "$with_docbook" = "false" |
|---|
| 209 | then |
|---|
| 210 | with_docbook=no |
|---|
| 211 | else |
|---|
| 212 | AC_CHECK_PROG(XSLTPROC, xsltproc, xsltproc) |
|---|
| 213 | if test "x$XSLTPROC" = "x"; then |
|---|
| 214 | if test "x$with_docbook" = "xyes"; then |
|---|
| 215 | AC_MSG_ERROR([Docbook support requested, but cannot find xsltproc]) |
|---|
| 216 | fi |
|---|
| 217 | with_docbook=no |
|---|
| 218 | else |
|---|
| 219 | with_docbook=yes |
|---|
| 220 | fi |
|---|
| 221 | fi |
|---|
| 222 | AM_CONDITIONAL(HAVE_DOCBOOK, test "x$with_docbook" != "xno") |
|---|
| 223 | |
|---|
| 224 | # Checks for libraries. |
|---|
| 225 | AC_CHECK_LIB(pam, pam_get_item, , AC_MSG_ERROR(could not locate pam libraries)) |
|---|
| 226 | |
|---|
| 227 | # Checks for header files. |
|---|
| 228 | AC_HEADER_STDC |
|---|
| 229 | AC_CHECK_HEADERS([string.h syslog.h fcntl.h unistd.h error.h]) |
|---|
| 230 | if test "x$with_ldap" = "xyes"; then |
|---|
| 231 | AC_CHECK_HEADERS([ldap.h]) |
|---|
| 232 | fi |
|---|
| 233 | if test "x$with_curl" = "xyes"; then |
|---|
| 234 | AC_CHECK_HEADERS([curl/curl.h]) |
|---|
| 235 | fi |
|---|
| 236 | if test "x$with_libp11" = "xyes"; then |
|---|
| 237 | AC_CHECK_HEADERS([libp11.h]) |
|---|
| 238 | fi |
|---|
| 239 | AC_CHECK_HEADERS([security/pam_ext.h]) |
|---|
| 240 | |
|---|
| 241 | # Checks for typedefs, structures, and compiler characteristics. |
|---|
| 242 | AC_C_CONST |
|---|
| 243 | AC_TYPE_SIZE_T |
|---|
| 244 | |
|---|
| 245 | # Checks for library functions. |
|---|
| 246 | AC_FUNC_MALLOC |
|---|
| 247 | AC_FUNC_REALLOC |
|---|
| 248 | AC_FUNC_STAT |
|---|
| 249 | AC_FUNC_VPRINTF |
|---|
| 250 | AC_CHECK_FUNCS([memset strdup strerror strndup daemon]) |
|---|
| 251 | |
|---|
| 252 | |
|---|
| 253 | AC_CONFIG_FILES([ |
|---|
| 254 | Makefile |
|---|
| 255 | po/Makefile.in |
|---|
| 256 | doc/Makefile |
|---|
| 257 | doc/pam_pkcs11.8 |
|---|
| 258 | doc/doxygen.conf |
|---|
| 259 | etc/Makefile |
|---|
| 260 | etc/pam.d_login.example |
|---|
| 261 | etc/pam_pkcs11.conf.example |
|---|
| 262 | src/Makefile |
|---|
| 263 | src/scconf/Makefile |
|---|
| 264 | src/common/Makefile |
|---|
| 265 | src/common/rsaref/Makefile |
|---|
| 266 | src/tools/Makefile |
|---|
| 267 | src/mappers/Makefile |
|---|
| 268 | src/pam_pkcs11/Makefile |
|---|
| 269 | tools/Makefile |
|---|
| 270 | ]) |
|---|
| 271 | AC_OUTPUT |
|---|
| 272 | |
|---|
| 273 | A=`eval echo ${prefix}` ; A=`eval echo ${A}` |
|---|
| 274 | B=`eval echo ${bindir}` ; B=`eval echo ${B}` |
|---|
| 275 | C=`eval echo ${sysconfdir}` ; C=`eval echo ${C}` |
|---|
| 276 | D=`eval echo ${libdir}` ; D=`eval echo ${D}` |
|---|
| 277 | |
|---|
| 278 | echo "" |
|---|
| 279 | echo "PAM-PKCS#11 has been configured with the following options" |
|---|
| 280 | |
|---|
| 281 | echo "" |
|---|
| 282 | echo "Version: ${PACKAGE_VERSION}" |
|---|
| 283 | echo "User binaries: ${B}" |
|---|
| 284 | echo "Configuration files: ${C}" |
|---|
| 285 | echo "libdir: ${D}" |
|---|
| 286 | echo "" |
|---|
| 287 | echo "Host: ${host}" |
|---|
| 288 | echo "Compiler: ${CC}" |
|---|
| 289 | echo "Compiler flags: ${CFLAGS}" |
|---|
| 290 | echo "Preprocessor flags: ${CPPFLAGS}" |
|---|
| 291 | echo "Linker flags: ${LDFLAGS}" |
|---|
| 292 | echo "Libraries: ${LIBS}" |
|---|
| 293 | |
|---|
| 294 | echo "" |
|---|
| 295 | echo "Debugging: ${with_debug}" |
|---|
| 296 | echo "DocBook support: ${with_docbook}" |
|---|
| 297 | echo "PC/SC support: ${with_pcsclite}" |
|---|
| 298 | echo "CURL support: ${with_curl}" |
|---|
| 299 | echo "LDAP support: ${with_ldap}" |
|---|
| 300 | echo "NSS support: ${with_nss}" |
|---|
| 301 | echo "OPENSSL support: ${with_ssl}" |
|---|
| 302 | echo "confdir: ${confdir}" |
|---|
| 303 | #echo "LIBP11 support: ${with_libp11}" |
|---|
| 304 | echo "" |
|---|