X-Git-Url: http://www.average.org/gitweb/?p=pam_pcsc_cr.git;a=blobdiff_plain;f=configure.ac;h=8adf9404d643a1b0b55a2af197e7d67e26714411;hp=4a9453d3126a62d7d791a95250141dbb4155a532;hb=HEAD;hpb=3d841899fe8859b2ce6af8fdfd8fa961c7651425 diff --git a/configure.ac b/configure.ac index 4a9453d..eb6ed65 100644 --- a/configure.ac +++ b/configure.ac @@ -1,46 +1,59 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([pam_pcsc_cr], 0.0.1) +AC_INIT([pam_pcsc_cr],[0.9.6]) AC_CONFIG_SRCDIR([pam_pcsc_cr.c]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE -AM_CONFIG_HEADER([config.h]) -AC_LANG_C +AC_CONFIG_HEADERS([config.h]) +AC_LANG([C]) AC_PROG_CC if test "X$CC" = "Xgcc"; then - CFLAGS="$CFLAGS -Wall" -fi + CFLAGS="$CFLAGS -Wextra -Wall -Werror -Wno-unused-parameter -Wno-deprecated-declarations -fstack-protector-all $ASAN_FLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3" +else if test "X$CC" = "Xclang"; then + CFLAGS="$CFLAGS -Wextra -Wall -Werror -Wno-unused-parameter -Wno-deprecated-declarations -Wformat -Wformat-security -fstack-protector-all $ASAN_FLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" +fi; fi AC_PROG_MAKE_SET AC_SUBST(PROGS)dnl AC_SUBST(LIBPROGS)dnl AC_PROG_INSTALL -AM_PROG_LIBTOOL +LT_INIT PKG_PROG_PKG_CONFIG -PKG_CHECK_MODULES([PCSC], [libpcsclite]) -AC_ARG_WITH(pcsclite-include-path, - [ --with-pcsclite-include-path=PATH path to pcsclite includes], - [PCSC_CFLAGS="-I $withval"], - []) -AC_ARG_WITH(pcsclite-lib-path, - [ --with-pcsclite-lib-path=PATH path to pcsclite libs], - [PCSC_LIBS="-L $withval -lpcsclite"], - []) +AC_CHECK_HEADERS([security/pam_appl.h], [], [ + AC_MSG_ERROR([[PAM headers not found]]) +]) +AC_CHECK_HEADERS([security/pam_modules.h security/pam_ext.h], [], [], [ +#include +#include +]) +AC_CHECK_LIB([pam], [pam_start]) +AC_CHECK_FUNCS([pam_get_authtok]) +pamdir=/lib/${host_cpu}-${host_os}/security +AC_ARG_WITH(pam-dir, + [ --with-pam-dir=DIR path to install the PAM module (${pamdir})], + [PAMDIR="$withval"], + [ +case $prefix in +*/_inst) PAMDIR="${prefix}${pamdir}" ;; +*) PAMDIR=${pamdir} ;; +esac +]) +AC_SUBST(PAMDIR) +AC_MSG_NOTICE([Installation target PAMDIR=${PAMDIR}]) +PKG_CHECK_MODULES([PCSC], [libpcsclite]) CPPFLAGS="$PCSC_CFLAGS $CPPFLAGS" LIBS="$PCSC_LIBS $LIBS" -PKG_CHECK_MODULES([OPENSSL], [libcrypto], [], [:]) -AC_ARG_WITH(openssl-include-path, - [ --with-openssl-include-path=PATH path to openssl includes], - [OPENSSL_CFLAGS="-I $withval"], - []) -AC_ARG_WITH(openssl-lib-path, - [ --with-openssl-lib-path=PATH path to openssl libs], - [OPENSSL_LIBS="-L $withval -lcrypto"], - []) +AC_ARG_ENABLE(openssl, + [ --disable-openssl do not use openssl even when it is present], + [], [enable_openssl=yes] +) +AS_IF([test "x$enable_openssl" = "xyes"], [ + PKG_CHECK_MODULES([OPENSSL], [libcrypto], [], [:]) +]) AS_IF([test "x$OPENSSL_CFLAGS" != "x" -o "x$OPENSSL_LIBS" != "x" ], [ use_openssl=yes ]) @@ -48,27 +61,37 @@ CPPFLAGS="$OPENSSL_CFLAGS $CPPFLAGS" LIBS="$OPENSSL_LIBS $LIBS" AC_ARG_ENABLE(tomcrypt, - [ --enable-tomcrypt use libtomcrypt even when openssl present]) + [ --enable-tomcrypt use libtomcrypt even when openssl is present]) AS_IF([test "x$use_openssl" != "xyes" -o "x$enable_tomcrypt" = "xyes"], [ PKG_CHECK_MODULES([TOMCRYPT], [libtomcrypt], [], [:]) ]) -AC_ARG_WITH(libtomcrypt-include-path, - [ --with-libtomcrypt-include-path=PATH path to libtomcrypt includes], - [TOMCRYPT_CFLAGS="-I $withval"], - []) -AC_ARG_WITH(libtomcrypt-lib-path, - [ --with-libtomcrypt-lib-path=PATH path to libtomcrypt libs], - [TOMCRYPT_LIBS="-L $withval -ltomcrypt"], - []) AS_IF([test "x$TOMCRYPT_CFLAGS" != "x" -o "x$TOMCRYPT_LIBS" != "x" ], [ use_tomcrypt=yes ]) CPPFLAGS="$TOMCRYPT_CFLAGS $CPPFLAGS" LIBS="$TOMCRYPT_LIBS $LIBS" -AS_IF([test "x$use_openssl" != "xyes" -a "x$use_tomcrypt" != "xyes"], [ - AC_MSG_ERROR([[Neither openssl nor tomcrypt libraries present]]) +AC_ARG_ENABLE(gcrypt, + [ --enable-gcrypt use libgcrypt even when openssl or libtomcrypt + is present]) + +AS_IF([test "x$use_openssl" != "xyes" && test "x$use_tomcrypt" != "xyes" || \ + test "x$enable_gcrypt" = "xyes"], [ + m4_ifdef([AM_PATH_LIBGCRYPT], [ + AM_PATH_LIBGCRYPT() + ], [ + m4_exit(1) + ]) +]) +AS_IF([test "x$LIBGCRYPT_CFLAGS" != "x" -o "x$LIBGCRYPT_LIBS" != "x" ], [ + use_gcrypt=yes +]) +CPPFLAGS="$LIBGCRYPT_CFLAGS $CPPFLAGS" +LIBS="$LIBGCRYPT_LIBS $LIBS" + +AS_IF([test "x$use_openssl" != "xyes" -a "x$use_tomcrypt" != "xyes" -a "x$use_gcrypt" != "xyes"], [ + AC_MSG_ERROR([[Neither openssl, tomcrypt or gcrypt libraries present]]) ]) AS_IF([test "x$use_openssl" = "xyes"], [ @@ -79,11 +102,13 @@ AS_IF([test "x$use_tomcrypt" = "xyes"], [ CRYPTO_OBJS+=" tom_crypto.lo" AC_DEFINE([HAVE_TOMCRYPT], [1], [Use libtomcrypt]) ]) +AS_IF([test "x$use_gcrypt" = "xyes"], [ + CRYPTO_OBJS+=" gnu_crypto.lo" + AC_DEFINE([HAVE_GCRYPT], [1], [Use libgcrypt]) +]) AC_SUBST(CRYPTO_OBJS) dnl Checks for header files. -AC_HEADER_STDC -AC_HEADER_TIME AC_CHECK_HEADERS([winscard.h reader.h], [], [AC_MSG_ERROR([[pcsclite headers not found]])])