Added user data feature for ksba_cert_t
[libksba.git] / configure.ac
1 # configure.ac - for libksba
2 #       Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH
3
4 # This file is part of KSBA
5
6 # KSBA 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 # KSBA 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.57)
22 min_automake_version="1.9.3"
23
24 # Version number: Remember to change immediately *after* a release.
25 #                 Append a "-cvs" for non-released versions.
26 AC_INIT(libksba, 0.9.13-cvs, gpa-dev@gnupg.org)
27 # LT Version numbers: Remember to change them just *before* a release.
28 #   (Interfaces removed:    CURRENT++, AGE=0, REVISION=0)
29 #   (Interfaces added:      CURRENT++, AGE++, REVISION=0)
30 #   (No interfaces changed:                   REVISION++)
31 # Please remember to document interface changes in the NEWS file.
32 LIBKSBA_LT_CURRENT=14
33 LIBKSBA_LT_AGE=6
34 LIBKSBA_LT_REVISION=1
35 #-------------------
36
37 # fixme: When bouncing this to a newer version, you check whether the
38 # declaration tests for some symbols can be removed.
39 NEED_GPG_ERROR_VERSION=0.7
40
41
42 PACKAGE=$PACKAGE_NAME
43 VERSION=$PACKAGE_VERSION
44
45 AC_CONFIG_SRCDIR([src/ksba.h])
46 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
47 AM_CONFIG_HEADER(config.h)
48
49 AC_GNU_SOURCE
50
51
52 AM_MAINTAINER_MODE
53
54
55 AC_SUBST(LIBKSBA_LT_CURRENT)
56 AC_SUBST(LIBKSBA_LT_AGE)
57 AC_SUBST(LIBKSBA_LT_REVISION)
58 AC_SUBST(PACKAGE)
59 AC_SUBST(VERSION)
60 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package])
61 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version of this package])
62
63
64
65 # Checks for programs.
66 missing_dir=`cd $ac_aux_dir && pwd`
67 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
68 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
69 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
70 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
71 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
72 AC_PROG_AWK
73 AC_PROG_CC
74 AC_PROG_CPP
75 AC_PROG_INSTALL
76 AC_PROG_LN_S
77 AC_PROG_MAKE_SET
78 gl_EARLY
79 #AC_ARG_PROGRAM
80 AC_PROG_YACC
81 AC_C_INLINE
82
83 AM_PROG_LIBTOOL
84
85 if test "$GCC" = yes; then
86     CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
87 fi
88
89
90 # For some systems we know that we have ld_version scripts.  
91 # Use it then as default.
92 have_ld_version_script=no
93 case "${host}" in
94     *-*-linux*)
95         have_ld_version_script=yes
96         ;;
97     *-*-gnu*)
98         have_ld_version_script=yes
99         ;;
100 esac
101 AC_ARG_ENABLE([ld-version-script],
102               AC_HELP_STRING([--enable-ld-version-script],
103                              [enable/disable use of linker version script.
104                               (default is system dependent)]),
105               [have_ld_version_script=$enableval],
106               [ : ] )
107 AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
108
109
110 # Checks for libraries.
111
112 AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION")
113 if test "x$GPG_ERROR_LIBS" = "x"; then
114   AC_MSG_ERROR([libgpg-error is needed.
115                 See ftp://ftp.gnupg.org/gcrypt/libgpg-error/ .])
116 fi
117 _tmp_gpg_error_save_cflags="$CFLAGS"
118 CFLAGS="$CFLAGS $GPG_ERROR_CFLAGS"
119 AC_CHECK_DECLS(GPG_ERR_UNKNOWN_CRIT_EXTN,,,[#include <gpg-error.h>])
120 CFLAGS="${_tmp_gpg_error_save_cflags}"
121
122 AC_DEFINE(GPG_ERR_SOURCE_DEFAULT, GPG_ERR_SOURCE_KSBA,
123           [The default error source for libksba.])
124
125 # Checks for header files.
126 AC_HEADER_STDC
127 AC_CHECK_HEADERS([string.h])
128
129 # Checks for typedefs, structures, and compiler characteristics.
130 AC_C_CONST
131
132 AC_C_BIGENDIAN
133
134 AC_CHECK_SIZEOF(unsigned int)
135 AC_CHECK_SIZEOF(unsigned long)
136 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
137
138
139 # Checks for library functions.
140 AC_CHECK_FUNCS([memmove strchr strtol strtoul stpcpy gmtime_r])
141
142
143 # GNUlib checks
144 gl_SOURCE_BASE(gl)
145 gl_M4_BASE(gl/m4)
146 gl_MODULES(alloca)
147 gl_INIT
148
149 # To be used in ksba-config
150 KSBA_CONFIG_LIBS="-lksba"
151 KSBA_CONFIG_CFLAGS=""
152 AC_SUBST(KSBA_CONFIG_LIBS)
153 AC_SUBST(KSBA_CONFIG_CFLAGS)
154
155 # The Makefiles need to know about cross compiling
156 AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes)
157
158 AC_CONFIG_FILES([
159 Makefile
160 gl/Makefile
161 src/Makefile
162 src/ksba-config
163 tests/Makefile
164 doc/Makefile
165 ])
166 AC_OUTPUT
167
168
169 echo "
170         Libksba v${VERSION} has been configured as follows:
171         
172         Platform:  $host
173
174 "
175 if test x$cross_compiling = xyes; then
176 echo "Hint: If you encounter make problems like
177   \"No rule to make target 'asn1-tables.c'\"
178 you should first do a native build without installing
179 the software, then a \"make distclean\" and then
180 run the cross compilation again.
181 "
182 fi