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