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