eee8c76d6a060ccd0649f23623bafc1692f41ea7
[gnupg.git] / configure.in
1 dnl
2 dnl Configure template for GNUPG
3 dnl
4 dnl (Process this file with autoconf to produce a configure script.)
5 AC_REVISION($Revision$)dnl
6
7 dnl Must reset CDPATH so that bash's cd does not print to stdout
8 CDPATH=
9
10 AC_PREREQ(2.13)
11 AC_INIT(g10/g10.c)
12 AC_CONFIG_AUX_DIR(scripts)
13 AM_CONFIG_HEADER(config.h)
14
15
16 VERSION=`cat $srcdir/VERSION`
17 PACKAGE=gnupg
18 ALL_LINGUAS="de es_ES fr it pl pt_BR ru"
19 static_modules="sha1 md5 rmd160"
20 AC_SUBST(VERSION)
21 AC_SUBST(PACKAGE)
22 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
23 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
24
25 MODULES_IN_CIPHER=`awk '/# MODULES: / { for(i=3;i<=NF;i++) print $i}' \
26                                                 $srcdir/cipher/Makefile.am`
27
28 dnl
29 dnl  Check for random module options
30 dnl
31 dnl  Fixme: get the list of available modules from MODULES_IN_CIPHER
32 dnl         and check against this list
33
34 AC_MSG_CHECKING([which static random module to use])
35 AC_ARG_ENABLE(static-rnd,
36     [  --enable-static-rnd=[egd|unix|linux|none]  ],
37 [use_static_rnd=$enableval], [use_static_rnd=default] )
38
39 if test "$use_static_rnd" = no; then
40     use_static_rnd=default
41 fi
42
43 case "$use_static_rnd" in
44     egd | linux | unix | none | default )
45       AC_MSG_RESULT($use_static_rnd)
46       ;;
47     * )
48       AC_MSG_RESULT(invalid argument)
49       AC_MSG_ERROR(there is no random module rnd$use_static_rnd)
50       ;;
51 esac
52
53
54
55 dnl
56 dnl See whether the user wants to disable checking for /dev/random
57
58 AC_MSG_CHECKING([whether use of /dev/random is requested])
59 AC_ARG_ENABLE(dev-random,
60 [  --disable-dev-random    disable the use of dev random],
61     try_dev_random=$enableval, try_dev_random=yes)
62 AC_MSG_RESULT($try_dev_random)
63
64
65 dnl
66 dnl  Check other options
67 dnl
68
69 AC_MSG_CHECKING([whether use of extensions is requested])
70 AC_ARG_ENABLE(dynload,
71 [  --disable-dynload       disable use of extensions],
72     try_dynload=$enableval, try_dynload=yes)
73 AC_MSG_RESULT($try_dynload)
74
75 AC_MSG_CHECKING([whether assembler modules are requested])
76 AC_ARG_ENABLE(asm,
77 [  --disable-asm           do not use assembler modules],
78      try_asm_modules=$enableval, try_asm_modules=yes)
79 AC_MSG_RESULT($try_asm_modules)
80
81 AC_MSG_CHECKING([whether memory debugging is requested])
82 AC_ARG_ENABLE(m-debug,
83 [  --enable-m-debug        enable debugging of memory allocation],
84 use_m_debug=$enableval, use_m_debug=no)
85 AC_MSG_RESULT($use_m_debug)
86 if test "$use_m_debug" = yes; then
87     AC_DEFINE(M_DEBUG)
88     use_m_guard=yes
89 else
90     AC_MSG_CHECKING([whether memory guard is requested])
91     AC_ARG_ENABLE(m-guard,
92     [  --enable-m-guard        enable memory guard facility],
93     use_m_guard=$enableval, use_m_guard=no)
94     AC_MSG_RESULT($use_m_guard)
95 fi
96 if test "$use_m_guard" = yes ; then
97     AC_DEFINE(M_GUARD)
98 fi
99
100
101 AC_MSG_CHECKING([whether included zlib is requested])
102 AC_ARG_WITH(included-zlib,
103     [  --with-included-zlib    use the zlib code included here],
104 [g10_force_zlib=yes], [g10_force_zlib=no] )
105 AC_MSG_RESULT($g10_force_zlib)
106
107 dnl
108 dnl Check wether we want to compile libgcrypt
109 dnl
110 AC_MSG_CHECKING([whether compilation of libgcrypt is requested])
111 AC_ARG_ENABLE(libgcrypt,
112     [  --enable-libgcrypt      compile the libgcrypt [default=no]],
113 [compile_libgcrypt="$enableval"],[compile_libgcrypt=no])
114 AC_MSG_RESULT($compile_libgcrypt)
115 if test x$compile_libgcrypt = xyes ; then
116     if test -f $srcdir/gcrypt/gcrypt.h; then
117         :
118     else
119         compile_libgcrypt=no
120         AC_MSG_WARN([[
121 ***
122 *** LIBGCRYPT is not yet ready for public testing.
123 *** Maybe you have more luck with the next release of GnuPG
124 *** Watch the gnupg-announce mailing list or the webpage.
125 ***]])
126     fi
127 fi
128 AM_CONDITIONAL(COMPILE_LIBGCRYPT, test x$compile_libgcrypt = xyes)
129
130
131 dnl
132 dnl Check whether we want to use Linux capabilities
133 dnl
134 AC_MSG_CHECKING([whether use of capabilities is requested])
135 AC_ARG_WITH(capabilities,
136     [  --with-capabilities     use linux capabilities [default=no]],
137 [use_capabilities="$withval"],[use_capabilities=no])
138 AC_MSG_RESULT($use_capabilities)
139
140
141 AM_MAINTAINER_MODE
142
143 dnl Checks for programs.
144
145 AC_CANONICAL_SYSTEM
146 AC_ARG_PROGRAM
147 AC_PROG_MAKE_SET
148 AM_SANITY_CHECK
149 missing_dir=`cd $ac_aux_dir && pwd`
150 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
151 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
152 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
153 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
154 dnl AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
155 AC_PROG_CC
156 AC_PROG_CPP
157 AC_ISC_POSIX
158 AC_PROG_INSTALL
159 AC_PROG_AWK
160 AC_CHECK_PROG(DOCBOOK_TO_MAN, docbook-to-man, yes, no)
161 AM_CONDITIONAL(HAVE_DOCBOOK_TO_MAN, test "$ac_cv_prog_DOCBOOK_TO_MAN" = yes)
162
163
164 dnl
165 dnl Build shared libraries only when compilation of libgcrypt
166 dnl has been requested
167 dnl
168 AM_DISABLE_SHARED
169 enable_shared="$compile_libgcrypt"
170 AM_PROG_LIBTOOL
171
172
173 MPI_OPT_FLAGS=""
174 if test "$GCC" = yes; then
175     CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
176 fi
177
178
179 try_gettext=yes
180 try_gdbm=yes
181 case "${target}" in
182     i386--mingw32)
183         # special stuff for Windoze NT
184         cross_compiling=yes
185         CC="i386--mingw32-gcc"
186         CPP="i386--mingw32-gcc -E"
187         RANLIB="i386--mingw32-ranlib"
188         ac_cv_have_dev_random=no
189         AC_DEFINE(USE_ONLY_8DOT3)
190         AC_DEFINE(HAVE_DRIVE_LETTERS)
191         AC_DEFINE(HAVE_DOSISH_SYSTEM)
192         try_gettext="no"
193         try_gdbm="no"
194         ;;
195     i386-emx-os2 | i[3456]86-pc-os2*emx )
196         # OS/2 with the EMX environment
197         ac_cv_have_dev_random=no
198         AC_DEFINE(HAVE_DRIVE_LETTERS)
199         AC_DEFINE(HAVE_DOSISH_SYSTEM)
200         try_gettext="no"
201         try_gdbm="no"
202         ;;
203
204     i*86-*-msdosdjgpp*)
205         # DOS with the DJGPP environment
206         ac_cv_have_dev_random=no
207         AC_DEFINE(HAVE_DRIVE_LETTERS)
208         AC_DEFINE(HAVE_DOSISH_SYSTEM)
209         try_gettext="no"
210         try_gdbm="no"
211         ;;
212
213     *-*-hpux*)
214         if test -z "$GCC" ; then
215             CFLAGS="$CFLAGS -Ae -D_HPUX_SOURCE"
216         fi
217         ;;
218     *-dec-osf4*)
219         if test -z "$GCC" ; then
220             # Suppress all warnings
221             # to get rid of the unsigned/signed char mismatch warnings.
222             CFLAGS="$CFLAGS -w"
223         fi
224         ;;
225     m68k-atari-mint)
226         ;;
227     *)
228        ;;
229 esac
230
231 AC_SUBST(MPI_OPT_FLAGS)
232 GNUPG_SYS_SYMBOL_UNDERSCORE
233 GNUPG_CHECK_PIC
234 GNUPG_CHECK_RDYNAMIC
235 if test "$NO_PIC" = yes; then
236     try_dynload=no
237 fi
238
239
240 case "${target}" in
241     i386--mingw32)
242         PRINTABLE_OS_NAME="MingW32"
243         ;;
244     i386-emx-os2 | i[3456]86-pc-os2*emx )
245         PRINTABLE_OS_NAME="OS/2"
246         ;;
247     *-linux*)
248         PRINTABLE_OS_NAME="GNU/Linux"
249         ;;
250     i*86-*-msdosdjgpp*)
251         PRINTABLE_OS_NAME="MSDOS/DJGPP"
252         try_dynload=no
253         ;;
254     *)
255         PRINTABLE_OS_NAME=`uname -s || echo "Unknown"`
256         ;;
257 esac
258 AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME")
259
260 dnl  Fixme: Are these the best flags for OpenBSD????
261 dnl (I have removed the -lc from * ...CFLAGS for test purposes.)
262 case "${target}" in
263     *-openbsd*)
264         NAME_OF_DEV_RANDOM="/dev/srandom"
265         NAME_OF_DEV_URANDOM="/dev/urandom"
266         DYNLINK_MOD_CFLAGS="-shared -rdynamic -fpic -Wl,-Bshareable -Wl,-x"
267         ;;
268     *)
269         NAME_OF_DEV_RANDOM="/dev/random"
270         NAME_OF_DEV_URANDOM="/dev/urandom"
271         DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC"
272         ;;
273 esac
274 AC_DEFINE_UNQUOTED(NAME_OF_DEV_RANDOM, "$NAME_OF_DEV_RANDOM")
275 AC_DEFINE_UNQUOTED(NAME_OF_DEV_URANDOM, "$NAME_OF_DEV_URANDOM")
276 AC_SUBST(MPI_OPT_FLAGS)
277
278
279 dnl Checks for libraries.
280
281 if test "$try_gettext" = yes; then
282 AM_GNU_GETTEXT
283 else
284 USE_NLS=no
285 USE_INCLUDED_LIBINTL=no
286 AC_SUBST(USE_NLS)
287 AC_SUBST(USE_INCLUDED_LIBINTL)
288 fi
289
290 dnl
291 dnl There are lot of misconfigured systems.  We include
292 dnl gdbm support only if the lib and the header is installed.
293 dnl
294 if test "$try_gdbm" = yes; then
295 AC_CHECK_HEADERS(gdbm.h)
296 if test "$ac_cv_header_gdbm_h" = yes ; then
297   AC_CHECK_LIB(gdbm,gdbm_firstkey)
298 fi
299 fi
300
301
302 dnl Solaris needs -lsocket and -lnsl. Unisys system includes
303 dnl gethostbyname in libsocket but needs libnsl for socket.
304 AC_CHECK_LIB(nsl, gethostbyname)
305 AC_CHECK_LIB(socket, socket, ac_need_libsocket=1, ac_try_nsl=1)
306 if test x$ac_need_libsocket = x1; then
307     LIBS="$LIBS -lsocket"
308 fi
309 if test x$ac_try_nsl = x1; then
310     AC_CHECK_LIB(nsl, gethostbyname, ac_need_libnsl=1)
311     if test x$ac_need_libnsl = x1
312     then
313         LIBS="$LIBS -lnsl"
314     fi
315 fi
316
317
318 if test "$try_dynload" = yes ; then
319   AC_CHECK_LIB(dl,dlopen)
320   if test "$ac_cv_lib_dl_dlopen" = "yes"; then
321     AC_DEFINE(USE_DYNAMIC_LINKING)
322     AC_DEFINE(HAVE_DL_DLOPEN)
323     DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
324     use_gnupg_extensions=yes
325   else
326     AC_CHECK_LIB(c,dlopen)
327     if test "$ac_cv_lib_c_dlopen" = "yes"; then
328       AC_DEFINE(USE_DYNAMIC_LINKING)
329       AC_DEFINE(HAVE_DL_DLOPEN)
330       DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
331       use_gnupg_extensions=yes
332     else
333       AC_CHECK_LIB(dld,shl_load)
334       if test "$ac_cv_lib_dld_shl_load" = "yes"; then
335         AC_DEFINE(USE_DYNAMIC_LINKING)
336         AC_DEFINE(HAVE_DL_SHL_LOAD)
337         DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
338         use_gnupg_extensions=yes
339 dnl -----------------
340 dnl  DLD is not ready for use. So I better disable this test
341 dnl
342 dnl    AC_CHECK_LIB(dld,dld_link)
343 dnl    if test "$ac_cv_lib_dld_dld_link" = "yes"; then
344 dnl      AC_DEFINE(USE_DYNAMIC_LINKING)
345 dnl      AC_DEFINE(HAVE_DLD_DLD_LINK)
346 dnl      DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
347 dnl      use_gnupg_extensions=yes
348 dnl ---------------
349       fi
350     fi
351   fi
352 else
353   AC_MSG_CHECKING(for dynamic loading)
354   DYNLINK_LDFLAGS=
355   DYNLINK_MOD_CFLAGS=
356   use_gnupg_extensions=no
357   AC_MSG_RESULT(has been disabled)
358 fi
359
360 AM_CONDITIONAL(ENABLE_GNUPG_EXTENSIONS, test "$use_gnupg_extensions" = yes )
361 AC_SUBST(DYNLINK_LDFLAGS)
362 AC_SUBST(DYNLINK_MOD_CFLAGS)
363
364
365 dnl Checks for header files.
366 AC_HEADER_STDC
367 AC_CHECK_HEADERS(unistd.h langinfo.h)
368
369
370 dnl Checks for typedefs, structures, and compiler characteristics.
371 AC_C_CONST
372 AC_C_INLINE
373 AC_TYPE_SIZE_T
374 AC_TYPE_SIGNAL
375 AC_DECL_SYS_SIGLIST
376
377 GNUPG_CHECK_ENDIAN
378
379
380 GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
381 GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
382 GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
383 GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
384 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
385
386 AC_CHECK_SIZEOF(unsigned short, 2)
387 AC_CHECK_SIZEOF(unsigned int, 4)
388 AC_CHECK_SIZEOF(unsigned long, 4)
389
390 if test "$ac_cv_sizeof_unsigned_short" = "0" \
391    || test "$ac_cv_sizeof_unsigned_int" = "0" \
392    || test "$ac_cv_sizeof_unsigned_long" = "0"; then
393     AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
394 fi
395
396
397
398 dnl Checks for library functions.
399 AC_FUNC_VPRINTF
400 AC_CHECK_FUNCS(strerror stpcpy strlwr stricmp tcgetattr rand strtoul mmap)
401 AC_CHECK_FUNCS(memmove gettimeofday getrusage gethrtime setrlimit)
402 AC_CHECK_FUNCS(memicmp atexit raise getpagesize strftime nl_langinfo)
403
404 GNUPG_CHECK_MLOCK
405
406 dnl
407 dnl Check whether we can use Linux capabilities as requested
408 dnl
409 if test "$use_capabilities" = "yes" ; then
410 use_capabilities=no
411 AC_CHECK_HEADERS(sys/capability.h)
412 if test "$ac_cv_header_sys_capability_h" = "yes" ; then
413   AC_CHECK_LIB(cap, cap_init, ac_need_libcap=1)
414   if test "$ac_cv_lib_cap_cap_init" = "yes"; then
415      AC_DEFINE(USE_CAPABILITIES)
416      use_capabilities=yes
417   fi
418 fi
419 if test "$use_capabilities" = "no" ; then
420     AC_MSG_WARN([[
421 ***
422 *** The use of capabilities on this system is not possible.
423 *** You need a recent Linux kernel and some patches:
424 ***   fcaps-2.2.9-990610.patch      (kernel patch for 2.2.9)
425 ***   fcap-module-990613.tar.gz     (kernel module)
426 ***   libcap-1.92.tar.gz            (user mode library and utilities)
427 *** And you have to configure the kernel with CONFIG_VFS_CAP_PLUGIN
428 *** set (filesystems menu). Be warned: This code is *really* ALPHA.
429 ***]])
430 fi
431 fi
432
433
434 GNUPG_CHECK_IPC
435 if test "$ac_cv_header_sys_shm_h" = "yes"; then
436   AC_DEFINE(USE_SHM_COPROCESSING)
437 fi
438
439 dnl
440 dnl check whether we have a random device
441 dnl
442 if test "$try_dev_random" = yes ; then
443     AC_CACHE_CHECK(for random device, ac_cv_have_dev_random,
444     [if test -c "$NAME_OF_DEV_RANDOM" && test -c "$NAME_OF_DEV_URANDOM" ; then
445       ac_cv_have_dev_random=yes; else ac_cv_have_dev_random=no; fi])
446     if test "$ac_cv_have_dev_random" = yes; then
447         AC_DEFINE(HAVE_DEV_RANDOM)
448     fi
449 else
450     AC_MSG_CHECKING(for random device)
451     ac_cv_have_dev_random=no
452     AC_MSG_RESULT(has been disabled)
453 fi
454
455 dnl
456 dnl and whether this device supports ioctl
457 dnl (Note, that we should do a real test here)
458 dnl
459 if test "$ac_cv_have_dev_random" = yes ; then
460     AC_CHECK_HEADERS(linux/random.h)
461     AC_CACHE_CHECK(for random device ioctl, ac_cv_have_dev_random_ioctl,
462       [ if test "$ac_cv_header_linux_random_h" = yes ; then
463           ac_cv_have_dev_random_ioctl=yes;
464         else
465           ac_cv_have_dev_random_ioctl=no;
466         fi
467       ])
468     if test "$ac_cv_have_dev_random_ioctl" = yes; then
469         AC_DEFINE(HAVE_DEV_RANDOM_IOCTL)
470     fi
471 fi
472
473
474 dnl
475 dnl Figure out the default linkage mode for cipher modules
476 dnl
477 dnl (We always need a static rmd160)
478 print_egd_notice=no
479 static_modules="$static_modules rmd160"
480 if test "$use_static_rnd" = default; then
481   if test "$ac_cv_have_dev_random" = yes; then
482       static_modules="$static_modules rndlinux"
483   else
484       case "${target}" in
485           i386--mingw32)
486               static_modules="$static_modules rndw32"
487               ;;
488           i386-emx-os2|i[3456]86-pc-os2*emx)
489               static_modules="$static_modules rndos2"
490               ;;
491           m68k-atari-mint)
492               static_modules="$static_modules rndatari"
493               ;;
494           i*86-*-msdosdjgpp*)
495               static_modules="$static_modules"
496               ;;
497           *)
498               static_modules="$static_modules rndunix"
499               print_egd_notice=yes
500              ;;
501       esac
502   fi
503 else
504   if test "$use_static_rnd" = none; then
505     :
506   else
507     static_modules="$static_modules rnd$use_static_rnd"
508     if test "$use_static_rnd" = "unix"; then
509         print_egd_notice=yes
510     fi
511   fi
512 fi
513
514
515 if test "$print_egd_notice" = "yes"; then
516     AC_MSG_WARN([[
517 ***
518 *** The performance of the UNIX random gatherer module is not very good
519 *** and it does not keep the entropy pool over multiple invocations of
520 *** GnuPG.  The suggested way to overcome this problem is to use the
521 ***
522 ***               Entropy Gathering Daemon (EGD)
523 ***
524 *** which provides a entropy source for the whole system.  It is written
525 *** in Perl and available at the GnuPG FTP servers.  For more information
526 *** consult the GnuPG webpages:
527 ***
528 ***           http://www.gnupg.org/donwload.html#egd
529 ***
530 *** You may want to run ./configure with --enable-static-rnd=none to be
531 *** able to load the EGD client code dynamically; this way you can choose
532 *** between RNDUNIX and RNDEGD without recompilation.
533 ***]])
534 fi
535
536 dnl
537 dnl Parse the modules list and build the list
538 dnl of static and dymically linked modules
539 dnl
540 STATIC_CIPHER_NAMES=""
541 STATIC_CIPHER_OBJS=""
542 DYNAMIC_CIPHER_MODS=""
543 GNUPG_MSG_PRINT([dynamically linked cipher modules:])
544 for name in $MODULES_IN_CIPHER; do
545     x="no"
546     for i in $static_modules; do
547         if test "$name" = "$i" ; then
548             x="yes"
549         fi
550     done;
551     if test $x = yes; then
552         STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name"
553         STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo"
554     else
555         DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name"
556         GNUPG_MSG_PRINT([$name])
557     fi
558 done
559 AC_MSG_RESULT()
560 AC_SUBST(STATIC_CIPHER_OBJS)
561 AC_SUBST(STATIC_CIPHER_NAMES)
562 AC_SUBST(DYNAMIC_CIPHER_MODS)
563
564 dnl
565 dnl And build the constructor file
566 dnl
567
568 test -d cipher || mkdir cipher
569 cat <<G10EOF >cipher/construct.c
570 /* automatically generated by configure - do not edit */
571
572 G10EOF
573 GNUPG_MSG_PRINT([statically linked cipher modules:])
574 for name in $STATIC_CIPHER_NAMES; do
575     echo "void ${name}_constructor(void);" >>cipher/construct.c
576     GNUPG_MSG_PRINT([$name])
577 done
578 AC_MSG_RESULT()
579 cat <<G10EOF >>cipher/construct.c
580
581 void
582 cipher_modules_constructor(void)
583 {
584     static int done = 0;
585     if( done )
586         return;
587     done = 1;
588
589 G10EOF
590 for name in $STATIC_CIPHER_NAMES; do
591     echo "   ${name}_constructor();" >>cipher/construct.c
592 done
593 echo '}' >>cipher/construct.c
594
595
596
597
598 dnl
599 dnl Figure how to link the cipher modules
600 dnl
601 AC_SUBST(STATIC_CIPHER_OBJS)
602 AC_SUBST(DYNAMIC_CIPHER_MODS)
603
604
605 dnl setup assembler stuff
606 AC_MSG_CHECKING(for mpi assembler functions)
607 if test -f $srcdir/mpi/config.links ; then
608     . $srcdir/mpi/config.links
609     GNUPG_LINK_FILES($mpi_ln_src, $mpi_ln_dst)
610     ac_cv_mpi_extra_asm_modules="$mpi_extra_modules"
611     ac_cv_mpi_sflags="$mpi_sflags"
612     ac_cv_mpi_config_done="yes"
613     AC_MSG_RESULT(done)
614 else
615     AC_MSG_RESULT(failed)
616     AC_MSG_ERROR([mpi/config.links missing!])
617 fi
618 MPI_EXTRA_ASM_OBJS=""
619 if test "$ac_cv_mpi_extra_asm_modules" != ""; then
620 GNUPG_MSG_PRINT([mpi extra asm functions:])
621 for i in $ac_cv_mpi_extra_asm_modules; do
622     GNUPG_MSG_PRINT([$i])
623     MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.lo"
624 done
625 AC_MSG_RESULT()
626 fi
627 AC_SUBST(MPI_EXTRA_ASM_OBJS)
628 MPI_SFLAGS="$ac_cv_mpi_sflags"
629 AC_SUBST(MPI_SFLAGS)
630
631 dnl Do we have zlib? Must do it here because Solaris failed
632 dnl when compiling a conftest (due to the "-lz" from LIBS).
633 use_local_zlib=yes
634 if test "$g10_force_zlib" = "yes"; then
635   :
636 else
637   AC_CHECK_HEADERS(zlib.h)
638   if test "$ac_cv_header_zlib_h" = yes ; then
639       AC_CHECK_LIB(z,deflateInit2_,use_local_zlib=no,:)
640   fi
641 fi
642
643 if test "$use_local_zlib" = yes ; then
644     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true)
645     GNUPG_LINK_FILES(zlib/zlib.h, zlib.h )
646     GNUPG_LINK_FILES(zlib/zconf.h, zconf.h )
647     ZLIBS="../zlib/libzlib.a"
648 else
649     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, false)
650     ZLIBS=
651     LIBS="-lz $LIBS"
652 fi
653 AC_SUBST(ZLIBS)
654
655
656 changequote(,)dnl
657 tmp_pat='[a-zA-Z]'
658 changequote([,])dnl
659 if echo "$VERSION" | grep $tmp_pat >/dev/null ; then
660     AC_DEFINE(IS_DEVELOPMENT_VERSION)
661 fi
662
663 GNUPG_DO_LINK_FILES
664
665
666 AC_OUTPUT_COMMANDS([
667 cat >g10defs.tmp <<G10EOF
668 /* Generated automatically by configure */
669 #ifdef HAVE_DRIVE_LETTERS
670   #define G10_LOCALEDIR "c:/lib/gnupg/locale"
671   #define GNUPG_LIBDIR  "c:/lib/gnupg"
672   #define GNUPG_DATADIR "c:/lib/gnupg"
673 #else
674   #define G10_LOCALEDIR "${prefix}/${DATADIRNAME}/locale"
675   #define GNUPG_LIBDIR  "${libdir}/gnupg"
676   #define GNUPG_DATADIR "${datadir}/gnupg"
677 #endif
678 G10EOF
679 if cmp -s g10defs.h g10defs.tmp 2>/dev/null; then
680     echo "g10defs.h is unchanged"
681     rm -f g10defs.tmp
682 else
683     rm -f g10defs.h
684     mv g10defs.tmp g10defs.h
685     echo "g10defs.h created"
686 fi
687 ],[
688 prefix=$prefix
689 exec_prefix=$exec_prefix
690 libdir=$libdir
691 datadir=$datadir
692 DATADIRNAME=$DATADIRNAME
693 ])
694
695
696 AC_OUTPUT([
697 Makefile
698 intl/Makefile
699 po/Makefile.in
700 util/Makefile
701 mpi/Makefile
702 cipher/Makefile
703 g10/Makefile
704 doc/Makefile
705 tools/Makefile
706 zlib/Makefile
707 checks/Makefile
708 gcrypt/Makefile
709 ])
710
711 dnl *-*wedit:notab*-*  Please keep this as the last line.