root/releases/opensc-0.11.4/configure.in

Revision 3266, 11.4 KB (checked in by aj, 16 months ago)

Release 0.11.4 without further changes.

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