See ChangeLog: Tue Aug 31 17:20:44 CEST 1999 Werner Koch
[libgcrypt.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     *-*-mingw32)
183         # special stuff for Windoze NT
184         cross_compiling=yes
185         CC="${target}-gcc"
186         CPP="${target}-gcc -E"
187         RANLIB="${target}-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     i?86-emx-os2 | i?86-*-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     *-*-mingw32)
242         PRINTABLE_OS_NAME="MingW32"
243         ;;
244     i?86-emx-os2 | i?86-*-os2*emx )
245         PRINTABLE_OS_NAME="OS/2"
246         ;;
247     i?86-*-msdosdjgpp*)
248         PRINTABLE_OS_NAME="MSDOS/DJGPP"
249         try_dynload=no
250         ;;
251     *-linux*)
252         PRINTABLE_OS_NAME="GNU/Linux"
253         ;;
254 dnl let that after linux to avoid gnu-linux problems
255     *-gnu*)
256         PRINTABLE_OS_NAME="GNU/Hurd"
257         ;;
258     *)
259         PRINTABLE_OS_NAME=`uname -s || echo "Unknown"`
260         ;;
261 esac
262 AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME")
263
264 dnl  Fixme: Are these the best flags for OpenBSD????
265 dnl (I have removed the -lc from * ...CFLAGS for test purposes.)
266 case "${target}" in
267     *-openbsd*)
268         NAME_OF_DEV_RANDOM="/dev/srandom"
269         NAME_OF_DEV_URANDOM="/dev/urandom"
270         DYNLINK_MOD_CFLAGS="-shared -rdynamic -fpic -Wl,-Bshareable -Wl,-x"
271         ;;
272     *)
273         NAME_OF_DEV_RANDOM="/dev/random"
274         NAME_OF_DEV_URANDOM="/dev/urandom"
275         DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC"
276         ;;
277 esac
278 AC_DEFINE_UNQUOTED(NAME_OF_DEV_RANDOM, "$NAME_OF_DEV_RANDOM")
279 AC_DEFINE_UNQUOTED(NAME_OF_DEV_URANDOM, "$NAME_OF_DEV_URANDOM")
280 AC_SUBST(MPI_OPT_FLAGS)
281
282
283 dnl Checks for libraries.
284
285 if test "$try_gettext" = yes; then
286 AM_GNU_GETTEXT
287 else
288 USE_NLS=no
289 USE_INCLUDED_LIBINTL=no
290 AC_SUBST(USE_NLS)
291 AC_SUBST(USE_INCLUDED_LIBINTL)
292 fi
293
294 dnl
295 dnl There are lot of misconfigured systems.  We include
296 dnl gdbm support only if the lib and the header is installed.
297 dnl
298 if test "$try_gdbm" = yes; then
299 AC_CHECK_HEADERS(gdbm.h)
300 if test "$ac_cv_header_gdbm_h" = yes ; then
301   AC_CHECK_LIB(gdbm,gdbm_firstkey)
302 fi
303 fi
304
305
306 dnl Solaris needs -lsocket and -lnsl. Unisys system includes
307 dnl gethostbyname in libsocket but needs libnsl for socket.
308 AC_CHECK_LIB(nsl, gethostbyname)
309 AC_CHECK_LIB(socket, socket, ac_need_libsocket=1, ac_try_nsl=1)
310 if test x$ac_need_libsocket = x1; then
311     LIBS="$LIBS -lsocket"
312 fi
313 if test x$ac_try_nsl = x1; then
314     AC_CHECK_LIB(nsl, gethostbyname, ac_need_libnsl=1)
315     if test x$ac_need_libnsl = x1
316     then
317         LIBS="$LIBS -lnsl"
318     fi
319 fi
320
321
322 if test "$try_dynload" = yes ; then
323   AC_CHECK_LIB(dl,dlopen)
324   if test "$ac_cv_lib_dl_dlopen" = "yes"; then
325     AC_DEFINE(USE_DYNAMIC_LINKING)
326     AC_DEFINE(HAVE_DL_DLOPEN)
327     DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
328     use_gnupg_extensions=yes
329   else
330     AC_CHECK_LIB(c,dlopen)
331     if test "$ac_cv_lib_c_dlopen" = "yes"; then
332       AC_DEFINE(USE_DYNAMIC_LINKING)
333       AC_DEFINE(HAVE_DL_DLOPEN)
334       DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
335       use_gnupg_extensions=yes
336     else
337       AC_CHECK_LIB(dld,shl_load)
338       if test "$ac_cv_lib_dld_shl_load" = "yes"; then
339         AC_DEFINE(USE_DYNAMIC_LINKING)
340         AC_DEFINE(HAVE_DL_SHL_LOAD)
341         DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
342         use_gnupg_extensions=yes
343 dnl -----------------
344 dnl  DLD is not ready for use. So I better disable this test
345 dnl
346 dnl    AC_CHECK_LIB(dld,dld_link)
347 dnl    if test "$ac_cv_lib_dld_dld_link" = "yes"; then
348 dnl      AC_DEFINE(USE_DYNAMIC_LINKING)
349 dnl      AC_DEFINE(HAVE_DLD_DLD_LINK)
350 dnl      DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
351 dnl      use_gnupg_extensions=yes
352 dnl ---------------
353       fi
354     fi
355   fi
356 else
357   AC_MSG_CHECKING(for dynamic loading)
358   DYNLINK_LDFLAGS=
359   DYNLINK_MOD_CFLAGS=
360   use_gnupg_extensions=no
361   AC_MSG_RESULT(has been disabled)
362 fi
363
364 AM_CONDITIONAL(ENABLE_GNUPG_EXTENSIONS, test "$use_gnupg_extensions" = yes )
365 AC_SUBST(DYNLINK_LDFLAGS)
366 AC_SUBST(DYNLINK_MOD_CFLAGS)
367
368
369 dnl Checks for header files.
370 AC_HEADER_STDC
371 AC_CHECK_HEADERS(unistd.h langinfo.h)
372
373
374 dnl Checks for typedefs, structures, and compiler characteristics.
375 AC_C_CONST
376 AC_C_INLINE
377 AC_TYPE_SIZE_T
378 AC_TYPE_SIGNAL
379 AC_DECL_SYS_SIGLIST
380
381 GNUPG_CHECK_ENDIAN
382
383
384 GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
385 GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
386 GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
387 GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
388 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
389
390 AC_CHECK_SIZEOF(unsigned short, 2)
391 AC_CHECK_SIZEOF(unsigned int, 4)
392 AC_CHECK_SIZEOF(unsigned long, 4)
393
394 if test "$ac_cv_sizeof_unsigned_short" = "0" \
395    || test "$ac_cv_sizeof_unsigned_int" = "0" \
396    || test "$ac_cv_sizeof_unsigned_long" = "0"; then
397     AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
398 fi
399
400
401
402 dnl Checks for library functions.
403 AC_FUNC_VPRINTF
404 AC_CHECK_FUNCS(strerror stpcpy strlwr stricmp tcgetattr rand strtoul mmap)
405 AC_CHECK_FUNCS(memmove gettimeofday getrusage gethrtime setrlimit)
406 AC_CHECK_FUNCS(memicmp atexit raise getpagesize strftime nl_langinfo)
407
408 GNUPG_CHECK_MLOCK
409
410 dnl
411 dnl Check whether we can use Linux capabilities as requested
412 dnl
413 if test "$use_capabilities" = "yes" ; then
414 use_capabilities=no
415 AC_CHECK_HEADERS(sys/capability.h)
416 if test "$ac_cv_header_sys_capability_h" = "yes" ; then
417   AC_CHECK_LIB(cap, cap_init, ac_need_libcap=1)
418   if test "$ac_cv_lib_cap_cap_init" = "yes"; then
419      AC_DEFINE(USE_CAPABILITIES)
420      use_capabilities=yes
421   fi
422 fi
423 if test "$use_capabilities" = "no" ; then
424     AC_MSG_WARN([[
425 ***
426 *** The use of capabilities on this system is not possible.
427 *** You need a recent Linux kernel and some patches:
428 ***   fcaps-2.2.9-990610.patch      (kernel patch for 2.2.9)
429 ***   fcap-module-990613.tar.gz     (kernel module)
430 ***   libcap-1.92.tar.gz            (user mode library and utilities)
431 *** And you have to configure the kernel with CONFIG_VFS_CAP_PLUGIN
432 *** set (filesystems menu). Be warned: This code is *really* ALPHA.
433 ***]])
434 fi
435 fi
436
437
438 GNUPG_CHECK_IPC
439 if test "$ac_cv_header_sys_shm_h" = "yes"; then
440   AC_DEFINE(USE_SHM_COPROCESSING)
441 fi
442
443 dnl
444 dnl check whether we have a random device
445 dnl
446 if test "$try_dev_random" = yes ; then
447     AC_CACHE_CHECK(for random device, ac_cv_have_dev_random,
448     [if test -c "$NAME_OF_DEV_RANDOM" && test -c "$NAME_OF_DEV_URANDOM" ; then
449       ac_cv_have_dev_random=yes; else ac_cv_have_dev_random=no; fi])
450     if test "$ac_cv_have_dev_random" = yes; then
451         AC_DEFINE(HAVE_DEV_RANDOM)
452     fi
453 else
454     AC_MSG_CHECKING(for random device)
455     ac_cv_have_dev_random=no
456     AC_MSG_RESULT(has been disabled)
457 fi
458
459 dnl
460 dnl and whether this device supports ioctl
461 dnl (Note, that we should do a real test here)
462 dnl
463 if test "$ac_cv_have_dev_random" = yes ; then
464     AC_CHECK_HEADERS(linux/random.h)
465     AC_CACHE_CHECK(for random device ioctl, ac_cv_have_dev_random_ioctl,
466       [ if test "$ac_cv_header_linux_random_h" = yes ; then
467           ac_cv_have_dev_random_ioctl=yes;
468         else
469           ac_cv_have_dev_random_ioctl=no;
470         fi
471       ])
472     if test "$ac_cv_have_dev_random_ioctl" = yes; then
473         AC_DEFINE(HAVE_DEV_RANDOM_IOCTL)
474     fi
475 fi
476
477
478 dnl
479 dnl Figure out the default linkage mode for cipher modules
480 dnl
481 dnl (We always need a static rmd160)
482 print_egd_notice=no
483 static_modules="$static_modules rmd160"
484 if test "$use_static_rnd" = default; then
485   if test "$ac_cv_have_dev_random" = yes; then
486       static_modules="$static_modules rndlinux"
487   else
488       case "${target}" in
489           *-*-mingw32)
490               static_modules="$static_modules rndw32"
491               ;;
492           i?86-emx-os2|i?86-*-os2*emx)
493               static_modules="$static_modules rndos2"
494               ;;
495           m68k-atari-mint)
496               static_modules="$static_modules rndatari"
497               ;;
498           i?86-*-msdosdjgpp*)
499               static_modules="$static_modules"
500               ;;
501           *)
502               static_modules="$static_modules rndunix"
503               print_egd_notice=yes
504              ;;
505       esac
506   fi
507 else
508   if test "$use_static_rnd" = none; then
509     :
510   else
511     static_modules="$static_modules rnd$use_static_rnd"
512     if test "$use_static_rnd" = "unix"; then
513         print_egd_notice=yes
514     fi
515   fi
516 fi
517
518
519 if test "$print_egd_notice" = "yes"; then
520     AC_MSG_WARN([[
521 ***
522 *** The performance of the UNIX random gatherer module is not very good
523 *** and it does not keep the entropy pool over multiple invocations of
524 *** GnuPG.  The suggested way to overcome this problem is to use the
525 ***
526 ***               Entropy Gathering Daemon (EGD)
527 ***
528 *** which provides a entropy source for the whole system.  It is written
529 *** in Perl and available at the GnuPG FTP servers.  For more information
530 *** consult the GnuPG webpages:
531 ***
532 ***           http://www.gnupg.org/download.html#egd
533 ***
534 *** You may want to run ./configure with --enable-static-rnd=none to be
535 *** able to load the EGD client code dynamically; this way you can choose
536 *** between RNDUNIX and RNDEGD without recompilation.
537 ***]])
538 fi
539
540 dnl
541 dnl Parse the modules list and build the list
542 dnl of static and dymically linked modules
543 dnl
544 STATIC_CIPHER_NAMES=""
545 STATIC_CIPHER_OBJS=""
546 DYNAMIC_CIPHER_MODS=""
547 GNUPG_MSG_PRINT([dynamically linked cipher modules:])
548 for name in $MODULES_IN_CIPHER; do
549     x="no"
550     for i in $static_modules; do
551         if test "$name" = "$i" ; then
552             x="yes"
553         fi
554     done;
555     if test $x = yes; then
556         STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name"
557         STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo"
558     else
559         DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name"
560         GNUPG_MSG_PRINT([$name])
561     fi
562 done
563 AC_MSG_RESULT()
564 AC_SUBST(STATIC_CIPHER_OBJS)
565 AC_SUBST(STATIC_CIPHER_NAMES)
566 AC_SUBST(DYNAMIC_CIPHER_MODS)
567
568 dnl
569 dnl And build the constructor file
570 dnl
571
572 test -d cipher || mkdir cipher
573 cat <<G10EOF >cipher/construct.c
574 /* automatically generated by configure - do not edit */
575
576 G10EOF
577 GNUPG_MSG_PRINT([statically linked cipher modules:])
578 for name in $STATIC_CIPHER_NAMES; do
579     echo "void ${name}_constructor(void);" >>cipher/construct.c
580     GNUPG_MSG_PRINT([$name])
581 done
582 AC_MSG_RESULT()
583 cat <<G10EOF >>cipher/construct.c
584
585 void
586 cipher_modules_constructor(void)
587 {
588     static int done = 0;
589     if( done )
590         return;
591     done = 1;
592
593 G10EOF
594 for name in $STATIC_CIPHER_NAMES; do
595     echo "   ${name}_constructor();" >>cipher/construct.c
596 done
597 echo '}' >>cipher/construct.c
598
599
600
601
602 dnl
603 dnl Figure how to link the cipher modules
604 dnl
605 AC_SUBST(STATIC_CIPHER_OBJS)
606 AC_SUBST(DYNAMIC_CIPHER_MODS)
607
608
609 dnl setup assembler stuff
610 AC_MSG_CHECKING(for mpi assembler functions)
611 if test -f $srcdir/mpi/config.links ; then
612     . $srcdir/mpi/config.links
613     GNUPG_LINK_FILES($mpi_ln_src, $mpi_ln_dst)
614     ac_cv_mpi_extra_asm_modules="$mpi_extra_modules"
615     ac_cv_mpi_sflags="$mpi_sflags"
616     ac_cv_mpi_config_done="yes"
617     AC_MSG_RESULT(done)
618 else
619     AC_MSG_RESULT(failed)
620     AC_MSG_ERROR([mpi/config.links missing!])
621 fi
622 MPI_EXTRA_ASM_OBJS=""
623 if test "$ac_cv_mpi_extra_asm_modules" != ""; then
624 GNUPG_MSG_PRINT([mpi extra asm functions:])
625 for i in $ac_cv_mpi_extra_asm_modules; do
626     GNUPG_MSG_PRINT([$i])
627     MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.lo"
628 done
629 AC_MSG_RESULT()
630 fi
631 AC_SUBST(MPI_EXTRA_ASM_OBJS)
632 MPI_SFLAGS="$ac_cv_mpi_sflags"
633 AC_SUBST(MPI_SFLAGS)
634
635 dnl Do we have zlib? Must do it here because Solaris failed
636 dnl when compiling a conftest (due to the "-lz" from LIBS).
637 use_local_zlib=yes
638 if test "$g10_force_zlib" = "yes"; then
639   :
640 else
641   AC_CHECK_HEADERS(zlib.h)
642   if test "$ac_cv_header_zlib_h" = yes ; then
643       AC_CHECK_LIB(z,deflateInit2_,use_local_zlib=no,:)
644   fi
645 fi
646
647 if test "$use_local_zlib" = yes ; then
648     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true)
649     GNUPG_LINK_FILES(zlib/zlib.h, zlib.h )
650     GNUPG_LINK_FILES(zlib/zconf.h, zconf.h )
651     ZLIBS="../zlib/libzlib.a"
652 else
653     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, false)
654     ZLIBS=
655     LIBS="-lz $LIBS"
656 fi
657 AC_SUBST(ZLIBS)
658
659
660 changequote(,)dnl
661 tmp_pat='[a-zA-Z]'
662 changequote([,])dnl
663 if echo "$VERSION" | grep $tmp_pat >/dev/null ; then
664     AC_DEFINE(IS_DEVELOPMENT_VERSION)
665 fi
666
667 GNUPG_DO_LINK_FILES
668
669
670 AC_OUTPUT_COMMANDS([
671 cat >g10defs.tmp <<G10EOF
672 /* Generated automatically by configure */
673 #ifdef HAVE_DRIVE_LETTERS
674   #define G10_LOCALEDIR "c:/lib/gnupg/locale"
675   #define GNUPG_LIBDIR  "c:/lib/gnupg"
676   #define GNUPG_DATADIR "c:/lib/gnupg"
677 #else
678   #define G10_LOCALEDIR "${prefix}/${DATADIRNAME}/locale"
679   #define GNUPG_LIBDIR  "${libdir}/gnupg"
680   #define GNUPG_DATADIR "${datadir}/gnupg"
681 #endif
682 G10EOF
683 if cmp -s g10defs.h g10defs.tmp 2>/dev/null; then
684     echo "g10defs.h is unchanged"
685     rm -f g10defs.tmp
686 else
687     rm -f g10defs.h
688     mv g10defs.tmp g10defs.h
689     echo "g10defs.h created"
690 fi
691 ],[
692 prefix=$prefix
693 exec_prefix=$exec_prefix
694 libdir=$libdir
695 datadir=$datadir
696 DATADIRNAME=$DATADIRNAME
697 ])
698
699
700 AC_OUTPUT([
701 Makefile
702 intl/Makefile
703 po/Makefile.in
704 util/Makefile
705 mpi/Makefile
706 cipher/Makefile
707 g10/Makefile
708 doc/Makefile
709 tools/Makefile
710 zlib/Makefile
711 checks/Makefile
712 gcrypt/Makefile
713 ])
714
715 dnl *-*wedit:notab*-*  Please keep this as the last line.