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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1735 - (hide annotations) (download)
Thu Nov 24 10:40:06 2005 UTC (7 years, 6 months ago) by rousseau
File size: 6362 byte(s)
use libusb-config(1) to get, if possible, correct values for LIBUSB_CFLAGS
and LIBUSB_LIBS
1 rousseau 1734 # Process this file with autoconf to produce a configure script.
2     # You may need to use autoconf 2.56 or newer
3 rousseau 402
4 rousseau 1734 # $Id$
5 rousseau 402
6 rousseau 1734 # Require autoconf 2.52
7 rousseau 402 AC_PREREQ(2.52)
8    
9 rousseau 1473 AC_INIT(ccid, 0.9.4)
10 rousseau 402 AC_CONFIG_SRCDIR(src/ifdhandler.c)
11     AC_CONFIG_AUX_DIR(build)
12     AM_INIT_AUTOMAKE
13    
14 rousseau 1734 # Default install dir
15 rousseau 402 AC_PREFIX_DEFAULT(/usr/local)
16    
17 rousseau 1734 # Automake boilerplate.
18 rousseau 402 AC_CANONICAL_HOST
19    
20 rousseau 1734 # create a config.h file (Automake will add -DHAVE_CONFIG_H)
21 rousseau 402 AM_CONFIG_HEADER(config.h)
22    
23 rousseau 1734 # Options
24 rousseau 402 AM_MAINTAINER_MODE
25    
26 rousseau 1734 # Checks for programs.
27 rousseau 402 AC_PROG_CC
28 rousseau 448 AC_PROG_CPP
29 rousseau 402 AC_PROG_INSTALL
30     AC_PROG_MAKE_SET
31     AC_PROG_LN_S
32     AM_PROG_LEX
33 rousseau 1251
34 rousseau 1734 # check pcsc-lite version
35 rousseau 1555 PKG_CHECK_MODULES(PCSC, libpcsclite >= 1.2.9-beta8, [],
36 rousseau 1359 [ if test -f /usr/local/lib/pkgconfig/libpcsclite.pc ; then
37     AC_MSG_ERROR([use PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure])
38     else
39 rousseau 1555 AC_MSG_WARN([install pcsc-lite 1.2.9-beta8 or later])
40 rousseau 1359 fi
41     ])
42 rousseau 402
43 rousseau 1328 OLD_CFLAGS="$CFLAGS"
44     CFLAGS="$CFLAGS $PCSC_CFLAGS"
45     AC_CHECK_HEADER(ifdhandler.h,,
46 rousseau 1555 [AC_MSG_ERROR([ifdhandler.h not found, install pcsc-lite 1.2.9-beta8 or later, or use CFLAGS=... ./configure])],
47 rousseau 1328 [ #include <ifdhandler.h> ])
48 rousseau 1556 AC_CHECK_HEADER(reader.h,,
49     [AC_MSG_ERROR([reader.h not found, install pcsc-lite 1.2.9-beta8 or later, or use CFLAGS=... ./configure])],
50     [ #include <reader.h> ])
51 rousseau 1328 CFLAGS="$OLD_CFLAGS"
52 rousseau 1253
53 rousseau 1734 # Add libtool support.
54 rousseau 402 AM_PROG_LIBTOOL
55    
56 rousseau 1734 # Automatically update the libtool script if it becomes out-of-date.
57 rousseau 402 AC_SUBST(LIBTOOL_DEPS)
58    
59 rousseau 1734 # Checks for header files.
60 rousseau 402 AC_HEADER_STDC
61 rousseau 876 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,,
62     [AC_MSG_WARN([some header files not found])])
63 rousseau 402
64 rousseau 1734 # Checks for typedefs, structures, and compiler characteristics.
65 rousseau 402 AC_C_CONST
66     AC_TYPE_SIZE_T
67     AC_HEADER_TIME
68    
69 rousseau 1734 # Checks for library functions.
70 rousseau 402 AC_CHECK_FUNCS(select strerror strncpy memcpy)
71    
72 rousseau 1734 # Select OS specific versions of source files.
73 rousseau 402 AC_SUBST(BUNDLE_HOST)
74     AC_SUBST(DYN_LIB_EXT)
75     case "$host" in
76     *-*-darwin*)
77     BUNDLE_HOST="MacOS"
78     DYN_LIB_EXT="dylib"
79     AM_CONDITIONAL(NEED_PARSER, true)
80    
81     AC_SUBST(COREFOUNDATION)
82     COREFOUNDATION="-Wl,-framework,CoreFoundation"
83    
84     AC_SUBST(IOKIT)
85     IOKIT="-Wl,-framework,IOKit"
86     if test "$GCC" = "yes"; then
87     CFLAGS="$CFLAGS -no-cpp-precomp"
88     fi
89     ;;
90     *)
91     BUNDLE_HOST="Linux"
92     DYN_LIB_EXT="so"
93     AM_CONDITIONAL(NEED_PARSER, false)
94     esac
95    
96 rousseau 887 CFLAGS="$CFLAGS -Wall"
97 rousseau 402
98 rousseau 1734 # --enable-libusb=PATH
99 rousseau 1735 LIBUSB_CFLAGS=`libusb-config --cflags`
100     LIBUSB_LIBS=`libusb-config --libs`
101 rousseau 460 AC_ARG_ENABLE(libusb,
102     AC_HELP_STRING([--enable-libusb=PATH],[libusb path (default /usr)]),
103 rousseau 436 [
104     case ${enableval} in
105     "" | "yes" | "YES")
106     ;;
107     "no" | "NO")
108     use_libusb=false
109     ;;
110     *)
111 rousseau 1733 LIBUSB_CFLAGS="-I${enableval}/include"
112     LIBUSB_LIBS="-L${enableval}/lib -lusb"
113 rousseau 436 ;;
114     esac
115     ]
116     )
117    
118 rousseau 1734 # check if libusb is available
119 rousseau 1733 if test "x$use_libusb" != xfalse ; then
120     saved_CPPFLAGS="$CPPFLAGS"
121     saved_LIBS="$LIBS"
122    
123     CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS"
124     LIBS="$LDFLAGS $LIBUSB_LIBS"
125    
126 rousseau 565 AC_CHECK_HEADERS(usb.h, [],
127     [ AC_MSG_ERROR([usb.h not found, use --enable-libusb=PATH]) ])
128 rousseau 436
129 rousseau 565 LIBS="$LIBS $COREFOUNDATION $IOKIT"
130     AC_CHECK_LIB(usb, usb_init, [LIBUSB="$LIBUSB -lusb"],
131     [ AC_MSG_ERROR([libusb not found]) ])
132 rousseau 402
133 rousseau 565 LIBS="$LIBS $COREFOUNDATION $IOKIT"
134     AC_CHECK_LIB(usb, usb_get_string_simple, [LIBUSB="$LIBUSB -lusb"],
135     [ AC_MSG_ERROR([your libusb is too old. install version 0.1.7 or above]) ])
136 rousseau 1733
137     CPPFLAGS="$saved_LIBS"
138     LIBS="$saved_LIBS"
139 rousseau 565 fi
140 rousseau 1733 AC_SUBST(LIBUSB_CFLAGS)
141     AC_SUBST(LIBUSB_LIBS)
142 rousseau 556
143 rousseau 1734 # check what to use for dlopen
144 rousseau 402 AC_SUBST(LIBDL)
145     AC_CHECK_LIB(dl, dlopen, [LIBDL="$LIBDL -ldl" ac_cv_func_dlopen_ldl=yes], ac_cv_func_dlopen_ldl=no)
146    
147 rousseau 1734 # --enable-multi-thread
148 rousseau 460 AC_ARG_ENABLE(multi-thread,
149     AC_HELP_STRING([--enable-multi-thread],[enable multi threading
150     (default=yes)]),
151     [ multithread="${enableval}" ], [ multithread=yes ] )
152    
153     if test "${multithread}" != no ; then
154 rousseau 563 ACX_PTHREAD(
155     [ AC_DEFINE(HAVE_PTHREAD, 1,
156     [Define if you have POSIX threads libraries and header files.])
157     ], [ AC_MSG_ERROR([POSIX thread support required]) ])
158 rousseau 460 fi
159     AC_MSG_RESULT([multi threading : $multithread])
160    
161 rousseau 1734 # --enable-bundle=NAME
162 rousseau 402 AC_ARG_ENABLE(bundle,
163 rousseau 460 AC_HELP_STRING([--enable-bundle=NAME],[bundle directory name
164     (default ifd-ccid.bundle)]),
165     [bundle="${enableval}"], [bundle=false])
166 rousseau 402 if test "${bundle}" = false ; then
167     bundle="ifd-ccid.bundle"
168     fi
169     AC_MSG_RESULT([bundle directory name : $bundle])
170     AC_DEFINE_UNQUOTED(BUNDLE, "$bundle", [bundle directory name])
171    
172 rousseau 1734 # --enable-usbdropdir=DIR
173 rousseau 402 AC_ARG_ENABLE(usbdropdir,
174 rousseau 460 AC_HELP_STRING([--enable-usbdropdir=DIR],[directory containing USB
175 rousseau 871 drivers (default to pcscd config or $(prefix)/pcsc/drivers)]),
176 rousseau 460 [usbdropdir="${enableval}"], [usbdropdir=false])
177 rousseau 402 if test "${usbdropdir}" = false ; then
178 rousseau 1328 usbdropdir=`pkg-config libpcsclite --variable=usbdropdir`
179 rousseau 402 fi
180     AC_MSG_RESULT([USB drop directory : $usbdropdir])
181     AC_DEFINE_UNQUOTED(PCSCLITE_HP_DROPDIR, "$usbdropdir", [directory containing USB drivers])
182 rousseau 1360 if test "${usbdropdir}" = "" ; then
183     AC_MSG_ERROR([use --enable-usbdropdir=DIR])
184     fi
185 rousseau 402
186 rousseau 1734 # --enable-ccidtwindir=DIR
187 rousseau 564 AC_ARG_ENABLE(ccidtwindir,
188     AC_HELP_STRING([--enable-ccidtwindir=DIR],[directory to install the
189 rousseau 871 serial Twin driver (default to pcscd config or $(prefix)/pcsc/drivers/serial)]),
190 rousseau 564 [ccidtwindir="${enableval}"], [ccidtwindir=false])
191     if test "${ccidtwindir}" = false ; then
192 rousseau 1328 ccidtwindir=`pkg-config libpcsclite --variable=usbdropdir`/serial
193 rousseau 564 fi
194     AC_MSG_RESULT([serial twin install dir : $ccidtwindir])
195     AC_DEFINE_UNQUOTED(PCSCLITE_HP_DROPDIR, "$ccidtwindir", [directory containing USB drivers])
196    
197 rousseau 1734 # --enable-pcsclite
198 rousseau 896 AC_ARG_ENABLE(pcsclite,
199     AC_HELP_STRING([--enable-pcsclite],[compile for pcsc-lite (default=yes)]),
200     [ pcsclite=no ], [ pcsclite=yes ] )
201 rousseau 564
202 rousseau 896 if test "${pcsclite}" = no ; then
203 rousseau 1342 AM_CONDITIONAL(WITHOUT_PCSC, true)
204 rousseau 896 AM_CONDITIONAL(NEED_PARSER, true)
205 rousseau 1349 else
206 rousseau 1734 # check that pcsc-lite is installed
207 rousseau 1404 OLD_LDLIBS="$LDLIBS"
208 rousseau 1405 OLD_LIBS="$LIBS"
209 rousseau 1404 LDLIBS="$LDLIBS $PCSC_LIBS"
210     AC_CHECK_LIB(pcsclite, SCardEstablishContext, [],
211 rousseau 1555 [AC_MSG_ERROR([SCardEstablishContext() not found, install pcsc-lite 1.2.9-beta8 or later, or use LDLIBS=... ./configure])])
212 rousseau 1404 LDLIBS="$OLD_LDLIBS"
213 rousseau 1405 LIBS="$OLD_LIBS"
214 rousseau 1404
215 rousseau 1349 AM_CONDITIONAL(WITHOUT_PCSC, false)
216 rousseau 896 fi
217     AC_MSG_RESULT([compiled for pcsc-lite : $pcsclite])
218    
219    
220 rousseau 1734 # Setup dist stuff
221 rousseau 402 AC_SUBST(ac_aux_dir)
222     AC_SUBST(bundle)
223     AC_SUBST(usbdropdir)
224 rousseau 564 AC_SUBST(ccidtwindir)
225 rousseau 402
226 rousseau 1734 # Write Makefiles.
227 rousseau 887 AC_CONFIG_FILES(Makefile
228     aclocal/Makefile
229     src/Makefile
230     readers/Makefile
231     examples/Makefile)
232    
233 rousseau 402 AC_OUTPUT
234    

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.5