root/releases/opensc-0.11.3/configure.in

Revision 3208, 10.7 KB (checked in by aj, 18 months ago)

Revert last change, breaks building opensc:
../../src/libopensc/.libs/libopensc.so: undefined reference to `lt_dlopen'
...

  • 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.3])
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
198AC_LIB_LINKFLAGS(ltdl)
199
200saved_LIBS="$LIBS"
201LIBS="$saved_LIBS $LIBLTDL"
202AC_CHECK_HEADER([ltdl.h], [AC_MSG_RESULT([yes])],
203   [ AC_MSG_ERROR([ltdl.h not found, please install libltdl and/or libtool]) ])
204LIBS="$saved_LIBS"
205
206OPENCT_MSG=no
207if test "x${ENABLE_OPENCT}" = "xyes"; then
208        PKG_CHECK_MODULES(OPENCT, [libopenct], [
209                OPENCT_MSG=yes
210                AC_DEFINE(HAVE_OPENCT, 1, [Have OpenCT libraries and header files])
211                ], [
212                OPENCT_MSG=no
213                ])
214        AC_SUBST(OPENCT_CFLAGS)
215        AC_SUBST(OPENCT_LIBS)
216fi
217
218AM_CONDITIONAL(HAVE_OPENCT, test "x$OPENCT_MSG" = "xyes")
219
220PKG_CHECK_MODULES(OPENSSL, [openssl], [
221        OPENSSL_MSG=yes
222        AC_DEFINE(HAVE_OPENSSL, 1, [Have OpenSSL libraries and header files])
223        ], [
224        OPENSSL_MSG=no
225        ])
226AC_SUBST(OPENSSL_CFLAGS)
227AC_SUBST(OPENSSL_LIBS)
228
229AM_CONDITIONAL(HAVE_OPENSSL, test "x$OPENSSL_MSG" = "xyes")
230
231PCSC_MSG=no
232if test "x${ENABLE_PCSC_LITE}" = "xyes"; then
233        PKG_CHECK_MODULES(PCSC, [libpcsclite], [
234                PCSC_MSG=yes
235                AC_DEFINE(HAVE_PCSC, 1, [Have PC/SC implementation])
236                ], [
237                PCSC_MSG=no
238                ])
239        AC_SUBST(PCSC_CFLAGS)
240        AC_SUBST(PCSC_LIBS)
241
242        case "$host" in
243        *-*-darwin*)
244                if test -z "$PCSC_LIBS" -a -z "$PCSC_LIBS"
245                then
246                        PCSC_MSG=yes
247                        PCSC_CFLAGS=""
248                        PCSC_LIBS="-Wl,-framework,PCSC"
249
250                        # overwrite autoconf cached variables, too.
251                        ac_env_PCSC_CFLAGS_set=${PCSC_CFLAGS+set}
252                        ac_env_PCSC_CFLAGS_value=$PCSC_CFLAGS
253                        ac_cv_env_PCSC_CFLAGS_set=${PCSC_CFLAGS+set}
254                        ac_cv_env_PCSC_CFLAGS_value=$PCSC_CFLAGS
255                        ac_env_PCSC_LIBS_set=${PCSC_LIBS+set}
256                        ac_env_PCSC_LIBS_value=$PCSC_LIBS
257                        ac_cv_env_PCSC_LIBS_set=${PCSC_LIBS+set}
258                        ac_cv_env_PCSC_LIBS_value=$PCSC_LIBS
259
260                        # header files are included via PCSC/*
261                        AC_DEFINE(PCSC_INCLUDES_IN_PCSC, 1, [Header files in PCSC subdirectory])
262                        AC_DEFINE(HAVE_PCSC, 1 , [Have PC/SC implementation])
263                fi
264                ;;
265        esac
266
267        saved_LIBS="$LIBS"
268        saved_CFLAGS="$CFLAGS"
269        if test "x$PCSC_MSG" = "xyes"; then
270                CFLAGS="${PCSC_CFLAGS} $saved_CFLAGS"
271                LIBS="$PCSC_LIBS $saved_LIBS"
272                AC_TRY_LINK([
273        #include <stdlib.h>
274        #ifdef PCSC_INCLUDES_IN_PCSC
275        #include <PCSC/wintypes.h>
276        #include <PCSC/winscard.h>
277        #else
278        #include <winscard.h>
279        #endif
280                ], [
281        SCardControl(NULL, NULL, 0, NULL, NULL);
282                ], [
283                        AC_DEFINE(HAVE_PCSC_OLD, 1, [old version of pc/sc-lite])
284                ])
285        fi
286        LIBS="$saved_LIBS"
287        CFLAGS="$saved_CFLAGS"
288
289        # check for reader.h
290        saved_CFLAGS="$CFLAGS"
291        CFLAGS="$CFLAGS $PCSC_CFLAGS"
292        AC_CHECK_HEADER(reader.h,
293                [AC_DEFINE([HAVE_READER_H], 1, [Define if pcsc-lite with reader.h exists])],
294                [AC_MSG_WARN([reader.h not found, install pcsc-lite 1.2.9-beta8 or later, or use PCSC_CFLAGS=... ./configure])],
295                [ #include <reader.h>])
296        CFLAGS="$saved_CFLAGS"
297fi
298
299AM_CONDITIONAL(HAVE_PCSC, test "x$PCSC_MSG" = "xyes")
300
301dnl AM_PATH_LIBASSUAN([MINIMUM-VERSION,
302dnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
303dnl Test for libassuan and define LIBASSUAN_CFLAGS and LIBASSUAN_LIBS
304AM_PATH_LIBASSUAN( , [
305        AM_CONDITIONAL(HAVE_ASSUAN, true)
306        ASSUAN_MSG=yes
307        ],
308        [
309        AM_CONDITIONAL(HAVE_ASSUAN, false)
310        ASSUAN_MSG=no
311        ])
312
313PLUGINDIR="/usr/lib/mozilla/plugins"
314AC_ARG_WITH(plugin-dir,
315        AC_HELP_STRING([--with-plugin-dir=PATH], [install Mozilla plugin to PATH [[/usr/lib/mozilla/plugins]]]),
316        [
317                PLUGINDIR="$withval"
318        ]
319)
320AC_SUBST(PLUGINDIR)
321
322# Check for PIN entry program used by OpenSC Signer
323PIN_ENTRY="/usr/local/bin/gpinentry"
324AC_ARG_WITH(pin-entry,
325        AC_HELP_STRING([--with-pin-entry=PROG],[Run PROG as PIN-entry for OpenSC Signer]),
326        [
327                if test ! -z "$withval" -a "x$withval" != "xno" ; then
328                        PIN_ENTRY="$withval"
329                fi
330        ]
331)
332AC_DEFINE_UNQUOTED(PIN_ENTRY, "$PIN_ENTRY", [PIN-entry program for OpenSC Signer])
333
334if test "x$prefix" = xNONE; then
335  prefix=$ac_default_prefix
336fi
337if test "x$exec_prefix" = xNONE; then
338  exec_prefix='${prefix}'
339fi
340
341CPPFLAGS="-I\${top_builddir}/src/include $CPPFLAGS"
342
343opensc_etc_path=`eval echo ${sysconfdir}` ; opensc_etc_path=`eval echo ${opensc_etc_path}`
344AC_DEFINE_UNQUOTED(OPENSC_ETC_PATH, "$opensc_etc_path", [etc path for libopensc])
345opensc_conf_path=`eval echo ${opensc_etc_path}/opensc.conf`
346AC_DEFINE_UNQUOTED(OPENSC_CONF_PATH, "$opensc_conf_path", [default config file for libopensc])
347
348AC_SUBST(LIBSCCONF)
349LIBSCCONF="\${top_builddir}/src/scconf/libscconf.la"
350AC_SUBST(LIBOPENSC)
351LIBOPENSC="\${top_builddir}/src/libopensc/libopensc.la"
352
353# Pass information about installed OpenSC requirements, so that
354# a proper opensc-config file will be build.
355OPENSC_LIBS="-L${libdir} -lopensc"
356OPENSC_CFLAGS=""
357AC_SUBST(OPENSC_LIBS)
358AC_SUBST(OPENSC_CFLAGS)
359
360pkgdata=`eval echo ${datadir}/${PACKAGE}` ; pkgdata=`eval echo ${pkgdata}`
361AC_SUBST(pkgdata)
362
363AC_OUTPUT([
364Makefile
365aclocal/Makefile
366doc/Makefile
367etc/Makefile
368man/Makefile
369src/Makefile
370src/common/Makefile
371src/include/Makefile
372src/include/opensc/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/pkcs15init/Makefile
381src/scconf/Makefile
382src/signer/Makefile
383src/signer/npinclude/Makefile
384src/tests/Makefile
385src/tests/regression/Makefile
386src/tools/Makefile
387win32/Makefile
388])
389
390A=`eval echo ${prefix}` ; A=`eval echo ${A}`
391B=`eval echo ${bindir}` ; B=`eval echo ${B}`
392C=`eval echo ${sysconfdir}` ; C=`eval echo ${C}`
393
394echo ""
395echo "OpenSC has been configured with the following options"
396
397echo ""
398echo "Version:             ${PACKAGE_VERSION}"
399echo "User binaries:       ${B}"
400echo "Configuration files: ${C}"
401
402echo ""
403echo "Host:                ${host}"
404echo "Compiler:            ${CC}"
405echo "Compiler flags:      ${CFLAGS}"
406echo "Preprocessor flags:  ${CPPFLAGS}"
407echo "Linker flags:        ${LDFLAGS}"
408echo "Libraries:           ${LIBS}"
409
410echo ""
411echo "OpenSSL support:          ${OPENSSL_MSG}"
412echo "PC/SC support:            ${PCSC_MSG}"
413echo "OpenCT support:           ${OPENCT_MSG}"
414echo "Assuan support:           ${ASSUAN_MSG}"
415echo ""
416
Note: See TracBrowser for help on using the browser.