]> www.average.org Git - pam_pcsc_cr.git/blob - configure.ac
configure.ac: remove sanitizer by default
[pam_pcsc_cr.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2
3 AC_INIT([pam_pcsc_cr],[0.9.6])
4 AC_CONFIG_SRCDIR([pam_pcsc_cr.c])
5 AC_CONFIG_MACRO_DIR([m4])
6 AM_INIT_AUTOMAKE
7 AC_CONFIG_HEADERS([config.h])
8 AC_LANG([C])
9 AC_PROG_CC
10
11 if test "X$CC" = "Xgcc"; then
12     CFLAGS="$CFLAGS -Wextra -Wall -Werror -Wno-unused-parameter -Wno-deprecated-declarations -fstack-protector-all $ASAN_FLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3"
13 else if test "X$CC" = "Xclang"; then
14   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"
15 fi; fi
16
17 AC_PROG_MAKE_SET
18 AC_SUBST(PROGS)dnl
19 AC_SUBST(LIBPROGS)dnl
20 AC_PROG_INSTALL
21 LT_INIT
22 PKG_PROG_PKG_CONFIG
23
24 AC_CHECK_HEADERS([security/pam_appl.h], [], [
25   AC_MSG_ERROR([[PAM headers not found]])
26 ])
27 AC_CHECK_HEADERS([security/pam_modules.h security/pam_ext.h], [], [], [
28 #include <sys/types.h>
29 #include <security/pam_appl.h>
30 ])
31 AC_CHECK_LIB([pam], [pam_start])
32 AC_CHECK_FUNCS([pam_get_authtok])
33 pamdir=/lib/${host_cpu}-${host_os}/security
34 AC_ARG_WITH(pam-dir,
35         [  --with-pam-dir=DIR      path to install the PAM module (${pamdir})],
36         [PAMDIR="$withval"],
37         [
38 case $prefix in
39 */_inst) PAMDIR="${prefix}${pamdir}" ;;
40 *)       PAMDIR=${pamdir} ;;
41 esac
42 ])
43 AC_SUBST(PAMDIR)
44 AC_MSG_NOTICE([Installation target PAMDIR=${PAMDIR}])
45
46 PKG_CHECK_MODULES([PCSC], [libpcsclite])
47 CPPFLAGS="$PCSC_CFLAGS $CPPFLAGS"
48 LIBS="$PCSC_LIBS $LIBS"
49
50 AC_ARG_ENABLE(openssl,
51         [  --disable-openssl       do not use openssl even when it is present],
52         [], [enable_openssl=yes]
53 )
54 AS_IF([test "x$enable_openssl" = "xyes"], [
55   PKG_CHECK_MODULES([OPENSSL], [libcrypto], [], [:])
56 ])
57 AS_IF([test "x$OPENSSL_CFLAGS" != "x" -o "x$OPENSSL_LIBS" != "x" ], [
58   use_openssl=yes
59 ])
60 CPPFLAGS="$OPENSSL_CFLAGS $CPPFLAGS"
61 LIBS="$OPENSSL_LIBS $LIBS"
62
63 AC_ARG_ENABLE(tomcrypt,
64         [  --enable-tomcrypt       use libtomcrypt even when openssl is present])
65
66 AS_IF([test "x$use_openssl" != "xyes" -o "x$enable_tomcrypt" = "xyes"], [
67   PKG_CHECK_MODULES([TOMCRYPT], [libtomcrypt], [], [:])
68 ])
69 AS_IF([test "x$TOMCRYPT_CFLAGS" != "x" -o "x$TOMCRYPT_LIBS" != "x" ], [
70   use_tomcrypt=yes
71 ])
72 CPPFLAGS="$TOMCRYPT_CFLAGS $CPPFLAGS"
73 LIBS="$TOMCRYPT_LIBS $LIBS"
74
75 AC_ARG_ENABLE(gcrypt,
76         [  --enable-gcrypt         use libgcrypt even when openssl or libtomcrypt
77                           is present])
78
79 AS_IF([test "x$use_openssl" != "xyes" && test "x$use_tomcrypt" != "xyes" || \
80         test "x$enable_gcrypt" = "xyes"], [
81   m4_ifdef([AM_PATH_LIBGCRYPT], [
82     AM_PATH_LIBGCRYPT()
83   ], [
84     m4_exit(1)
85   ])
86 ])
87 AS_IF([test "x$LIBGCRYPT_CFLAGS" != "x" -o "x$LIBGCRYPT_LIBS" != "x" ], [
88   use_gcrypt=yes
89 ])
90 CPPFLAGS="$LIBGCRYPT_CFLAGS $CPPFLAGS"
91 LIBS="$LIBGCRYPT_LIBS $LIBS"
92
93 AS_IF([test "x$use_openssl" != "xyes" -a "x$use_tomcrypt" != "xyes" -a "x$use_gcrypt" != "xyes"], [
94   AC_MSG_ERROR([[Neither openssl, tomcrypt or gcrypt libraries present]])
95 ])
96
97 AS_IF([test "x$use_openssl" = "xyes"], [
98   CRYPTO_OBJS+=" ossl_crypto.lo"
99   AC_DEFINE([HAVE_OPENSSL], [1], [Use openssl libcrypto])
100 ])
101 AS_IF([test "x$use_tomcrypt" = "xyes"], [
102   CRYPTO_OBJS+=" tom_crypto.lo"
103   AC_DEFINE([HAVE_TOMCRYPT], [1], [Use libtomcrypt])
104 ])
105 AS_IF([test "x$use_gcrypt" = "xyes"], [
106   CRYPTO_OBJS+=" gnu_crypto.lo"
107   AC_DEFINE([HAVE_GCRYPT], [1], [Use libgcrypt])
108 ])
109 AC_SUBST(CRYPTO_OBJS)
110
111 dnl Checks for header files.
112
113 AC_CHECK_HEADERS([winscard.h reader.h], [],
114   [AC_MSG_ERROR([[pcsclite headers not found]])])
115 AC_CHECK_LIB([pcsclite], [SCardEstablishContext], [],
116   [AC_MSG_ERROR([[pcsclite library not useable]])])
117
118 AC_CONFIG_FILES([Makefile])
119 AC_OUTPUT