/[pcsclite]/trunk/Drivers/ccid/configure.in
ViewVC logotype

Contents of /trunk/Drivers/ccid/configure.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2799 - (show annotations) (download)
Wed Feb 6 14:26:30 2008 UTC (5 years, 3 months ago) by rousseau
File size: 8504 byte(s)
release 1.3.3
1 # Process this file with autoconf to produce a configure script.
2 # You may need to use autoconf 2.56 or newer
3
4 # $Id$
5
6 # Require autoconf 2.61
7 AC_PREREQ(2.61)
8
9 AC_INIT(ccid, 1.3.3)
10 AC_CONFIG_SRCDIR(src/ifdhandler.c)
11 AC_CONFIG_AUX_DIR(build)
12 AM_INIT_AUTOMAKE
13
14 # Default install dir
15 AC_PREFIX_DEFAULT(/usr/local)
16
17 # Automake boilerplate.
18 AC_CANONICAL_HOST
19
20 # create a config.h file (Automake will add -DHAVE_CONFIG_H)
21 AM_CONFIG_HEADER(config.h)
22
23 # Options
24 AM_MAINTAINER_MODE
25
26 # Checks for programs.
27 AC_PROG_CC
28 AM_PROG_CC_C_O
29 AC_PROG_CPP
30 AC_PROG_INSTALL
31 AC_PROG_MAKE_SET
32 AC_PROG_LN_S
33 AM_PROG_LEX
34 PKG_PROG_PKG_CONFIG
35
36 # check pcsc-lite version
37 PCSC_NEEDED_VERSION="1.3.3"
38 PKG_CHECK_MODULES(PCSC, libpcsclite >= $PCSC_NEEDED_VERSION, [],
39 [ AC_MSG_RESULT([no])
40 if test -f /usr/local/lib/pkgconfig/libpcsclite.pc -a "x$PKG_CONFIG" != x ; then
41 AC_MSG_ERROR([use PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure])
42 else
43 AC_MSG_WARN([install pcsc-lite $PCSC_NEEDED_VERSION or later])
44 fi
45 ])
46
47 saved_CPPFLAGS="$CPPFLAGS"
48 CPPFLAGS="$CPPFLAGS $PCSC_CFLAGS"
49 AC_CHECK_HEADER(ifdhandler.h,,
50 [AC_MSG_ERROR([ifdhandler.h not found, install pcsc-lite $PCSC_NEEDED_VERSION or later, or use ./configure PCSC_CFLAGS=...])])
51 AC_CHECK_DECL(IFD_NO_SUCH_DEVICE,, [AC_MSG_ERROR([install pcsc-lite $PCSC_NEEDED_VERSION or later])], [#include <ifdhandler.h>])
52 AC_CHECK_DECLS(TAG_IFD_POLLING_THREAD,,, [#include <ifdhandler.h>])
53 AC_CHECK_HEADER(reader.h,,
54 [AC_MSG_ERROR([reader.h not found, install pcsc-lite $PCSC_NEEDED_VERSION or later, or use ./configure PCSC_CFLAGS=...])])
55 CPPFLAGS="$saved_CPPFLAGS"
56
57 # Add libtool support.
58 AM_PROG_LIBTOOL
59
60 # Automatically update the libtool script if it becomes out-of-date.
61 AC_SUBST(LIBTOOL_DEPS)
62
63 # Checks for header files.
64 AC_HEADER_STDC
65 AC_CHECK_HEADERS(errno.h fcntl.h stdlib.h unistd.h termios.h string.h errno.h sys/time.h sys/types.h stdarg.h arpa/inet.h,,
66 [AC_MSG_ERROR([some header files not found])])
67
68 # Checks for typedefs, structures, and compiler characteristics.
69 AC_C_CONST
70 AC_TYPE_SIZE_T
71 AC_HEADER_TIME
72
73 # Checks for library functions.
74 AC_CHECK_FUNCS(select strerror strncpy memcpy strlcpy)
75
76 # Select OS specific versions of source files.
77 AC_SUBST(BUNDLE_HOST)
78 AC_SUBST(DYN_LIB_EXT)
79 case "$host" in
80 *-*-darwin*)
81 BUNDLE_HOST="MacOS"
82 DYN_LIB_EXT="dylib"
83
84 AC_SUBST(COREFOUNDATION)
85 COREFOUNDATION="-Wl,-framework,CoreFoundation"
86
87 AC_SUBST(IOKIT)
88 IOKIT="-Wl,-framework,IOKit"
89 if test "$GCC" = "yes"; then
90 CFLAGS="$CFLAGS -no-cpp-precomp"
91 fi
92 ;;
93 *-*-freebsd*)
94 BUNDLE_HOST="FreeBSD"
95 DYN_LIB_EXT="so"
96 ;;
97 *-*-openbsd*)
98 BUNDLE_HOST="OpenBSD"
99 DYN_LIB_EXT="so.0.0"
100 ;;
101 *-*-solaris*)
102 BUNDLE_HOST="Solaris"
103 DYN_LIB_EXT="so"
104 ;;
105 *)
106 BUNDLE_HOST="Linux"
107 DYN_LIB_EXT="so"
108 esac
109
110 # --disable-libusb
111 AC_ARG_ENABLE(libusb,
112 AC_HELP_STRING([--disable-libusb],[do not use libusb]),
113 [ use_libusb="${enableval}" ], [ use_libusb=yes ] )
114
115 # check if libusb is used
116 if test "x$use_libusb" != xno ; then
117 PKG_CHECK_MODULES(LIBUSB, libusb, [],
118 [
119 AC_MSG_RESULT([no])
120 AC_CHECK_PROG([LIBUSBCONFIG], [libusb-config], [yes])
121
122 if test "$LIBUSBCONFIG" = "yes" ; then
123 LIBUSB_CFLAGS="$LIBUSB_CFLAGS `libusb-config --cflags`"
124 LIBUSB_LIBS="$LIBUSB_LIBS `libusb-config --libs`"
125 else
126 AC_MSG_WARN([libusb-config not found.])
127 fi
128 ])
129
130 saved_CPPFLAGS="$CPPFLAGS"
131 saved_LIBS="$LIBS"
132
133 CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS"
134 LIBS="$LDFLAGS $LIBUSB_LIBS"
135
136 AC_CHECK_HEADERS(usb.h, [],
137 [ AC_MSG_ERROR([usb.h not found, use ./configure LIBUSB_CFLAGS=...]) ])
138
139 LIBS="$LIBS $COREFOUNDATION $IOKIT"
140
141 AC_MSG_CHECKING([for usb_init])
142 AC_TRY_LINK_FUNC(usb_init, [ AC_MSG_RESULT([yes]) ],
143 [ AC_MSG_ERROR([libusb not found, use ./configure LIBUSB_LIBS=...]) ])
144
145 AC_MSG_CHECKING([for usb_get_string_simple])
146 AC_TRY_LINK_FUNC(usb_get_string_simple, [ AC_MSG_RESULT([yes]) ],
147 [ AC_MSG_ERROR([your libusb is too old. install version 0.1.7 or above]) ])
148
149 AC_CHECK_FUNC(usb_detach_kernel_driver_np,
150 [ AC_DEFINE(HAVE_USB_DETACH_KERNEL_DRIVER_NP, 1, [Define if usb_detach_kernel_driver_np() is available]) ])
151
152 CPPFLAGS="$saved_CPPFLAGS"
153 LIBS="$saved_LIBS"
154
155 use_libusb=yes
156 fi
157 AC_SUBST(LIBUSB_CFLAGS)
158 AC_SUBST(LIBUSB_LIBS)
159
160 # check if the compiler support -fvisibility=hidden (GCC >= 4)
161 saved_CFLAGS="$CFLAGS"
162 CFLAGS="$CFLAGS -fvisibility=hidden"
163 AC_MSG_CHECKING([for -fvisibility=hidden])
164 AC_COMPILE_IFELSE([char foo;],
165 [ AC_MSG_RESULT([yes])
166 SYMBOL_VISIBILITY="-fvisibility=hidden" ],
167 AC_MSG_RESULT([no]))
168 CFLAGS="$saved_CFLAGS"
169 AC_SUBST(SYMBOL_VISIBILITY)
170
171 # --disable-multi-thread
172 AC_ARG_ENABLE(multi-thread,
173 AC_HELP_STRING([--disable-multi-thread],[disable multi threading]),
174 [ multithread="${enableval}" ], [ multithread=yes ] )
175
176 if test "${multithread}" != no ; then
177 ACX_PTHREAD(
178 [ AC_DEFINE(HAVE_PTHREAD, 1,
179 [Define if you have POSIX threads libraries and header files.])
180 ], [ AC_MSG_ERROR([POSIX thread support required]) ])
181
182 multithread=yes
183 fi
184
185 # --enable-bundle=NAME
186 AC_ARG_ENABLE(bundle,
187 AC_HELP_STRING([--enable-bundle=NAME],[bundle directory name
188 (default ifd-ccid.bundle)]),
189 [bundle="${enableval}"], [bundle=false])
190 if test "${bundle}" = false ; then
191 bundle="ifd-ccid.bundle"
192 fi
193 AC_DEFINE_UNQUOTED(BUNDLE, "$bundle", [bundle directory name])
194
195 # --enable-usbdropdir=DIR
196 AC_ARG_ENABLE(usbdropdir,
197 AC_HELP_STRING([--enable-usbdropdir=DIR],[directory containing USB
198 drivers (default to pcscd config or $(prefix)/pcsc/drivers)]),
199 [usbdropdir="${enableval}"], [usbdropdir=false])
200 if test "${usbdropdir}" = false ; then
201 usbdropdir=`pkg-config libpcsclite --variable=usbdropdir`
202 fi
203 AC_DEFINE_UNQUOTED(PCSCLITE_HP_DROPDIR, "$usbdropdir", [directory containing USB drivers])
204 if test "${usbdropdir}" = "" ; then
205 AC_MSG_ERROR([use --enable-usbdropdir=DIR])
206 fi
207
208 # --enable-twinserial
209 AC_ARG_ENABLE(twinserial,
210 AC_HELP_STRING([--enable-twinserial],[also compile and install the serial Twin driver]),
211 [twinserial="${enableval}"], [twinserial=no])
212 AM_CONDITIONAL(WITH_TWIN_SERIAL, test "${twinserial}" != "no")
213
214 # --enable-ccidtwindir=DIR
215 AC_ARG_ENABLE(ccidtwindir,
216 AC_HELP_STRING([--enable-ccidtwindir=DIR],[directory to install the
217 serial Twin driver (default to pcscd config or $(prefix)/pcsc/drivers/serial)]),
218 [ccidtwindir="${enableval}"], [ccidtwindir=false])
219 if test "${ccidtwindir}" = false ; then
220 ccidtwindir=`pkg-config libpcsclite --variable=usbdropdir`/serial
221 fi
222
223 # --disable-pcsclite
224 AC_ARG_ENABLE(pcsclite,
225 AC_HELP_STRING([--disable-pcsclite],[do not use pcsc-lite debug support]),
226 [ pcsclite="${enableval}" ], [ pcsclite=yes ] )
227
228 if test "${pcsclite}" != no ; then
229 # check that pcsc-lite is installed
230 OLD_LIBS="$LIBS"
231 LIBS="$LIBS $PCSC_LIBS"
232 AC_MSG_CHECKING([for SCardEstablishContext])
233 AC_TRY_LINK_FUNC(SCardEstablishContext,
234 [ AC_MSG_RESULT([yes]) ],
235 [ AC_MSG_ERROR([SCardEstablishContext() not found, install pcsc-lite 1.2.9-beta9 or later,or use PCSC_LIBS=... ./configure]) ])
236 LIBS="$OLD_LIBS"
237
238 pcsclite=yes
239 fi
240 AM_CONDITIONAL(WITHOUT_PCSC, test "${pcsclite}" != "yes")
241
242 # --enable-udev
243 AC_ARG_ENABLE(udev,
244 AC_HELP_STRING([--enable-udev],[udev support for pcscd hotplug]),
245 [udev="${enableval}"], [udev=no])
246 AM_CONDITIONAL(UDEV, test "${udev}" != "no")
247
248
249 # Setup dist stuff
250 AC_SUBST(ac_aux_dir)
251 AC_SUBST(bundle)
252 AC_SUBST(usbdropdir)
253 AC_SUBST(ccidtwindir)
254
255 cat << EOF
256
257 libccid has been configured with following options:
258
259 Version: ${PACKAGE_VERSION}
260 User binaries: $(eval eval eval echo "${bindir}")
261 Configuration files: $(eval eval eval echo "${sysconfdir}")
262
263
264 Host: ${host}
265 Compiler: ${CC}
266 Preprocessor flags: ${CPPFLAGS}
267 Compiler flags: ${CFLAGS}
268 Preprocessor flags: ${CPPFLAGS}
269 Linker flags: ${LDFLAGS}
270 Libraries: ${LIBS}
271
272 PTHREAD_CFLAGS: ${PTHREAD_CFLAGS}
273 PTHREAD_LIBS: ${PTHREAD_LIBS}
274 BUNDLE_HOST: ${BUNDLE_HOST}
275 DYN_LIB_EXT: ${DYN_LIB_EXT}
276 LIBUSB_CFLAGS: ${LIBUSB_CFLAGS}
277 LIBUSB_LIBS: ${LIBUSB_LIBS}
278 SYMBOL_VISIBILITY: ${SYMBOL_VISIBILITY}
279
280 libusb support: ${use_libusb}
281 multi threading: ${multithread}
282 bundle directory name: ${bundle}
283 USB drop directory: ${usbdropdir}
284 serial Twin support: ${twinserial}
285 serial twin install dir: ${ccidtwindir}
286 compiled for pcsc-lite: ${pcsclite}
287 udev support: ${udev}
288
289 EOF
290
291 # Write Makefiles.
292 AC_CONFIG_FILES(Makefile
293 aclocal/Makefile
294 src/Makefile
295 readers/Makefile
296 contrib/Makefile
297 contrib/Kobil_mIDentity_switch/Makefile
298 contrib/RSA_SecurID/Makefile
299 examples/Makefile)
300
301 AC_OUTPUT
302

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.5