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