root/releases/opensc-0.11.0/configure.in

Revision 2936, 10.7 KB (checked in by aj, 3 years ago)

release opensc 0.11.0

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1dnl -*- mode: m4; -*-
2dnl Process this file with autoconf to produce a configure script.
3
4# Require autoconf 2.52
5AC_PREREQ(2.52)
6
7AC_INIT(opensc, [0.11.0])
8AM_INIT_AUTOMAKE
9AM_CONFIG_HEADER(config.h)
10
11AC_CONFIG_SRCDIR(src/libopensc/sc.c)
12
13# LT Version numbers, remember to change them just *before* a release.
14#   (Code changed:                      REVISION++)
15#   (Interfaces added/removed/changed:  CURRENT++, REVISION=0)
16#   (Interfaces added:                  AGE++)
17#   (Interfaces removed:                AGE=0)
18OPENSC_LT_CURRENT=2
19OPENSC_LT_REVISION=0
20OPENSC_LT_AGE=0
21
22AC_SUBST(OPENSC_LT_CURRENT)
23AC_SUBST(OPENSC_LT_REVISION)
24AC_SUBST(OPENSC_LT_AGE)
25
26AC_CANONICAL_HOST
27AC_PROG_CC
28AC_C_BIGENDIAN
29
30dnl Check for some target-specific stuff
31case "$host" in
32*-*-hpux*)
33        CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED"
34        ;;
35*-*-solaris*)
36        CPPFLAGS="$CPPFLAGS -I/usr/local/include"
37        LDFLAGS="$LDFLAGS -L/usr/local/lib -R/usr/local/lib"
38        need_dash_r=1
39        ;;
40*-*-sunos4*)
41        CPPFLAGS="$CPPFLAGS -DSUNOS4"
42        ;;
43*-*-aix*)
44        CPPFLAGS="$CPPFLAGS -I/usr/local/include"
45        LDFLAGS="$LDFLAGS -L/usr/local/lib"
46        if (test "$LD" != "gcc" && test -z "$blibpath"); then
47                blibpath="/usr/lib:/lib:/usr/local/lib"
48        fi
49        ;;
50*-*-osf*)
51        CPPFLAGS="$CPPFLAGS -D_POSIX_PII_SOCKET"
52        ;;
53*-*-darwin*)
54        LIBS="$LIBS -Wl,-framework,CoreFoundation"
55        if test "$GCC" = "yes"; then
56                CFLAGS="$CFLAGS -no-cpp-precomp"
57        fi
58        with_bundles=yes
59        ;;
60esac
61
62dnl Options
63AM_MAINTAINER_MODE
64
65dnl Checks for programs.
66AC_PROG_CPP
67AC_PROG_INSTALL
68AC_PROG_LN_S
69AC_PROG_MAKE_SET
70AM_PROG_LEX
71AC_PATH_PROG(TEST_MINUS_S_SH, bash)
72AC_PATH_PROG(TEST_MINUS_S_SH, ksh)
73AC_PATH_PROG(TEST_MINUS_S_SH, sh)
74
75dnl Add libtool support.
76AM_PROG_LIBTOOL
77
78dnl C Compiler features
79AC_C_INLINE
80if test "$GCC" = "yes"; then
81        CFLAGS="-Wall -fno-strict-aliasing $CFLAGS"
82fi
83
84dnl Checks for header files.
85AC_HEADER_STDC
86AC_HEADER_SYS_WAIT
87AC_CHECK_HEADERS([errno.h fcntl.h malloc.h stdlib.h inttypes.h string.h strings.h sys/time.h unistd.h locale.h getopt.h dlfcn.h utmp.h])
88
89dnl Checks for typedefs, structures, and compiler characteristics.
90AC_C_CONST
91AC_TYPE_UID_T
92AC_TYPE_SIZE_T
93AC_HEADER_TIME
94
95dnl Checks for library functions.
96AC_FUNC_ERROR_AT_LINE
97AC_FUNC_STAT
98AC_FUNC_VPRINTF
99AC_CHECK_FUNCS([getpass gettimeofday memset mkdir strdup strerror setutent vsyslog setlocale])
100
101AC_CHECK_HEADERS([zlib.h],[LIBS="$LIBS -lz"])
102
103dnl Special check for pthread support.
104ACX_PTHREAD(
105[
106 AC_DEFINE(HAVE_PTHREAD,1,
107  [Define if you have POSIX threads libraries and header files.])
108], [
109 AC_MSG_ERROR([POSIX thread support required])
110])
111LIBS="$PTHREAD_LIBS $LIBS"
112CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
113CC="$PTHREAD_CC"
114
115dnl See if socket() is found from libsocket
116AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket" ac_cv_func_socket_in_lsocket=yes], ac_cv_func_socket_in_lsocket=no)
117
118ac_cv_func_res_query_in_lresolv=no
119if test x$ac_cv_func_socket_in_lsocket = xyes; then
120  AC_CHECK_LIB(resolv, res_query, [LIBS="$LIBS -lresolv" ac_cv_func_res_query_in_lresolv=yes])
121fi
122
123AC_SUBST(GETOPTSRC)
124AC_CHECK_FUNC(getopt_long, AC_DEFINE(HAVE_GETOPT_LONG, 1, [Define if you have the `getopt_long' function.]),
125              [GETOPTSRC="$GETOPTSRC \$(top_srcdir)/src/common/my_getopt.c"
126               CPPFLAGS="-I\$(top_srcdir)/src/common $CPPFLAGS"
127               AC_DEFINE(HAVE_GETOPT_H, 1, [Define if you have the <getopt.h> header file.])])
128
129AC_CHECK_HEADERS([readline/readline.h])
130AC_SUBST(LIBREADLINE)
131saved_LIBS="$LIBS"
132# libreadline will also need libtermcap on some OSes
133for add in "" "-ltermcap"; do
134        if test "x$add" != x; then
135                AC_MSG_CHECKING([for readline with])
136                AC_MSG_RESULT($add)
137        fi
138        LIBS="$saved_LIBS $add"
139        unset ac_cv_lib_readline_readline
140        AC_CHECK_LIB(readline, readline, [
141                LIBREADLINE="-lreadline $add"
142                ac_cv_func_readline_lreadline=yes
143        ], ac_cv_func_readline_lreadline=no)
144        test "x$ac_cv_func_readline_lreadline" = xyes && break
145done
146LIBS="$LIBS $LIBREADLINE"
147AC_CHECK_FUNCS(readline)
148LIBS="$saved_LIBS"
149
150AC_ARG_WITH(flex-dir,
151        AC_HELP_STRING([--with-flex-dir=PATH],[Specify path to flex installation]),
152        [
153                if test "x$withval" != "xno" ; then
154                        tryflexdir=$withval
155                fi
156        ]
157)
158
159saved_LDFLAGS="$LDFLAGS"
160saved_CPPFLAGS="$CPPFLAGS"
161AC_SUBST(LIBFL)
162AC_CACHE_CHECK([for flex directory], ac_cv_flexdir, [
163        for flexdir in $tryflexdir "" /usr/local/flex /usr/lib/flex /usr/local/flex /usr/lib/flex /usr/local /usr/pkg /opt /opt/flex ; do
164                # Skip directories if they don't exist
165                if test ! -z "$flexdir" -a ! -d "$flexdir/" ; then
166                        continue;
167                fi
168
169                LIBFL="-lfl"
170                CPPFLAGS="$saved_CPPFLAGS"
171                LDFLAGS="$saved_LDFLAGS"
172                if test ! -z "$flexdir" -a "x$flexdir" != "x/usr"; then
173                        LDFLAGS="-L$flexdir/lib $saved_LDFLAGS"
174                        if test ! -z "$need_dash_r" ; then
175                                LDFLAGS="-R$flexdir/lib $LDFLAGS"
176                        fi
177                        CPPFLAGS="-I$flexdir/include $saved_CPPFLAGS"
178                fi
179                break;
180        done
181
182        if test -z "$flexdir" ; then
183                flexdir="(system)"
184        fi
185        ac_cv_flexdir=$flexdir
186])
187
188dnl use ltdl
189AC_LIB_LINKFLAGS(ltdl)
190
191saved_LIBS="$LIBS"
192LIBS="$saved_LIBS $LIBLTDL"
193AC_CHECK_HEADER([ltdl.h], [AC_MSG_RESULT([yes])],
194   [ AC_MSG_ERROR([ltdl.h not found, please install libltdl and/or libtool]) ])
195LIBS="$saved_LIBS"
196
197PKG_CHECK_MODULES(OPENCT, [libopenct], [
198        OPENCT_MSG=yes
199        AC_DEFINE(HAVE_OPENCT, 1, [Have OpenCT libraries and header files])
200        ], [
201        OPENCT_MSG=no
202        ])
203AC_SUBST(OPENCT_CFLAGS)
204AC_SUBST(OPENCT_LIBS)
205
206AM_CONDITIONAL(HAVE_OPENCT, test "x$OPENCT_MSG" = "xyes")
207
208PKG_CHECK_MODULES(OPENSSL, [openssl], [
209        OPENSSL_MSG=yes
210        AC_DEFINE(HAVE_OPENSSL, 1, [Have OpenSSL libraries and header files])
211        ], [
212        OPENSSL_MSG=no
213        ])
214AC_SUBST(OPENSSL_CFLAGS)
215AC_SUBST(OPENSSL_LIBS)
216
217AM_CONDITIONAL(HAVE_OPENSSL, test "x$OPENSSL_MSG" = "xyes")
218
219PKG_CHECK_MODULES(PCSC, [libpcsclite], [
220        PCSC_MSG=yes
221        AC_DEFINE(HAVE_PCSC, 1, [Have PC/SC implementation])
222        ], [
223        PCSC_MSG=no
224        ])
225AC_SUBST(PCSC_CFLAGS)
226AC_SUBST(PCSC_LIBS)
227
228case "$host" in
229*-*-darwin*)
230        if test -z "$PCSC_LIBS" -a -z "$PCSC_LIBS"
231        then
232                PCSC_MSG=yes
233                PCSC_CFLAGS=""
234                PCSC_LIBS="-Wl,-framework,PCSC"
235
236                # overwrite autoconf cached variables, too.
237                ac_env_PCSC_CFLAGS_set=${PCSC_CFLAGS+set}
238                ac_env_PCSC_CFLAGS_value=$PCSC_CFLAGS
239                ac_cv_env_PCSC_CFLAGS_set=${PCSC_CFLAGS+set}
240                ac_cv_env_PCSC_CFLAGS_value=$PCSC_CFLAGS
241                ac_env_PCSC_LIBS_set=${PCSC_LIBS+set}
242                ac_env_PCSC_LIBS_value=$PCSC_LIBS
243                ac_cv_env_PCSC_LIBS_set=${PCSC_LIBS+set}
244                ac_cv_env_PCSC_LIBS_value=$PCSC_LIBS
245
246                # header files are included via PCSC/*
247                AC_DEFINE(PCSC_INCLUDES_IN_PCSC, 1, [Header files in PCSC subdirectory])
248                AC_DEFINE(HAVE_PCSC, 1 , [Have PC/SC implementation])
249        fi
250        ;;
251esac
252
253AM_CONDITIONAL(HAVE_PCSC, test "x$PCSC_MSG" = "xyes")
254
255saved_LIBS="$LIBS"
256saved_CFLAGS="$CFLAGS"
257if test "x$PCSC_MSG" = "xyes"; then
258        CFLAGS="${PCSC_CFLAGS} $saved_CFLAGS"
259        LIBS="$PCSC_LIBS $saved_LIBS"
260        AC_TRY_LINK([
261#include <stdlib.h>
262#ifdef PCSC_INCLUDES_IN_PCSC
263#include <PCSC/wintypes.h>
264#include <PCSC/winscard.h>
265#else
266#include <winscard.h>
267#endif
268        ], [
269SCardControl(NULL, NULL, 0, NULL, NULL);
270        ], [
271                AC_DEFINE(HAVE_PCSC_OLD, 1, [old version of pc/sc-lite])
272        ])
273fi
274LIBS="$saved_LIBS"
275CFLAGS="$saved_CFLAGS"
276
277# check for reader.h
278saved_CFLAGS="$CFLAGS"
279CFLAGS="$CFLAGS $PCSC_CFLAGS"
280AC_CHECK_HEADER(reader.h,
281        [AC_DEFINE([HAVE_READER_H], 1, [Define if pcsc-lite with reader.h exists])],
282        [AC_MSG_WARN([reader.h not found, install pcsc-lite 1.2.9-beta8 or later, or use PCSC_CFLAGS=... ./configure])],
283        [ #include <reader.h>])
284CFLAGS="$saved_CFLAGS"
285
286dnl AM_PATH_LIBASSUAN([MINIMUM-VERSION,
287dnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
288dnl Test for libassuan and define LIBASSUAN_CFLAGS and LIBASSUAN_LIBS
289AM_PATH_LIBASSUAN( , [
290        AM_CONDITIONAL(HAVE_ASSUAN, true)
291        ASSUAN_MSG=yes
292        ],
293        [
294        AM_CONDITIONAL(HAVE_ASSUAN, false)
295        ASSUAN_MSG=no
296        ])
297AC_SUBST(ASSUAN_CFLAGS)
298AC_SUBST(ASSUAN_LIBS)
299
300PLUGINDIR="/usr/lib/mozilla/plugins"
301AC_ARG_WITH(plugin-dir,
302        AC_HELP_STRING([--with-plugin-dir=PATH], [install Mozilla plugin to PATH [[/usr/lib/mozilla/plugins]]]),
303        [
304                PLUGINDIR="$withval"
305        ]
306)
307AC_SUBST(PLUGINDIR)
308
309# Check for PIN entry program used by OpenSC Signer
310PIN_ENTRY="/usr/local/bin/gpinentry"
311AC_ARG_WITH(pin-entry,
312        AC_HELP_STRING([--with-pin-entry=PROG],[Run PROG as PIN-entry for OpenSC Signer]),
313        [
314                if test ! -z "$withval" -a "x$withval" != "xno" ; then
315                        PIN_ENTRY="$withval"
316                fi
317        ]
318)
319AC_DEFINE_UNQUOTED(PIN_ENTRY, "$PIN_ENTRY", [PIN-entry program for OpenSC Signer])
320
321if test "x$prefix" = xNONE; then
322  prefix=$ac_default_prefix
323fi
324if test "x$exec_prefix" = xNONE; then
325  exec_prefix='${prefix}'
326fi
327
328dnl Enable/disable debugging messages.
329AC_ARG_ENABLE(debug,
330        AC_HELP_STRING([--enable-debug], [enable debug messages. [[default=no]]]),
331        AC_DEFINE(DEBUG, 1, [Enable debug messages.]))
332
333CPPFLAGS="-I\${top_builddir}/src/include $CPPFLAGS"
334
335opensc_etc_path=`eval echo ${sysconfdir}` ; opensc_etc_path=`eval echo ${opensc_etc_path}`
336AC_DEFINE_UNQUOTED(OPENSC_ETC_PATH, "$opensc_etc_path", [etc path for libopensc])
337opensc_conf_path=`eval echo ${opensc_etc_path}/opensc.conf`
338AC_DEFINE_UNQUOTED(OPENSC_CONF_PATH, "$opensc_conf_path", [default config file for libopensc])
339
340AC_SUBST(LIBSCCONF)
341LIBSCCONF="\${top_builddir}/src/scconf/libscconf.la"
342AC_SUBST(LIBOPENSC)
343LIBOPENSC="\${top_builddir}/src/libopensc/libopensc.la"
344
345# Pass information about installed OpenSC requirements, so that
346# a proper opensc-config file will be build.
347OPENSC_LIBS="-L${libdir} -lopensc"
348OPENSC_CFLAGS=""
349AC_SUBST(OPENSC_LIBS)
350AC_SUBST(OPENSC_CFLAGS)
351
352pkgdata=`eval echo ${datadir}/${PACKAGE}` ; pkgdata=`eval echo ${pkgdata}`
353AC_SUBST(pkgdata)
354
355AC_OUTPUT([
356Makefile
357aclocal/Makefile
358doc/Makefile
359etc/Makefile
360man/Makefile
361src/Makefile
362src/common/Makefile
363src/include/Makefile
364src/include/opensc/Makefile
365src/include/opensc/rsaref/Makefile
366src/libopensc/Makefile
367src/libopensc/opensc-config
368src/libopensc/libopensc.pc
369src/libopensc/libpkcs15init.pc
370src/libopensc/libscconf.pc
371src/openssh/Makefile
372src/pkcs11/Makefile
373src/pkcs11/rsaref/Makefile
374src/pkcs15init/Makefile
375src/scconf/Makefile
376src/signer/Makefile
377src/signer/npinclude/Makefile
378src/tests/Makefile
379src/tests/regression/Makefile
380src/tools/Makefile
381win32/Makefile
382])
383
384A=`eval echo ${prefix}` ; A=`eval echo ${A}`
385B=`eval echo ${bindir}` ; B=`eval echo ${B}`
386C=`eval echo ${sysconfdir}` ; C=`eval echo ${C}`
387
388echo ""
389echo "OpenSC has been configured with the following options"
390
391echo ""
392echo "Version:             ${PACKAGE_VERSION}"
393echo "User binaries:       ${B}"
394echo "Configuration files: ${C}"
395
396echo ""
397echo "Host:                ${host}"
398echo "Compiler:            ${CC}"
399echo "Compiler flags:      ${CFLAGS}"
400echo "Preprocessor flags:  ${CPPFLAGS}"
401echo "Linker flags:        ${LDFLAGS}"
402echo "Libraries:           ${LIBS}"
403
404echo ""
405echo "OpenSSL support:          ${OPENSSL_MSG}"
406echo "PC/SC support:            ${PCSC_MSG}"
407echo "OpenCT support:           ${OPENCT_MSG}"
408echo "Assuan support:           ${ASSUAN_MSG}"
409echo ""
410
Note: See TracBrowser for help on using the browser.