See ChangeLog: Mon Sep 13 10:55:14 CEST 1999 Werner Koch
[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     *-*-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 GNUPG_FUNC_MKDIR_TAKES_ONE_ARG
410
411 dnl
412 dnl Check whether we can use Linux capabilities as requested
413 dnl
414 if test "$use_capabilities" = "yes" ; then
415 use_capabilities=no
416 AC_CHECK_HEADERS(sys/capability.h)
417 if test "$ac_cv_header_sys_capability_h" = "yes" ; then
418   AC_CHECK_LIB(cap, cap_init, ac_need_libcap=1)
419   if test "$ac_cv_lib_cap_cap_init" = "yes"; then
420      AC_DEFINE(USE_CAPABILITIES)
421      use_capabilities=yes
422   fi
423 fi
424 if test "$use_capabilities" = "no" ; then
425     AC_MSG_WARN([[
426 ***
427 *** The use of capabilities on this system is not possible.
428 *** You need a recent Linux kernel and some patches:
429 ***   fcaps-2.2.9-990610.patch      (kernel patch for 2.2.9)
430 ***   fcap-module-990613.tar.gz     (kernel module)
431 ***   libcap-1.92.tar.gz            (user mode library and utilities)
432 *** And you have to configure the kernel with CONFIG_VFS_CAP_PLUGIN
433 *** set (filesystems menu). Be warned: This code is *really* ALPHA.
434 ***]])
435 fi
436 fi
437
438
439 GNUPG_CHECK_IPC
440 if test "$ac_cv_header_sys_shm_h" = "yes"; then
441   AC_DEFINE(USE_SHM_COPROCESSING)
442 fi
443
444 dnl
445 dnl check whether we have a random device
446 dnl
447 if test "$try_dev_random" = yes ; then
448     AC_CACHE_CHECK(for random device, ac_cv_have_dev_random,
449     [if test -c "$NAME_OF_DEV_RANDOM" && test -c "$NAME_OF_DEV_URANDOM" ; then
450       ac_cv_have_dev_random=yes; else ac_cv_have_dev_random=no; fi])
451     if test "$ac_cv_have_dev_random" = yes; then
452         AC_DEFINE(HAVE_DEV_RANDOM)
453     fi
454 else
455     AC_MSG_CHECKING(for random device)
456     ac_cv_have_dev_random=no
457     AC_MSG_RESULT(has been disabled)
458 fi
459
460 dnl
461 dnl and whether this device supports ioctl
462 dnl (Note, that we should do a real test here)
463 dnl
464 if test "$ac_cv_have_dev_random" = yes ; then
465     AC_CHECK_HEADERS(linux/random.h)
466     AC_CACHE_CHECK(for random device ioctl, ac_cv_have_dev_random_ioctl,
467       [ if test "$ac_cv_header_linux_random_h" = yes ; then
468           ac_cv_have_dev_random_ioctl=yes;
469         else
470           ac_cv_have_dev_random_ioctl=no;
471         fi
472       ])
473     if test "$ac_cv_have_dev_random_ioctl" = yes; then
474         AC_DEFINE(HAVE_DEV_RANDOM_IOCTL)
475     fi
476 fi
477
478
479 dnl
480 dnl Figure out the default linkage mode for cipher modules
481 dnl
482 dnl (We always need a static rmd160)
483 print_egd_notice=no
484 static_modules="$static_modules rmd160"
485 if test "$use_static_rnd" = default; then
486   if test "$ac_cv_have_dev_random" = yes; then
487       static_modules="$static_modules rndlinux"
488   else
489       case "${target}" in
490           *-*-mingw32)
491               static_modules="$static_modules rndw32"
492               ;;
493           i?86-emx-os2|i?86-*-os2*emx)
494               static_modules="$static_modules rndos2"
495               ;;
496           m68k-atari-mint)
497               static_modules="$static_modules rndatari"
498               ;;
499           i?86-*-msdosdjgpp*)
500               static_modules="$static_modules"
501               ;;
502           *)
503               static_modules="$static_modules rndunix"
504               print_egd_notice=yes
505              ;;
506       esac
507   fi
508 else
509   if test "$use_static_rnd" = none; then
510     :
511   else
512     static_modules="$static_modules rnd$use_static_rnd"
513     if test "$use_static_rnd" = "unix"; then
514         print_egd_notice=yes
515     fi
516   fi
517 fi
518
519
520 if test "$print_egd_notice" = "yes"; then
521     AC_MSG_WARN([[
522 ***
523 *** The performance of the UNIX random gatherer module is not very good
524 *** and it does not keep the entropy pool over multiple invocations of
525 *** GnuPG.  The suggested way to overcome this problem is to use the
526 ***
527 ***               Entropy Gathering Daemon (EGD)
528 ***
529 *** which provides a entropy source for the whole system.  It is written
530 *** in Perl and available at the GnuPG FTP servers.  For more information
531 *** consult the GnuPG webpages:
532 ***
533 ***           http://www.gnupg.org/download.html#egd
534 ***
535 *** You may want to run ./configure with --enable-static-rnd=none to be
536 *** able to load the EGD client code dynamically; this way you can choose
537 *** between RNDUNIX and RNDEGD without recompilation.
538 ***]])
539 fi
540
541 dnl
542 dnl Parse the modules list and build the list
543 dnl of static and dymically linked modules
544 dnl
545 STATIC_CIPHER_NAMES=""
546 STATIC_CIPHER_OBJS=""
547 DYNAMIC_CIPHER_MODS=""
548 GNUPG_MSG_PRINT([dynamically linked cipher modules:])
549 for name in $MODULES_IN_CIPHER; do
550     x="no"
551     for i in $static_modules; do
552         if test "$name" = "$i" ; then
553             x="yes"
554         fi
555     done;
556     if test $x = yes; then
557         STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name"
558         STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo"
559     else
560         DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name"
561         GNUPG_MSG_PRINT([$name])
562     fi
563 done
564 AC_MSG_RESULT()
565 AC_SUBST(STATIC_CIPHER_OBJS)
566 AC_SUBST(STATIC_CIPHER_NAMES)
567 AC_SUBST(DYNAMIC_CIPHER_MODS)
568
569 dnl
570 dnl And build the constructor file
571 dnl
572
573 test -d cipher || mkdir cipher
574 cat <<G10EOF >cipher/construct.c
575 /* automatically generated by configure - do not edit */
576
577 G10EOF
578 GNUPG_MSG_PRINT([statically linked cipher modules:])
579 for name in $STATIC_CIPHER_NAMES; do
580     echo "void ${name}_constructor(void);" >>cipher/construct.c
581     GNUPG_MSG_PRINT([$name])
582 done
583 AC_MSG_RESULT()
584 cat <<G10EOF >>cipher/construct.c
585
586 void
587 cipher_modules_constructor(void)
588 {
589     static int done = 0;
590     if( done )
591         return;
592     done = 1;
593
594 G10EOF
595 for name in $STATIC_CIPHER_NAMES; do
596     echo "   ${name}_constructor();" >>cipher/construct.c
597 done
598 echo '}' >>cipher/construct.c
599
600
601
602
603 dnl
604 dnl Figure how to link the cipher modules
605 dnl
606 AC_SUBST(STATIC_CIPHER_OBJS)
607 AC_SUBST(DYNAMIC_CIPHER_MODS)
608
609
610 dnl setup assembler stuff
611 AC_MSG_CHECKING(for mpi assembler functions)
612 if test -f $srcdir/mpi/config.links ; then
613     . $srcdir/mpi/config.links
614     GNUPG_LINK_FILES($mpi_ln_src, $mpi_ln_dst)
615     ac_cv_mpi_extra_asm_modules="$mpi_extra_modules"
616     ac_cv_mpi_sflags="$mpi_sflags"
617     ac_cv_mpi_config_done="yes"
618     AC_MSG_RESULT(done)
619 else
620     AC_MSG_RESULT(failed)
621     AC_MSG_ERROR([mpi/config.links missing!])
622 fi
623 MPI_EXTRA_ASM_OBJS=""
624 if test "$ac_cv_mpi_extra_asm_modules" != ""; then
625 GNUPG_MSG_PRINT([mpi extra asm functions:])
626 for i in $ac_cv_mpi_extra_asm_modules; do
627     GNUPG_MSG_PRINT([$i])
628     MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.lo"
629 done
630 AC_MSG_RESULT()
631 fi
632 AC_SUBST(MPI_EXTRA_ASM_OBJS)
633 MPI_SFLAGS="$ac_cv_mpi_sflags"
634 AC_SUBST(MPI_SFLAGS)
635
636 dnl Do we have zlib? Must do it here because Solaris failed
637 dnl when compiling a conftest (due to the "-lz" from LIBS).
638 use_local_zlib=yes
639 if test "$g10_force_zlib" = "yes"; then
640   :
641 else
642   AC_CHECK_HEADERS(zlib.h)
643   if test "$ac_cv_header_zlib_h" = yes ; then
644       AC_CHECK_LIB(z,deflateInit2_,use_local_zlib=no,:)
645   fi
646 fi
647
648 if test "$use_local_zlib" = yes ; then
649     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true)
650     GNUPG_LINK_FILES(zlib/zlib.h, zlib.h )
651     GNUPG_LINK_FILES(zlib/zconf.h, zconf.h )
652     ZLIBS="../zlib/libzlib.a"
653 else
654     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, false)
655     ZLIBS=
656     LIBS="-lz $LIBS"
657 fi
658 AC_SUBST(ZLIBS)
659
660
661 changequote(,)dnl
662 tmp_pat='[a-zA-Z]'
663 changequote([,])dnl
664 if echo "$VERSION" | grep $tmp_pat >/dev/null ; then
665     AC_DEFINE(IS_DEVELOPMENT_VERSION)
666 fi
667
668 GNUPG_DO_LINK_FILES
669
670
671 AC_OUTPUT_COMMANDS([
672 cat >g10defs.tmp <<G10EOF
673 /* Generated automatically by configure */
674 #ifdef HAVE_DRIVE_LETTERS
675   #define G10_LOCALEDIR "c:/lib/gnupg/locale"
676   #define GNUPG_LIBDIR  "c:/lib/gnupg"
677   #define GNUPG_DATADIR "c:/lib/gnupg"
678 #else
679   #define G10_LOCALEDIR "${prefix}/${DATADIRNAME}/locale"
680   #define GNUPG_LIBDIR  "${libdir}/gnupg"
681   #define GNUPG_DATADIR "${datadir}/gnupg"
682 #endif
683 G10EOF
684 if cmp -s g10defs.h g10defs.tmp 2>/dev/null; then
685     echo "g10defs.h is unchanged"
686     rm -f g10defs.tmp
687 else
688     rm -f g10defs.h
689     mv g10defs.tmp g10defs.h
690     echo "g10defs.h created"
691 fi
692 ],[
693 prefix=$prefix
694 exec_prefix=$exec_prefix
695 libdir=$libdir
696 datadir=$datadir
697 DATADIRNAME=$DATADIRNAME
698 ])
699
700
701 AC_OUTPUT([
702 Makefile
703 intl/Makefile
704 po/Makefile.in
705 util/Makefile
706 mpi/Makefile
707 cipher/Makefile
708 g10/Makefile
709 doc/Makefile
710 doc/gph/Makefile
711 tools/Makefile
712 zlib/Makefile
713 checks/Makefile
714 gcrypt/Makefile
715 ])
716
717 dnl *-*wedit:notab*-*  Please keep this as the last line.