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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2118 - (hide annotations) (download)
Tue Aug 1 07:13:50 2006 UTC (6 years, 9 months ago) by rousseau
File size: 6994 byte(s)
Exit the ./configure script if some include files are not found

Use AC_MSG_ERROR() instead of AC_MSG_WARN()
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 2020 AC_INIT(ccid, 1.0.1)
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 1754 PKG_CHECK_MODULES(PCSC, libpcsclite >= 1.2.9-beta9, [],
36 rousseau 1842 [ AC_MSG_RESULT([no])
37     if test -f /usr/local/lib/pkgconfig/libpcsclite.pc -a "x$PKG_CONFIG" != x ; then
38 rousseau 1359 AC_MSG_ERROR([use PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure])
39     else
40 rousseau 1754 AC_MSG_WARN([install pcsc-lite 1.2.9-beta9 or later])
41 rousseau 1359 fi
42     ])
43 rousseau 402
44 rousseau 1767 saved_CPPFLAGS="$CPPFLAGS"
45     CPPFLAGS="$CPPFLAGS $PCSC_CFLAGS"
46 rousseau 1328 AC_CHECK_HEADER(ifdhandler.h,,
47 rousseau 1768 [AC_MSG_ERROR([ifdhandler.h not found, install pcsc-lite 1.2.9-beta9 or later, or use ./configure PCSC_CFLAGS=...])],
48 rousseau 1328 [ #include <ifdhandler.h> ])
49 rousseau 1556 AC_CHECK_HEADER(reader.h,,
50 rousseau 1768 [AC_MSG_ERROR([reader.h not found, install pcsc-lite 1.2.9-beta9 or later, or use ./configure PCSC_CFLAGS=...])],
51 rousseau 1556 [ #include <reader.h> ])
52 rousseau 1767 CPPFLAGS="$saved_CPPFLAGS"
53 rousseau 1253
54 rousseau 1734 # Add libtool support.
55 rousseau 402 AM_PROG_LIBTOOL
56    
57 rousseau 1734 # Automatically update the libtool script if it becomes out-of-date.
58 rousseau 402 AC_SUBST(LIBTOOL_DEPS)
59    
60 rousseau 1734 # Checks for header files.
61 rousseau 402 AC_HEADER_STDC
62 rousseau 2116 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,,
63 rousseau 2118 [AC_MSG_ERROR([some header files not found])])
64 rousseau 402
65 rousseau 1734 # Checks for typedefs, structures, and compiler characteristics.
66 rousseau 402 AC_C_CONST
67     AC_TYPE_SIZE_T
68     AC_HEADER_TIME
69    
70 rousseau 1734 # Checks for library functions.
71 rousseau 402 AC_CHECK_FUNCS(select strerror strncpy memcpy)
72    
73 rousseau 1734 # Select OS specific versions of source files.
74 rousseau 402 AC_SUBST(BUNDLE_HOST)
75     AC_SUBST(DYN_LIB_EXT)
76     case "$host" in
77     *-*-darwin*)
78     BUNDLE_HOST="MacOS"
79     DYN_LIB_EXT="dylib"
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 rousseau 2078 *-*-freebsd*)
91     BUNDLE_HOST="FreeBSD"
92     DYN_LIB_EXT="so"
93     ;;
94 rousseau 1846 *-*-openbsd*)
95     BUNDLE_HOST="OpenBSD"
96     DYN_LIB_EXT="so.0.0"
97     ;;
98 rousseau 1925 *-*-solaris*)
99     BUNDLE_HOST="Solaris"
100     DYN_LIB_EXT="so"
101     ;;
102 rousseau 402 *)
103     BUNDLE_HOST="Linux"
104     DYN_LIB_EXT="so"
105     esac
106    
107 rousseau 1942 # --disable-libusb
108 rousseau 460 AC_ARG_ENABLE(libusb,
109 rousseau 1942 AC_HELP_STRING([--disable-libusb],[do not use libusb]),
110     [ use_libusb="${enableval}" ], [ use_libusb=yes ] )
111 rousseau 436
112 rousseau 1770 # check if libusb is used
113     if test "x$use_libusb" != xno ; then
114 rousseau 1784 PKG_CHECK_MODULES(LIBUSB, libusb, [],
115     [
116     AC_MSG_RESULT([no])
117     AC_CHECK_PROG([LIBUSBCONFIG], [libusb-config], [yes])
118 rousseau 1770
119 rousseau 1784 if test "$LIBUSBCONFIG" = "yes" ; then
120     LIBUSB_CFLAGS="$LIBUSB_CFLAGS `libusb-config --cflags`"
121     LIBUSB_LIBS="$LIBUSB_LIBS `libusb-config --libs`"
122     else
123     AC_MSG_WARN([libusb-config not found.])
124     fi
125     ])
126 rousseau 1770
127 rousseau 1733 saved_CPPFLAGS="$CPPFLAGS"
128     saved_LIBS="$LIBS"
129    
130     CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS"
131     LIBS="$LDFLAGS $LIBUSB_LIBS"
132    
133 rousseau 565 AC_CHECK_HEADERS(usb.h, [],
134 rousseau 1770 [ AC_MSG_ERROR([usb.h not found, use ./configure LIBUSB_CFLAGS=...]) ])
135 rousseau 436
136 rousseau 565 LIBS="$LIBS $COREFOUNDATION $IOKIT"
137 rousseau 402
138 rousseau 1770 AC_MSG_CHECKING([for usb_init])
139     AC_TRY_LINK_FUNC(usb_init, [ AC_MSG_RESULT([yes]) ],
140     [ AC_MSG_ERROR([libusb not found, use ./configure LIBUSB_LIBS=...]) ])
141    
142     AC_MSG_CHECKING([for usb_get_string_simple])
143     AC_TRY_LINK_FUNC(usb_get_string_simple, [ AC_MSG_RESULT([yes]) ],
144 rousseau 565 [ AC_MSG_ERROR([your libusb is too old. install version 0.1.7 or above]) ])
145 rousseau 1733
146 rousseau 1769 CPPFLAGS="$saved_CPPFLAGS"
147 rousseau 1733 LIBS="$saved_LIBS"
148 rousseau 1942
149     use_libusb=yes
150 rousseau 565 fi
151 rousseau 1733 AC_SUBST(LIBUSB_CFLAGS)
152     AC_SUBST(LIBUSB_LIBS)
153 rousseau 556
154 rousseau 1942 AC_MSG_RESULT([use libusb : $use_libusb])
155    
156 rousseau 1734 # check what to use for dlopen
157 rousseau 402 AC_SUBST(LIBDL)
158     AC_CHECK_LIB(dl, dlopen, [LIBDL="$LIBDL -ldl" ac_cv_func_dlopen_ldl=yes], ac_cv_func_dlopen_ldl=no)
159    
160 rousseau 2011 # 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 rousseau 1944 # --disable-multi-thread
172 rousseau 460 AC_ARG_ENABLE(multi-thread,
173 rousseau 1944 AC_HELP_STRING([--disable-multi-thread],[disable multi threading]),
174 rousseau 460 [ multithread="${enableval}" ], [ multithread=yes ] )
175    
176     if test "${multithread}" != no ; then
177 rousseau 563 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 rousseau 1944
182     multithread=yes
183 rousseau 460 fi
184     AC_MSG_RESULT([multi threading : $multithread])
185    
186 rousseau 1734 # --enable-bundle=NAME
187 rousseau 402 AC_ARG_ENABLE(bundle,
188 rousseau 460 AC_HELP_STRING([--enable-bundle=NAME],[bundle directory name
189     (default ifd-ccid.bundle)]),
190     [bundle="${enableval}"], [bundle=false])
191 rousseau 402 if test "${bundle}" = false ; then
192     bundle="ifd-ccid.bundle"
193     fi
194     AC_MSG_RESULT([bundle directory name : $bundle])
195     AC_DEFINE_UNQUOTED(BUNDLE, "$bundle", [bundle directory name])
196    
197 rousseau 1734 # --enable-usbdropdir=DIR
198 rousseau 402 AC_ARG_ENABLE(usbdropdir,
199 rousseau 460 AC_HELP_STRING([--enable-usbdropdir=DIR],[directory containing USB
200 rousseau 871 drivers (default to pcscd config or $(prefix)/pcsc/drivers)]),
201 rousseau 460 [usbdropdir="${enableval}"], [usbdropdir=false])
202 rousseau 402 if test "${usbdropdir}" = false ; then
203 rousseau 1328 usbdropdir=`pkg-config libpcsclite --variable=usbdropdir`
204 rousseau 402 fi
205     AC_MSG_RESULT([USB drop directory : $usbdropdir])
206     AC_DEFINE_UNQUOTED(PCSCLITE_HP_DROPDIR, "$usbdropdir", [directory containing USB drivers])
207 rousseau 1360 if test "${usbdropdir}" = "" ; then
208     AC_MSG_ERROR([use --enable-usbdropdir=DIR])
209     fi
210 rousseau 402
211 rousseau 1734 # --enable-ccidtwindir=DIR
212 rousseau 564 AC_ARG_ENABLE(ccidtwindir,
213     AC_HELP_STRING([--enable-ccidtwindir=DIR],[directory to install the
214 rousseau 871 serial Twin driver (default to pcscd config or $(prefix)/pcsc/drivers/serial)]),
215 rousseau 564 [ccidtwindir="${enableval}"], [ccidtwindir=false])
216     if test "${ccidtwindir}" = false ; then
217 rousseau 1328 ccidtwindir=`pkg-config libpcsclite --variable=usbdropdir`/serial
218 rousseau 564 fi
219     AC_MSG_RESULT([serial twin install dir : $ccidtwindir])
220    
221 rousseau 1943 # --disable-pcsclite
222 rousseau 896 AC_ARG_ENABLE(pcsclite,
223 rousseau 1943 AC_HELP_STRING([--disable-pcsclite],[do not use pcsc-lite debug support]),
224     [ pcsclite="${enableval}" ], [ pcsclite=yes ] )
225 rousseau 564
226 rousseau 896 if test "${pcsclite}" = no ; then
227 rousseau 1342 AM_CONDITIONAL(WITHOUT_PCSC, true)
228 rousseau 1349 else
229 rousseau 1734 # check that pcsc-lite is installed
230 rousseau 1405 OLD_LIBS="$LIBS"
231 rousseau 1802 LIBS="$LIBS $PCSC_LIBS"
232 rousseau 1404 AC_CHECK_LIB(pcsclite, SCardEstablishContext, [],
233 rousseau 1802 [AC_MSG_ERROR([SCardEstablishContext() not found, install pcsc-lite 1.2.9-beta9 or later, or use PCSC_LIBS=... ./configure])])
234 rousseau 1405 LIBS="$OLD_LIBS"
235 rousseau 1404
236 rousseau 1349 AM_CONDITIONAL(WITHOUT_PCSC, false)
237 rousseau 1943
238     pcsclite=yes
239 rousseau 896 fi
240     AC_MSG_RESULT([compiled for pcsc-lite : $pcsclite])
241    
242    
243 rousseau 1734 # Setup dist stuff
244 rousseau 402 AC_SUBST(ac_aux_dir)
245     AC_SUBST(bundle)
246     AC_SUBST(usbdropdir)
247 rousseau 564 AC_SUBST(ccidtwindir)
248 rousseau 402
249 rousseau 1734 # Write Makefiles.
250 rousseau 887 AC_CONFIG_FILES(Makefile
251     aclocal/Makefile
252     src/Makefile
253     readers/Makefile
254     examples/Makefile)
255    
256 rousseau 402 AC_OUTPUT
257    

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.5