root/releases/opensc-0.10.0/configure.in

Revision 2677, 10.9 KB (checked in by aj, 3 years ago)

create final release 0.10.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.10.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
300dnl enable/disable logging of sensitive apdu data
301AC_ARG_ENABLE(sensitive-logging,
302        AC_HELP_STRING([--disable-sensitive-logging], [disable logging of sensitive APDU data [default=no]]),
303        AC_DEFINE(OPENSC_DONT_LOG_SENSITIVE,1,[Disable logging of sensitive APDU data]))
304
305
306PLUGINDIR="/usr/lib/mozilla/plugins"
307AC_ARG_WITH(plugin-dir,
308        AC_HELP_STRING([--with-plugin-dir=PATH], [install Mozilla plugin to PATH [[/usr/lib/mozilla/plugins]]]),
309        [
310                PLUGINDIR="$withval"
311        ]
312)
313AC_SUBST(PLUGINDIR)
314
315# Check for PIN entry program used by OpenSC Signer
316PIN_ENTRY="/usr/local/bin/gpinentry"
317AC_ARG_WITH(pin-entry,
318        AC_HELP_STRING([--with-pin-entry=PROG],[Run PROG as PIN-entry for OpenSC Signer]),
319        [
320                if test ! -z "$withval" -a "x$withval" != "xno" ; then
321                        PIN_ENTRY="$withval"
322                fi
323        ]
324)
325AC_DEFINE_UNQUOTED(PIN_ENTRY, "$PIN_ENTRY", [PIN-entry program for OpenSC Signer])
326
327if test "x$prefix" = xNONE; then
328  prefix=$ac_default_prefix
329fi
330if test "x$exec_prefix" = xNONE; then
331  exec_prefix='${prefix}'
332fi
333
334dnl Enable/disable debugging messages.
335AC_ARG_ENABLE(debug,
336        AC_HELP_STRING([--enable-debug], [enable debug messages. [[default=no]]]),
337        AC_DEFINE(DEBUG, 1, [Enable debug messages.]))
338
339CPPFLAGS="-I\${top_builddir}/src/include $CPPFLAGS"
340
341opensc_etc_path=`eval echo ${sysconfdir}` ; opensc_etc_path=`eval echo ${opensc_etc_path}`
342AC_DEFINE_UNQUOTED(OPENSC_ETC_PATH, "$opensc_etc_path", [etc path for libopensc])
343opensc_conf_path=`eval echo ${opensc_etc_path}/opensc.conf`
344AC_DEFINE_UNQUOTED(OPENSC_CONF_PATH, "$opensc_conf_path", [default config file for libopensc])
345
346AC_SUBST(LIBSCCONF)
347LIBSCCONF="\${top_builddir}/src/scconf/libscconf.la"
348AC_SUBST(LIBOPENSC)
349LIBOPENSC="\${top_builddir}/src/libopensc/libopensc.la"
350
351# Pass information about installed OpenSC requirements, so that
352# a proper opensc-config file will be build.
353OPENSC_LIBS="-L${libdir} -lopensc"
354OPENSC_CFLAGS=""
355AC_SUBST(OPENSC_LIBS)
356AC_SUBST(OPENSC_CFLAGS)
357
358pkgdata=`eval echo ${datadir}/${PACKAGE}` ; pkgdata=`eval echo ${pkgdata}`
359AC_SUBST(pkgdata)
360
361AC_OUTPUT([
362Makefile
363aclocal/Makefile
364doc/Makefile
365doc/old/Makefile
366etc/Makefile
367man/Makefile
368src/Makefile
369src/common/Makefile
370src/include/Makefile
371src/include/opensc/Makefile
372src/include/opensc/rsaref/Makefile
373src/libopensc/Makefile
374src/libopensc/opensc-config
375src/libopensc/libopensc.pc
376src/libopensc/libpkcs15init.pc
377src/libopensc/libscconf.pc
378src/openssh/Makefile
379src/pkcs11/Makefile
380src/pkcs11/rsaref/Makefile
381src/pkcs15init/Makefile
382src/scconf/Makefile
383src/signer/Makefile
384src/signer/npinclude/Makefile
385src/tests/Makefile
386src/tests/regression/Makefile
387src/tools/Makefile
388win32/Makefile
389])
390
391A=`eval echo ${prefix}` ; A=`eval echo ${A}`
392B=`eval echo ${bindir}` ; B=`eval echo ${B}`
393C=`eval echo ${sysconfdir}` ; C=`eval echo ${C}`
394
395echo ""
396echo "OpenSC has been configured with the following options"
397
398echo ""
399echo "Version:             ${PACKAGE_VERSION}"
400echo "User binaries:       ${B}"
401echo "Configuration files: ${C}"
402
403echo ""
404echo "Host:                ${host}"
405echo "Compiler:            ${CC}"
406echo "Compiler flags:      ${CFLAGS}"
407echo "Preprocessor flags:  ${CPPFLAGS}"
408echo "Linker flags:        ${LDFLAGS}"
409echo "Libraries:           ${LIBS}"
410
411echo ""
412echo "OpenSSL support:          ${OPENSSL_MSG}"
413echo "PC/SC support:            ${PCSC_MSG}"
414echo "OpenCT support:           ${OPENCT_MSG}"
415echo "Assuan support:           ${ASSUAN_MSG}"
416echo ""
417
Note: See TracBrowser for help on using the browser.