Intial checking from Moritz 0.1 tarball
[poldi.git] / configure.ac
1 # configure.ac - for the GSCUTILSGnuPG 1.9
2 # Copyright (C) 2004 g10 Code GmbH
3
4 # This file is part of GSCUTILS.
5
6 # GSCUTILS is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10
11 # GSCUTILS is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19
20 # Process this file with autoconf to produce a configure script.
21 AC_PREREQ(2.52)
22 min_automake_version="1.7.9"
23
24 # Version number: Remember to change it immediately *after* a release.
25 #                 Add a "-cvs" prefix for non-released code.
26 AC_INIT(poldi, 0.1, gnupg-devel@gnupg.org)
27
28 PACKAGE=$PACKAGE_NAME
29 VERSION=$PACKAGE_VERSION
30
31 NEED_LIBGCRYPT_VERSION=0
32 NEED_GPG_ERROR_VERSION=0.7
33         
34 AC_CONFIG_SRCDIR(src/poldi.c)
35 AM_CONFIG_HEADER(config.h)
36 AC_CANONICAL_TARGET
37 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
38
39 POLDI_CONF_DIRECTORY="${sysconfdir}/poldi"
40 AC_SUBST(POLDI_CONF_DIRECTORY)
41
42 PAM_MODULE_DIRECTORY="/lib/security"
43 AC_SUBST(PAM_MODULE_DIRECTORY)
44
45 # Some status variables to give feedback at the end of a configure run
46 #have_gpg_error=no
47 #have_libgcrypt=no 
48
49 AC_SUBST(PACKAGE)
50 AC_SUBST(VERSION)
51 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package])
52 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version of this package])
53 AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT, "$PACKAGE_BUGREPORT",
54                                         [Bug report address])
55
56 AH_BOTTOM([
57 /* Tell the sources taken from GnuPG's SCD what header file they
58    should use. */
59 #define GNUPG_SCD_MAIN_HEADER "scd.h"
60 ])
61
62 AM_MAINTAINER_MODE
63
64 # Checks for programs.
65 AC_PROG_MAKE_SET
66 AM_SANITY_CHECK
67 missing_dir=`cd $ac_aux_dir && pwd`
68 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
69 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
70 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
71 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
72 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
73 AC_PROG_AWK
74 AC_PROG_CC
75 AC_PROG_CPP
76 AC_PROG_RANLIB
77 AC_PROG_INSTALL
78 AC_PROG_MAKE_SET
79 AC_SYS_LARGEFILE
80
81 #
82 # Checks for libraries.
83 #
84
85 have_libgcrypt=no
86 AM_PATH_LIBGCRYPT("$NEED_LIBGCRYPT_VERSION",
87                   have_libgcrypt=yes,have_libgcrypt=no)
88
89 have_gpg_error=no
90 AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION",
91                   have_gpg_error=yes,have_gpg_error=no)
92
93
94 # libusb allows us to use the integrated CCID smartcard reader driver.
95 #
96 # Note, that we need the CVS version.  FIXME: libusb should have a
97 # regular check as the other libraries do.
98 #
99 AC_CHECK_LIB(usb, usb_find_device,
100               [ LIBUSB_LIBS="$LIBUSB_LIBS -lusb"
101                 AC_DEFINE(HAVE_LIBUSB,1,
102                          [defined if libusb is available])
103              ])
104 AC_SUBST(LIBUSB_LIBS)
105
106
107 # Checks for header files.
108 AC_HEADER_STDC
109
110 # Checks for typedefs, structures, and compiler characteristics.
111 AC_C_CONST
112 AC_C_INLINE
113 AC_TYPE_SIZE_T
114
115 AC_CHECK_SIZEOF(unsigned short)
116 AC_CHECK_SIZEOF(unsigned int)
117 AC_CHECK_SIZEOF(unsigned long)
118  
119 # Checks for library functions.
120
121 #
122 # See whether we have dlopen available, so that PC/SC can be loaded on
123 # demand.
124 #
125 _dl_save_libs=$LIBS
126 LIBS=""
127 AC_SEARCH_LIBS(dlopen,dl,found_dlopen=yes)
128 if test x"$found_dlopen" = "xyes" ; then
129    AC_DEFINE(HAVE_DL_DLOPEN,1,
130              [Defined when the dlopen function family is available])
131    DLLIBS=$LIBS
132 else
133    DLLIBS=""
134    LIBS=$_dl_save_libs
135 fi
136 AC_SUBST(DLLIBS)
137
138 AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes)
139
140 if test "$GCC" = yes; then
141     if test "$USE_MAINTAINER_MODE" = "yes"; then
142         CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
143         CFLAGS="$CFLAGS -Wformat-nonliteral"
144     else
145         CFLAGS="$CFLAGS -Wall"
146     fi
147 fi
148
149 # We use jnlib, so tell other modules about it
150 AC_DEFINE(HAVE_JNLIB_LOGGING, 1,
151          [Defined if jnlib style logging fucntions are available])
152
153 #
154 # Print errors here so that they are visible all
155 # together and the user can acquire them all together.
156 #
157 die=no
158 if test "$have_gpg_error" = "no"; then
159    die=yes
160    AC_MSG_NOTICE([[
161 ***  
162 *** You need libgpg-error to build this program.
163 *** This library is for example available at
164 ***   ftp://ftp.gnupg.org/gcrypt/alpha/libgpg-error
165 *** (at least version $NEED_GPG_ERROR_VERSION is required.)
166 ***]])
167 fi
168 if test "$have_libgcrypt" = "no"; then
169    die=yes
170    AC_MSG_NOTICE([[
171 ***  
172 *** You need libgcrypt to build this program.
173 *** This library is for example available at
174 ***   ftp://ftp.gnupg.org/gcrypt/libgcrypt
175 *** (at least version $NEED_LIBGCRYPT_VERSION is required.)
176 ***]])
177 fi
178 if test "$die" = "yes"; then
179     AC_MSG_ERROR([[
180 ***
181 *** Required libraries not found. Please consult the above messages
182 *** and install them before running configure again.
183 ***]])
184 fi
185
186 AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile src/libscd/Makefile])
187 AC_OUTPUT