Fixed a few bugs
[libgcrypt.git] / configure.in
1 dnl
2 dnl Configure template for G10
3 dnl
4 dnl (Process this file with autoconf to produce a configure script.)
5
6 AC_INIT(g10/g10.c)
7 AC_CONFIG_AUX_DIR(scripts)
8 dnl Ooops: automake 1.2d looks for AC_CONFIG_HEADER (and not AM_..)
9 dnl        to decide where config.h is - so we have to add -I.. to
10 dnl        every Makefile.am
11 AM_CONFIG_HEADER(config.h)
12
13
14 if test "x$exec_prefix" = xNONE ; then
15     if test "x$prefix" = xNONE ; then
16         g10_prefix="$ac_default_prefix"
17     else
18         g10_prefix="$prefix"
19     fi
20 else
21     g10_prefix="$exec_prefix"
22 fi
23
24
25 VERSION=`cat $srcdir/VERSION`
26 PACKAGE=g10
27 ALL_LINGUAS="de"
28 G10_LOCALEDIR="$g10_prefix/share/locale"
29 AC_SUBST(VERSION)
30 AC_SUBST(PACKAGE)
31 AC_SUBST(G10_LOCALEDIR)
32 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
33 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
34 AC_DEFINE_UNQUOTED(G10_LOCALEDIR, "$G10_LOCALEDIR")
35
36 AC_ARG_ENABLE(m-debug,
37 [  --enable-m-debug       Enable debugging of memory allocation])
38 if test "$enableval" = y || test "$enableval" = yes; then
39     AC_DEFINE(M_DEBUG)
40 fi
41
42 dnl Some systems have a broken zlib. "--disable-zlib" avoids it's usage
43 enableval=yes
44 AC_ARG_ENABLE(zlib,
45 [  --disable-zlib         Avoid usage of zlib])
46 if test "$enableval" = y || test "$enableval" = yes; then
47     g10_use_zlib=yes
48 else
49     g10_use_zlib=no
50 fi
51 CFLAGS="-g -Wall"
52
53
54
55 AC_CANONICAL_SYSTEM
56 WK_CHECK_CACHE
57
58 dnl Checks for programs.
59
60 AC_PROG_MAKE_SET
61 AC_ARG_PROGRAM
62
63 missing_dir=`cd $ac_aux_dir && pwd`
64 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
65 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
66 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
67 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
68 dnl AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
69
70 case "${target}" in
71     i386--mingw32)
72         # special stuff for Windoze NT
73         cross_compiling=yes
74         CC="i386--mingw32-gcc"
75         CPP="i386--mingw32-gcc -E"
76         RANLIB="i386--mingw32-ranlib"
77         ac_cv_have_dev_random=no
78         ;;
79     *)
80 AC_PROG_RANLIB
81 AC_PROG_INSTALL
82 AC_PROG_CC
83 AC_PROG_CPP
84        ;;
85 esac
86
87
88 dnl Checks for libraries.
89
90 dnl Checks for header files.
91 AC_HEADER_STDC
92 AC_CHECK_HEADERS(unistd.h)
93
94 dnl AM_GNU_GETTEXT
95 dnl WK_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl )
96 AC_MSG_WARN([i18n disabled for this release - sorry])
97
98
99 dnl Checks for typedefs, structures, and compiler characteristics.
100 AC_C_CONST
101 AC_C_INLINE
102 AC_TYPE_SIZE_T
103
104 WK_CHECK_ENDIAN
105
106
107 WK_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
108 WK_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
109 WK_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
110 WK_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
111 WK_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
112
113 AC_CHECK_SIZEOF(unsigned short, 2)
114 AC_CHECK_SIZEOF(unsigned int, 4)
115 AC_CHECK_SIZEOF(unsigned long, 4)
116
117 if test "$ac_cv_sizeof_unsigned_short" = "0" \
118    || test "$ac_cv_sizeof_unsigned_int" = "0" \
119    || test "$ac_cv_sizeof_unsigned_long" = "0"; then
120     AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
121 fi
122
123
124
125 dnl Checks for library functions.
126 AC_FUNC_VPRINTF
127 AC_CHECK_FUNCS(strerror stpcpy strlwr tcgetattr rand strtoul mlock mmap)
128
129
130
131
132 dnl check wether we have a random device
133 AC_CACHE_CHECK(for random device, ac_cv_have_dev_random,
134 [if test -c /dev/random && test -c /dev/urandom ; then
135   ac_cv_have_dev_random=yes; else ac_cv_have_dev_random=no; fi])
136 if test "$ac_cv_have_dev_random" = yes; then
137     AC_DEFINE(HAVE_DEV_RANDOM)
138 fi
139
140
141 dnl setup assembler stuff
142 AC_MSG_CHECKING(for mpi assembler functions)
143 mpi_config_done="no"
144 AC_CACHE_VAL(ac_cv_mpi_config_done,
145              [ ac_cv_mpi_config_done="$mpi_config_done" ])
146 if test "$ac_cv_mpi_config_done" = yes; then
147     AC_MSG_RESULT(done)
148 else
149 ac_cv_mpi_config_done=""
150 if test -f $srcdir/mpi/config.links ; then
151     . $srcdir/mpi/config.links
152     WK_LINK_FILES($mpi_ln_src, $mpi_ln_dst)
153     ac_cv_mpi_extra_asm_modules="$mpi_extra_modules"
154     ac_cv_mpi_config_done="yes"
155     AC_MSG_RESULT(done)
156 else
157     AC_MSG_RESULT(failed)
158     AC_MSG_ERROR([mpi/config.links missing!])
159 fi
160 fi
161 MPI_EXTRA_ASM_OBJS=""
162 if test "$ac_cv_mpi_extra_asm_modules" != ""; then
163 WK_MSG_PRINT([mpi extra asm functions:])
164 for i in $ac_cv_mpi_extra_asm_modules; do
165     WK_MSG_PRINT([$i])
166     MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.o"
167 done
168 AC_MSG_RESULT()
169 fi
170 AC_SUBST(MPI_EXTRA_ASM_OBJS)
171
172 dnl Do we have zlib? Must do it here because Solaris failed
173 dnl when compiling a conftest (due to the "-lz" from LIBS).
174 if test "$g10_use_zlib" = "yes"; then
175 AC_CHECK_HEADERS(zlib.h,
176                  [LIBS="$LIBS -lz"],
177                  AC_MSG_WARN([zlib missing - creating without ZLIB support!])
178                 )
179 fi
180 AC_SUBST(HAVE_ZLIB_H)
181
182 dnl checking whether we have other cipher source files
183 CIPHER_EXTRA_OBJS=""
184 CIPHER_EXTRA_DIST=""
185 AC_CACHE_CHECK(for extra cipher modules, ac_cv_have_rsa_cipher,
186 [if test -f $srcdir/cipher/rsa.c && test -f $srcdir/cipher/rsa.h; then
187   ac_cv_have_rsa_cipher=yes; else ac_cv_have_rsa_cipher=no; fi])
188 if test $ac_cv_have_rsa_cipher = yes; then
189     AC_DEFINE(HAVE_RSA_CIPHER)
190     CIPHER_EXTRA_OBJS="rsa.o"
191     CIPHER_EXTRA_DIST="rsa.c rsa.h"
192 fi
193 AC_SUBST(CIPHER_EXTRA_OBJS)
194 AC_SUBST(CIPHER_EXTRA_DIST)
195
196
197 WK_DO_LINK_FILES
198
199 AC_OUTPUT([
200 Makefile
201 intl/Makefile
202 po/Makefile.in
203 util/Makefile
204 mpi/Makefile
205 cipher/Makefile
206 g10/Makefile
207 tools/Makefile
208 ],[echo timestamp >stamp-h; sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
209