* options.h, g10.c (main), compress-bz2.c (init_uncompress): Add
[gnupg.git] / configure.ac
1 dnl Configure.ac script for GnuPG
2 dnl Copyright (C) 1998, 1999, 2000, 2001, 2002,
3 dnl               2003 Free Software Foundation, Inc.
4 dnl
5 dnl This file is part of GnuPG.
6 dnl
7 dnl GnuPG is free software; you can redistribute it and/or modify
8 dnl it under the terms of the GNU General Public License as published by
9 dnl the Free Software Foundation; either version 2 of the License, or
10 dnl (at your option) any later version.
11 dnl 
12 dnl GnuPG is distributed in the hope that it will be useful,
13 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
14 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 dnl GNU General Public License for more details.
16 dnl 
17 dnl You should have received a copy of the GNU General Public License
18 dnl along with this program; if not, write to the Free Software
19 dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
20 dnl
21 dnl (Process this file with autoconf to produce a configure script.)
22 dnlAC_REVISION($Revision$)dnl
23
24 AC_PREREQ(2.57)
25
26 # Remember to change the version number immediately *after* a release
27 # and remove the "-cvs" or "rc" suffix immediately *before* a release.
28 AC_INIT(gnupg, 1.3.4-cvs, bug-gnupg@gnu.org)
29 # Set development_version to yes if the minor number is odd or you
30 # feel that the default check for a development version is not
31 # sufficient.
32 development_version=yes
33
34 AC_CONFIG_AUX_DIR(scripts)
35 AC_CONFIG_SRCDIR(g10/g10.c)
36 AC_CANONICAL_TARGET()
37 AM_INIT_AUTOMAKE
38 AM_CONFIG_HEADER(config.h)
39
40 AC_GNU_SOURCE
41
42 dnl
43 dnl  Check for random module options
44 dnl
45 AC_MSG_CHECKING([which random module to use])
46 AC_ARG_ENABLE(static-rnd,
47     [  --enable-static-rnd=[egd|unix|linux|auto]  ],
48 [use_static_rnd=$enableval], [use_static_rnd=default] )
49
50 if test "$use_static_rnd" = no; then
51     use_static_rnd=default
52 fi
53
54 case "$use_static_rnd" in
55     egd | linux | unix | default )
56       AC_MSG_RESULT($use_static_rnd)
57       ;;
58     auto )
59       AC_MSG_RESULT(automagically selected at runtime)
60       ;;
61     * )
62       AC_MSG_RESULT(invalid argument)
63       AC_MSG_ERROR(there is no random module rnd$use_static_rnd)
64       ;;
65 esac
66
67 AC_ARG_WITH(egd-socket,
68     [  --with-egd-socket=NAME  use NAME for the EGD socket],
69             egd_socket_name="$withval", egd_socket_name="" )
70 AC_DEFINE_UNQUOTED(EGD_SOCKET_NAME, "$egd_socket_name",
71                    [Define if you don't want the default EGD socket name.
72                     For details see cipher/rndegd.c])
73
74
75 dnl
76 dnl See whether the user wants to disable checking for /dev/random
77
78 AC_MSG_CHECKING([whether use of /dev/random is requested])
79 AC_ARG_ENABLE(dev-random,
80 [  --disable-dev-random    disable the use of dev random],
81     try_dev_random=$enableval, try_dev_random=yes)
82 AC_MSG_RESULT($try_dev_random)
83
84
85 dnl
86 dnl  Check other options
87 dnl
88
89 AC_MSG_CHECKING([whether assembler modules are requested])
90 AC_ARG_ENABLE(asm,
91 [  --disable-asm           do not use assembler modules],
92      try_asm_modules=$enableval, try_asm_modules=yes)
93 AC_MSG_RESULT($try_asm_modules)
94
95 AC_MSG_CHECKING([whether memory guard is requested])
96 AC_ARG_ENABLE(m-guard,
97     [  --enable-m-guard        enable memory guard facility],
98     use_m_guard=$enableval, use_m_guard=no)
99 AC_MSG_RESULT($use_m_guard)
100 if test "$use_m_guard" = yes ; then
101     AC_DEFINE(M_GUARD,1,[Define to use the (obsolete) malloc guarding feature])
102 fi
103
104 AC_MSG_CHECKING([whether OpenPGP card support is requested])
105 AC_ARG_ENABLE(card-support,
106     [  --enable-card-support   enable OpenPGP card support],
107     card_support=$enableval, card_support=no)
108 AC_MSG_RESULT($card_support)
109
110 dnl See if we are disabling any algorithms or features for a smaller
111 dnl binary
112
113 try_extensions=no
114
115 use_idea=yes
116 use_cast5=yes
117 use_blowfish=yes
118 use_aes=yes
119 use_twofish=yes
120 use_sha256=yes
121 use_sha512=yes
122 use_bzip2=yes
123 use_exec=yes
124
125 AC_ARG_ENABLE(minimal,
126    AC_HELP_STRING([--enable-minimal],[build the smallest gpg binary possible]),
127    use_idea=no
128    use_cast5=no
129    use_blowfish=no
130    use_aes=no
131    use_twofish=no
132    use_sha256=no
133    use_sha512=no
134    use_bzip2=no
135    use_exec=no)
136
137 AC_MSG_CHECKING([whether to enable the IDEA cipher])
138 AC_ARG_ENABLE(idea,
139    AC_HELP_STRING([--disable-idea],[disable the IDEA cipher]),
140    use_idea=$enableval)
141 AC_MSG_RESULT($use_idea)
142 if test x"$use_idea" = xyes ; then
143    AC_DEFINE(USE_IDEA,1,[Define to include the IDEA cipher])
144
145 # We don't need idea but some people claim that they need it for
146 # research etc., so we allow to place an idea source code into the
147 # cipher directory and statically link it if available, otherwise we
148 # link to a stub.  We don't use AC_CHECK_FILE to avoid caching.
149
150    AC_MSG_CHECKING([for idea cipher module])
151    tmp=""
152    if test -f $srcdir/cipher/idea.c; then 
153       IDEA_O=idea.o
154       tmp=idea
155    else
156       IDEA_O=idea-stub.o
157       tmp=no
158       try_extensions=yes
159    fi
160    AC_SUBST(IDEA_O)
161    AC_MSG_RESULT($tmp)
162 fi
163
164 AC_MSG_CHECKING([whether to enable the CAST5 cipher])
165 AC_ARG_ENABLE(cast5,
166    AC_HELP_STRING([--disable-cast5],[disable the CAST5 cipher]),
167    use_cast5=$enableval)
168 AC_MSG_RESULT($use_cast5)
169 if test x"$use_cast5" = xyes ; then
170    AC_DEFINE(USE_CAST5,1,[Define to include the CAST5 cipher])
171 fi
172
173 AC_MSG_CHECKING([whether to enable the BLOWFISH cipher])
174 AC_ARG_ENABLE(blowfish,
175    AC_HELP_STRING([--disable-blowfish],[disable the BLOWFISH cipher]),
176    use_blowfish=$enableval)
177 AC_MSG_RESULT($use_blowfish)
178 if test x"$use_blowfish" = xyes ; then
179    AC_DEFINE(USE_BLOWFISH,1,[Define to include the BLOWFISH cipher])
180 fi
181
182 AC_MSG_CHECKING([whether to enable the AES ciphers])
183 AC_ARG_ENABLE(aes,
184    AC_HELP_STRING([--disable-aes],[disable the AES, AES192, and AES256 ciphers]),
185    use_aes=$enableval)
186 AC_MSG_RESULT($use_aes)
187 if test x"$use_aes" = xyes ; then
188    AC_DEFINE(USE_AES,1,[Define to include the AES, AES192, and AES256 ciphers])
189 fi
190
191 AC_MSG_CHECKING([whether to enable the TWOFISH cipher])
192 AC_ARG_ENABLE(twofish,
193    AC_HELP_STRING([--disable-twofish],[disable the TWOFISH cipher]),
194    use_twofish=$enableval)
195 AC_MSG_RESULT($use_twofish)
196 if test x"$use_twofish" = xyes ; then
197    AC_DEFINE(USE_TWOFISH,1,[Define to include the TWOFISH cipher])
198 fi
199
200 AC_MSG_CHECKING([whether to enable the SHA-256 digest])
201 AC_ARG_ENABLE(sha256,
202    AC_HELP_STRING([--disable-sha256],[disable the SHA-256 digest]),
203    use_sha256=$enableval)
204 AC_MSG_RESULT($use_sha256)
205 if test x"$use_sha256" = xyes ; then
206    AC_DEFINE(USE_SHA256,1,[Define to include the SHA-256 digest])
207 fi
208
209 dnl SHA512 is defined only after we confirm 64-bit support later
210 AC_MSG_CHECKING([whether to enable the SHA-384 and SHA-512 digests])
211 AC_ARG_ENABLE(sha512,
212    AC_HELP_STRING([--disable-sha512],[disable the SHA-384 and SHA-512 digests]),
213    use_sha512=$enableval)
214 AC_MSG_RESULT($use_sha512)
215
216 dnl BZLIB is defined only after we confirm the library is available later
217 AC_MSG_CHECKING([whether to enable the BZIP2 compression algorithm])
218 AC_ARG_ENABLE(bzip2,
219    AC_HELP_STRING([--disable-bzip2],[disable the BZIP2 compression algorithm]),
220    use_bzip2=$enableval)
221 AC_MSG_RESULT($use_bzip2)
222
223 AC_MSG_CHECKING([whether to enable external program execution])
224 AC_ARG_ENABLE(exec,
225     AC_HELP_STRING([--disable-exec],[disable all external program execution]),
226     use_exec=$enableval)
227 AC_MSG_RESULT($use_exec)
228 if test "$use_exec" = no ; then
229     AC_DEFINE(NO_EXEC,1,[Define to disable all external program execution])
230 fi
231
232 if test "$use_exec" = yes ; then
233   AC_MSG_CHECKING([whether to enable photo ID viewing])
234   AC_ARG_ENABLE(photo-viewers,
235       [  --disable-photo-viewers disable photo ID viewers],
236       [if test "$enableval" = no ; then
237          AC_DEFINE(DISABLE_PHOTO_VIEWER,1,[define to disable photo viewing])
238       fi],enableval=yes)
239   gnupg_cv_enable_photo_viewers=$enableval
240   AC_MSG_RESULT($enableval)
241
242   if test "$gnupg_cv_enable_photo_viewers" = yes ; then
243     AC_MSG_CHECKING([whether to use a fixed photo ID viewer])
244     AC_ARG_WITH(photo-viewer,
245         [  --with-photo-viewer=FIXED_VIEWER  set a fixed photo ID viewer],
246         [if test "$withval" = yes ; then
247            withval=no
248         elif test "$withval" != no ; then
249            AC_DEFINE_UNQUOTED(FIXED_PHOTO_VIEWER,"$withval",
250                             [if set, restrict photo-viewer to this])
251         fi],withval=no)
252     AC_MSG_RESULT($withval)
253   fi
254
255   AC_MSG_CHECKING([whether to enable external keyserver helpers])
256   AC_ARG_ENABLE(keyserver-helpers,
257       [  --disable-keyserver-helpers  disable all external keyserver support],
258       [if test "$enableval" = no ; then
259          AC_DEFINE(DISABLE_KEYSERVER_HELPERS,1,
260                   [define to disable keyserver helpers])
261       fi],enableval=yes)
262   gnupg_cv_enable_keyserver_helpers=$enableval
263   AC_MSG_RESULT($enableval)
264
265   if test "$gnupg_cv_enable_keyserver_helpers" = yes ; then
266     AC_MSG_CHECKING([whether LDAP keyserver support is requested])
267     AC_ARG_ENABLE(ldap,
268     [  --disable-ldap          disable LDAP keyserver interface],
269         try_ldap=$enableval, try_ldap=yes)
270     AC_MSG_RESULT($try_ldap)
271
272     AC_MSG_CHECKING([whether HKP keyserver support is requested])
273     AC_ARG_ENABLE(hkp,
274     [  --disable-hkp           disable HKP keyserver interface],
275         try_hkp=$enableval, try_hkp=yes)
276     AC_MSG_RESULT($try_hkp)
277
278     AC_MSG_CHECKING([whether email keyserver support is requested])
279     AC_ARG_ENABLE(mailto,
280     [  --disable-mailto        disable email keyserver interface],
281         try_mailto=$enableval, try_mailto=yes)
282     AC_MSG_RESULT($try_mailto)
283     fi
284
285     AC_MSG_CHECKING([whether keyserver exec-path is enabled])
286     AC_ARG_ENABLE(keyserver-path,
287         [  --disable-keyserver-path disable the exec-path option for keyserver helpers],
288         [if test "$enableval" = no ; then
289          AC_DEFINE(DISABLE_KEYSERVER_PATH,1,[define to disable exec-path for keyserver helpers])
290         fi],enableval=yes)
291     AC_MSG_RESULT($enableval)
292   fi
293
294 AC_MSG_CHECKING([whether the included zlib is requested])
295 AC_ARG_WITH(included-zlib,
296     [  --with-included-zlib    use the zlib code included here],
297 [g10_force_zlib=yes], [g10_force_zlib=no] )
298 AC_MSG_RESULT($g10_force_zlib)
299
300 dnl
301 dnl Check whether we want to use Linux capabilities
302 dnl
303 AC_MSG_CHECKING([whether use of capabilities is requested])
304 AC_ARG_WITH(capabilities,
305     [  --with-capabilities     use linux capabilities [default=no]],
306 [use_capabilities="$withval"],[use_capabilities=no])
307 AC_MSG_RESULT($use_capabilities)
308
309
310 AH_BOTTOM([
311 #if !(defined(HAVE_FORK) && defined(HAVE_PIPE) && defined(HAVE_WAITPID))
312 #define EXEC_TEMPFILE_ONLY
313 #endif
314
315 /* This is the major version number of GnuPG so that
316    source included files can test for this. */
317 #define GNUPG_MAJOR_VERSION 1
318
319 #include "g10defs.h"
320 ])
321
322
323 AM_MAINTAINER_MODE
324
325 dnl Checks for programs.
326
327 AC_PROG_MAKE_SET
328 AM_SANITY_CHECK
329 missing_dir=`cd $ac_aux_dir && pwd`
330 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
331 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
332 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
333 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
334 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
335 AC_PROG_CC
336 AC_PROG_CPP
337 AC_PROG_RANLIB
338 AC_CHECK_TOOL(AR, ar, :)
339 AC_PATH_PROG(PERL,"perl")
340 AC_ISC_POSIX
341 AC_SYS_LARGEFILE
342 AC_PROG_INSTALL
343 AC_PROG_AWK
344 AC_CHECK_PROG(DOCBOOK_TO_MAN, docbook-to-man, yes, no)
345 AM_CONDITIONAL(HAVE_DOCBOOK_TO_MAN, test "$ac_cv_prog_DOCBOOK_TO_MAN" = yes)
346 GNUPG_CHECK_FAQPROG
347 GNUPG_CHECK_DOCBOOK_TO_TEXI
348
349 MPI_OPT_FLAGS=""
350
351
352 try_gettext=yes
353 have_dosish_system=no
354 need_dlopen=yes
355 case "${target}" in
356     *-*-mingw32*)
357         # special stuff for Windoze NT
358         ac_cv_have_dev_random=no
359         AC_DEFINE(USE_ONLY_8DOT3,1,
360                   [set this to limit filenames to the 8.3 format])
361         AC_DEFINE(HAVE_DRIVE_LETTERS,1,
362                   [defined if we must run on a stupid file system])
363         AC_DEFINE(USE_SIMPLE_GETTEXT,1,
364                   [because the Unix gettext has too much overhead on
365                    MingW32 systems and these systems lack Posix functions,
366                    we use a simplified version of gettext])
367         have_dosish_system=yes
368         need_dlopen=no
369         try_gettext="no"
370         ;;
371     i?86-emx-os2 | i?86-*-os2*emx )
372         # OS/2 with the EMX environment
373         ac_cv_have_dev_random=no
374         AC_DEFINE(HAVE_DRIVE_LETTERS)
375         have_dosish_system=yes
376         try_gettext="no"
377         ;;
378
379     i?86-*-msdosdjgpp*)
380         # DOS with the DJGPP environment
381         ac_cv_have_dev_random=no
382         AC_DEFINE(HAVE_DRIVE_LETTERS)
383         have_dosish_system=yes
384         try_gettext="no"
385         ;;
386
387     *-*-freebsd*)
388        # FreeBSD
389        CPPFLAGS="$CPPFLAGS -I/usr/local/include"
390        LDFLAGS="$LDFLAGS -L/usr/local/lib"
391        ;;
392
393     *-*-hpux*)
394         if test -z "$GCC" ; then
395             CFLAGS="$CFLAGS -Ae -D_HPUX_SOURCE"
396         fi
397         ;;
398     *-dec-osf4*)
399         if test -z "$GCC" ; then
400             # Suppress all warnings
401             # to get rid of the unsigned/signed char mismatch warnings.
402             CFLAGS="$CFLAGS -w"
403         fi
404         ;;
405     *-dec-osf5*)
406         if test -z "$GCC" ; then
407             # Use the newer compiler `-msg_disable ptrmismatch' to
408             # get rid of the unsigned/signed char mismatch warnings.
409             # Using this may hide other pointer mismatch warnings, but
410             # it at least lets other warning classes through
411             CFLAGS="$CFLAGS -msg_disable ptrmismatch"
412         fi
413         ;;
414     m68k-atari-mint)
415         ;;
416     *)
417        ;;
418 esac
419
420 if test "$have_dosish_system" = yes; then
421    AC_DEFINE(HAVE_DOSISH_SYSTEM,1,
422              [defined if we run on some of the PCDOS like systems 
423               (DOS, Windoze. OS/2) with special properties like
424               no file modes])
425 fi
426 AM_CONDITIONAL(HAVE_DOSISH_SYSTEM, test "$have_dosish_system" = yes)
427
428 AC_SUBST(MPI_OPT_FLAGS)
429 GNUPG_SYS_SYMBOL_UNDERSCORE
430
431 dnl This needs to go after AC_PROG_CC so that $EXEEXT is defined
432 if test "$try_hkp" = yes ; then
433   AC_SUBST(GPGKEYS_HKP,"gpgkeys_hkp$EXEEXT")
434 fi
435
436 dnl Must check for network library requirements before doing link tests
437 dnl for ldap, for example. If ldap libs are static (or dynamic and without
438 dnl ELF runtime link paths), then link will fail and LDAP support won't
439 dnl be detected.
440
441 AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname,
442         [NETLIBS="-lnsl $NETLIBS"]))
443 AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt,
444         [NETLIBS="-lsocket $NETLIBS"]))
445
446 dnl Now try for the resolver functions so we can use DNS SRV
447
448 AC_ARG_ENABLE(dns-srv,
449    AC_HELP_STRING([--disable-dns-srv],[disable the use of DNS SRV in HKP]),
450    use_dns_srv=$enableval,use_dns_srv=yes)
451
452 if test x"$try_hkp" = xyes && test x"$use_dns_srv" = xyes ; then
453   _srv_save_libs=$LIBS
454   LIBS=""
455   # the double underscore thing is a glibc-ism?
456   AC_SEARCH_LIBS(res_query,resolv bind,,
457                  AC_SEARCH_LIBS(__res_query,resolv bind,,use_dns_srv=no))
458   AC_SEARCH_LIBS(dn_expand,resolv bind,,
459                  AC_SEARCH_LIBS(__dn_expand,resolv bind,,use_dns_srv=no))
460   AC_SEARCH_LIBS(dn_skipname,resolv bind,,
461                  AC_SEARCH_LIBS(__dn_skipname,resolv bind,,use_dns_srv=no))
462
463   if test x"$use_dns_srv" = xyes ; then
464
465     # Make sure that the BIND 4 resolver interface is workable before
466     # enabling SRVs.  At some point I'll rewrite the code to use the
467     # BIND 8 resolver API.
468
469     AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>
470 #include <netinet/in.h>
471 #include <arpa/nameser.h>
472 #include <resolv.h>],
473 [[unsigned char answer[PACKETSZ]; res_query("foo.bar",C_IN,T_A,answer,PACKETSZ);]])],,use_dns_srv=no)
474   fi
475
476   if test x"$use_dns_srv" = xyes ; then
477      AC_DEFINE(USE_DNS_SRV,1,[define to use DNS SRV])
478      SRVLIBS=$LIBS
479   else
480      AC_MSG_WARN([Resolver functions not found or not usable.  Disabling DNS SRV.])
481   fi
482   LIBS=$_srv_save_libs
483 fi
484
485 AC_SUBST(SRVLIBS)
486
487 # Try and link a LDAP test program to weed out unusable LDAP
488 # libraries.  -lldap [-llber [-lresolv]] is for OpenLDAP.  OpenLDAP in
489 # general is terrible with creating weird dependencies.  If all else
490 # fails, the user can play guess-the-dependency by using something
491 # like ./configure LDAPLIBS="-Lfoo -lbar"
492
493 if test "$try_ldap" = yes ; then
494   for MY_LDAPLIBS in ${LDAPLIBS+"$LDAPLIBS"} "-lldap" "-lldap -llber" "-lldap -llber -lresolv"; do
495     _ldap_save_libs=$LIBS
496     LIBS="$MY_LDAPLIBS $NETLIBS $LIBS"
497
498     AC_MSG_CHECKING([whether LDAP via \"$MY_LDAPLIBS\" is present and sane])
499     AC_TRY_LINK([#include <ldap.h>],[ldap_open("foobar",1234);],
500                 [gnupg_cv_func_ldap_init=yes],[gnupg_cv_func_ldap_init=no])
501     AC_MSG_RESULT([$gnupg_cv_func_ldap_init])
502
503     if test $gnupg_cv_func_ldap_init = no; then
504       AC_MSG_CHECKING([whether I can make LDAP be sane with lber.h])
505       AC_TRY_LINK([#include <lber.h>
506 #include <ldap.h>],[ldap_open("foobar",1234);],
507          [gnupg_cv_func_ldaplber_init=yes],[gnupg_cv_func_ldaplber_init=no])
508       AC_MSG_RESULT([$gnupg_cv_func_ldaplber_init])
509     fi
510
511     if test "$gnupg_cv_func_ldaplber_init" = yes ; then
512        AC_DEFINE(NEED_LBER_H,1,[Define if the LDAP library requires including lber.h before ldap.h])
513     fi
514
515     if test "$gnupg_cv_func_ldap_init" = yes || \
516         test "$gnupg_cv_func_ldaplber_init" = yes ; then
517        LDAPLIBS=$MY_LDAPLIBS
518        GPGKEYS_LDAP="gpgkeys_ldap$EXEEXT"
519
520        AC_MSG_CHECKING([whether LDAP supports ldap_get_option])
521
522        if test "$gnupg_cv_func_ldap_init" = yes ; then
523           AC_TRY_LINK([#include <ldap.h>],
524              [ldap_get_option((void *)0,0,(void *)0);],
525              [gnupg_cv_func_ldap_get_option=yes],
526              [gnupg_cv_func_ldap_get_option=no])
527         else
528           AC_TRY_LINK([#include <lber.h>
529 #include <ldap.h>],[ldap_get_option((void *)0,0,(void *)0);],
530              [gnupg_cv_func_ldap_get_option=yes],
531              [gnupg_cv_func_ldap_get_option=no])
532        fi
533
534        AC_MSG_RESULT([$gnupg_cv_func_ldap_get_option])
535
536        if test "$gnupg_cv_func_ldap_get_option" = yes ; then
537           AC_DEFINE(HAVE_LDAP_GET_OPTION,1,[Define if the LDAP library has ldap_get_option])
538        else
539           AC_MSG_CHECKING([whether LDAP supports ld_errno])
540
541           if test "$gnupg_cv_func_ldap_init" = yes ; then
542             AC_TRY_COMPILE([#include <ldap.h>],
543                [LDAP *ldap; ldap->ld_errno;],
544                [gnupg_cv_func_ldap_ld_errno=yes],
545                [gnupg_cv_func_ldap_ld_errno=no])
546            else
547             AC_TRY_LINK([#include <lber.h>
548 #include <ldap.h>],[LDAP *ldap; ldap->ld_errno;],
549                [gnupg_cv_func_ldap_ld_errno=yes],
550                [gnupg_cv_func_ldap_ld_errno=no])
551           fi
552
553           AC_MSG_RESULT([$gnupg_cv_func_ldap_ld_errno])
554
555           if test "$gnupg_cv_func_ldap_ld_errno" = yes ; then
556              AC_DEFINE(HAVE_LDAP_LD_ERRNO,1,[Define if the LDAP library supports ld_errno])
557           fi
558        fi
559     fi
560
561     LIBS=$_ldap_save_libs
562
563     if test "$GPGKEYS_LDAP" != "" ; then break; fi
564   done
565 fi
566
567 AC_SUBST(GPGKEYS_LDAP)
568 AC_SUBST(LDAPLIBS)
569
570 dnl This isn't necessarily sendmail itself, but anything that gives a
571 dnl sendmail-ish interface to the outside world.  That includes qmail,
572 dnl postfix, etc.  Basically, anything that can handle "sendmail -t".
573
574 if test "$try_mailto" = yes ; then
575   AC_ARG_WITH(mailprog,[  --with-mailprog=NAME    use "NAME -t" for mail transport],,with_mailprog=yes)
576
577   if test "$with_mailprog" = yes ; then
578     AC_PATH_PROG(SENDMAIL,sendmail,,$PATH:/usr/sbin:/usr/libexec:/usr/lib)
579     if test "$ac_cv_path_SENDMAIL" ; then
580       GPGKEYS_MAILTO="gpgkeys_mailto"
581     fi
582   elif test "$with_mailprog" != no ; then
583     AC_MSG_CHECKING([for a mail transport program])
584     AC_SUBST(SENDMAIL,$with_mailprog)
585     AC_MSG_RESULT($with_mailprog)
586     GPGKEYS_MAILTO="gpgkeys_mailto"
587   fi
588 fi
589
590 AC_SUBST(GPGKEYS_MAILTO)
591
592 case "${target}" in
593     *-*-mingw32*)
594         PRINTABLE_OS_NAME="MingW32"
595         ;;
596     *-*-cygwin*)
597         PRINTABLE_OS_NAME="Cygwin"
598         ;;
599     i?86-emx-os2 | i?86-*-os2*emx )
600         PRINTABLE_OS_NAME="OS/2"
601         ;;
602     i?86-*-msdosdjgpp*)
603         PRINTABLE_OS_NAME="MSDOS/DJGPP"
604         try_extensions=no
605         ;;
606     *-linux*)
607         PRINTABLE_OS_NAME="GNU/Linux"
608         ;;
609     *)
610         PRINTABLE_OS_NAME=`uname -s || echo "Unknown"`
611         ;;
612 esac
613 AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME",
614                    [A human readable text with the name of the OS])
615
616
617 #
618 # 1. Set names of random devices
619 #
620 NAME_OF_DEV_RANDOM="/dev/random"
621 NAME_OF_DEV_URANDOM="/dev/urandom"
622 case "${target}" in
623     *-openbsd*)
624         NAME_OF_DEV_RANDOM="/dev/srandom"
625         NAME_OF_DEV_URANDOM="/dev/urandom"
626         ;;
627 esac
628 AC_DEFINE_UNQUOTED(NAME_OF_DEV_RANDOM, "$NAME_OF_DEV_RANDOM",
629                    [defined to the name of the strong random device])
630 AC_DEFINE_UNQUOTED(NAME_OF_DEV_URANDOM, "$NAME_OF_DEV_URANDOM",
631                    [defined to the name of the weaker random device])
632 AC_SUBST(MPI_OPT_FLAGS)
633
634
635 dnl Checks for libraries.
636
637 if test "$try_gettext" = yes; then
638   AM_GNU_GETTEXT(,[need-ngettext])
639
640   # gettext requires some extra checks.  These really should be part of
641   # the basic AM_GNU_GETTEXT macro.  TODO: move other gettext-specific
642   # function checks to here.
643
644   AC_CHECK_FUNCS(strchr)
645 else
646   USE_NLS=no
647   USE_INCLUDED_LIBINTL=no
648   BUILD_INCLUDED_LIBINTL=no
649   AC_SUBST(USE_NLS)
650   AC_SUBST(USE_INCLUDED_LIBINTL)
651   AC_SUBST(BUILD_INCLUDED_LIBINTL)
652 fi
653
654 if test "$try_extensions" = yes || test x"$card_support" = xyes ; then
655   if test "$need_dlopen" = yes; then
656     _dl_save_libs=$LIBS
657     LIBS=""
658     AC_SEARCH_LIBS(dlopen,dl,found_dlopen=yes)
659     if test x"$found_dlopen" = "xyes" ; then
660       AC_DEFINE(HAVE_DL_DLOPEN,1,
661                 [Defined when the dlopen function family is available])
662       DLLIBS=$LIBS
663     else
664       if test "$try_extensions" = yes ; then
665          AC_MSG_WARN([dlopen not found.  Disabling extensions.])
666          try_extensions=no
667       fi
668   
669       if test "$card_support" = yes ; then
670          AC_MSG_WARN([dlopen not found.  Disabling OpenPGP card support.])
671          card_support=no
672       fi
673     fi
674     LIBS=$_dl_save_libs
675   fi
676 fi
677
678 AC_SUBST(DLLIBS)
679
680 if test "$card_support" = yes ; then
681   AC_DEFINE(ENABLE_CARD_SUPPORT,1,[Define to include OpenPGP card support])
682 fi
683
684 if test "$try_extensions" = yes ; then
685   AC_DEFINE(USE_DYNAMIC_LINKING,1,[Define to enable the use of extensions])
686 fi
687
688 AM_CONDITIONAL(ENABLE_CARD_SUPPORT, test "$card_support" = yes)
689
690 dnl Checks for header files.
691 AC_HEADER_STDC
692 AC_CHECK_HEADERS(unistd.h langinfo.h termio.h locale.h getopt.h)
693
694 dnl Checks for typedefs, structures, and compiler characteristics.
695 AC_C_CONST
696 AC_C_INLINE
697 AC_C_VOLATILE
698 AC_TYPE_SIZE_T
699 AC_TYPE_MODE_T
700 AC_TYPE_SIGNAL
701 AC_DECL_SYS_SIGLIST
702
703 GNUPG_CHECK_ENDIAN
704
705 GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
706 GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
707 GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
708 GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
709 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
710
711 AC_CHECK_SIZEOF(unsigned short)
712 AC_CHECK_SIZEOF(unsigned int)
713 AC_CHECK_SIZEOF(unsigned long)
714 AC_CHECK_SIZEOF(unsigned long long)
715
716 # Ensure that we have UINT64_C before we bother to check for uint64_t
717 AC_CACHE_CHECK([for UINT64_C],[gnupg_cv_uint64_c_works],
718    AC_COMPILE_IFELSE(AC_LANG_PROGRAM([#include <inttypes.h>
719 uint64_t foo=UINT64_C(42);]),gnupg_cv_uint64_c_works=yes,gnupg_cv_uint64_c_works=no))
720
721 if test "$gnupg_cv_uint64_c_works" = "yes" ; then
722    AC_CHECK_SIZEOF(uint64_t)
723 fi
724
725 if test "$ac_cv_sizeof_unsigned_short" = "0" \
726    || test "$ac_cv_sizeof_unsigned_int" = "0" \
727    || test "$ac_cv_sizeof_unsigned_long" = "0"; then
728     AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
729 fi
730
731 dnl Do we have any 64-bit data types?
732 if test "$ac_cv_sizeof_unsigned_int" != "8" \
733    && test "$ac_cv_sizeof_unsigned_long" != "8" \
734    && test "$ac_cv_sizeof_unsigned_long_long" != "8" \
735    && test x"$ac_cv_sizeof_uint64_t" != "x8"; then
736     AC_MSG_WARN([No 64-bit types.  Disabling SHA-384 and SHA-512])
737 else
738   if test x"$use_sha512" = xyes ; then
739      AC_SUBST(SHA512_O,sha512.o)
740      AC_DEFINE(USE_SHA512,1,[Define to include the SHA-384 and SHA-512 digests])
741   fi
742 fi
743
744 dnl Checks for library functions.
745 AC_FUNC_FSEEKO
746 AC_FUNC_VPRINTF
747 AC_FUNC_FORK
748 AC_CHECK_FUNCS(strerror stpcpy strsep strlwr tcgetattr strtoul mmap)
749 AC_CHECK_FUNCS(strcasecmp strncasecmp ctermid times)
750 AC_CHECK_FUNCS(memmove gettimeofday getrusage setrlimit clock_gettime)
751 AC_CHECK_FUNCS(atexit raise getpagesize strftime nl_langinfo setlocale)
752 AC_CHECK_FUNCS(waitpid wait4 sigaction sigprocmask rand pipe stat getaddrinfo)
753 AC_REPLACE_FUNCS(mkdtemp)
754 AC_CHECK_TYPES([struct sigaction, sigset_t],,,[#include <signal.h>])
755
756 # See if getopt is in libiberty.  This is of course not optimal since
757 # it might be somewhere other than libiberty, but does cover the
758 # mingw32 case.
759
760 AC_CHECK_FUNC(getopt,,AC_CHECK_LIB(iberty,getopt,AC_SUBST(GETOPT,"-liberty")))
761
762 #
763 # check for gethrtime and run a testprogram to see whether
764 # it is broken.  It has been reported that some Solaris and HP UX systems 
765 # raise an SIGILL
766 #
767 AC_CACHE_CHECK([for gethrtime], 
768                [gnupg_cv_func_gethrtime],
769                [AC_TRY_LINK([#include <sys/times.h>],[
770                    hrtime_t tv;
771                    tv = gethrtime();
772                  ],
773                  [gnupg_cv_func_gethrtime=yes],
774                  [gnupg_cv_func_gethrtime=no])
775                ])
776 if test $gnupg_cv_func_gethrtime = yes; then
777      AC_DEFINE([HAVE_GETHRTIME], 1,
778                [Define if you have the `gethrtime(2)' function.])
779      AC_CACHE_CHECK([whether gethrtime is broken], 
780                [gnupg_cv_func_broken_gethrtime],
781                [AC_TRY_RUN([
782                    #include <sys/times.h>
783                    int main () {
784                    hrtime_t tv;
785                    tv = gethrtime(); 
786                  }
787                  ],
788                  [gnupg_cv_func_broken_gethrtime=no],
789                  [gnupg_cv_func_broken_gethrtime=yes],
790                  [gnupg_cv_func_broken_gethrtime=assume-no])
791                 ])
792     if test $gnupg_cv_func_broken_gethrtime = yes; then
793       AC_DEFINE([HAVE_BROKEN_GETHRTIME], 1,
794       [Define if `gethrtime(2)' does not work correctly i.e. issues a SIGILL.])
795     fi
796 fi
797      
798
799 GNUPG_CHECK_MLOCK
800 GNUPG_FUNC_MKDIR_TAKES_ONE_ARG
801
802 dnl
803 dnl Check whether we can use Linux capabilities as requested
804 dnl
805 if test "$use_capabilities" = "yes" ; then
806 use_capabilities=no
807 AC_CHECK_HEADERS(sys/capability.h)
808 if test "$ac_cv_header_sys_capability_h" = "yes" ; then
809   AC_CHECK_LIB(cap, cap_init, ac_need_libcap=1)
810   if test "$ac_cv_lib_cap_cap_init" = "yes"; then
811      AC_DEFINE(USE_CAPABILITIES,1,
812                [define if capabilities should be used])
813      AC_SUBST(CAPLIBS,"-lcap")
814      use_capabilities=yes
815   fi
816 fi
817 if test "$use_capabilities" = "no" ; then
818     AC_MSG_WARN([[
819 ***
820 *** The use of capabilities on this system is not possible.
821 *** You need a recent Linux kernel and some patches:
822 ***   fcaps-2.2.9-990610.patch      (kernel patch for 2.2.9)
823 ***   fcap-module-990613.tar.gz     (kernel module)
824 ***   libcap-1.92.tar.gz            (user mode library and utilities)
825 *** And you have to configure the kernel with CONFIG_VFS_CAP_PLUGIN
826 *** set (filesystems menu). Be warned: This code is *really* ALPHA.
827 ***]])
828 fi
829 fi
830
831
832 GNUPG_CHECK_IPC
833 if test "$ac_cv_header_sys_shm_h" = "yes"; then
834   AC_DEFINE(USE_SHM_COPROCESSING,1,
835             [define if the shared memory interface should be made available])
836 fi
837
838 dnl
839 dnl check whether we have a random device
840 dnl
841 if test "$try_dev_random" = yes ; then
842     AC_CACHE_CHECK(for random device, ac_cv_have_dev_random,
843     [if test -r "$NAME_OF_DEV_RANDOM" && test -r "$NAME_OF_DEV_URANDOM" ; then
844       ac_cv_have_dev_random=yes; else ac_cv_have_dev_random=no; fi])
845     if test "$ac_cv_have_dev_random" = yes; then
846         AC_DEFINE(HAVE_DEV_RANDOM,1,
847                  [defined if the system supports a random device] )
848     fi
849 else
850     AC_MSG_CHECKING(for random device)
851     ac_cv_have_dev_random=no
852     AC_MSG_RESULT(has been disabled)
853 fi
854
855
856 dnl
857 dnl Figure out the default random module.
858 dnl
859 random_modules=""
860 if test "$use_static_rnd" = default; then
861      if test "$ac_cv_have_dev_random" = yes; then
862         random_modules="rndlinux"
863      else
864          case "${target}" in
865             *-*-mingw32*|*-*-cygwin*)
866                 random_modules="rndw32"
867                 ;;
868             i?86-emx-os2|i?86-*-os2*emx)
869                 random_modules="rndos2"
870                 ;;
871             m68k-atari-mint)
872                 random_modules="rndatari"
873                 ;;
874             i?86-*-msdosdjgpp*)
875                 :
876                 ;;
877             *)
878                 random_modules="rndlinux rndegd rndunix"
879                 AC_DEFINE(USE_ALL_RANDOM_MODULES, 1, 
880                           [Allow to select random modules at runtime.])
881                 ;;
882          esac
883      fi
884 else
885   if test "$use_static_rnd" = auto; then
886      random_modules="rndlinux rndegd rndunix"
887      AC_DEFINE(USE_ALL_RANDOM_MODULES, 1)
888   else
889      random_modules="rnd$use_static_rnd";
890   fi
891 fi
892
893 if test -z "$random_modules"; then
894    AC_MSG_ERROR(no random module available)
895 fi
896 print_egd_warning=no
897 for rndmod in $random_modules "" ; do
898   case "$rndmod" in
899     rndlinux)
900          AC_DEFINE(USE_RNDLINUX,1, 
901                   [Defined if the /dev/random based RNG should be used.])
902          ;;
903     rndunix)
904          AC_DEFINE(USE_RNDUNIX,1, 
905                   [Defined if the default Unix RNG should be used.])
906          print_egd_warning=yes
907           ;;
908     rndegd)
909          AC_DEFINE(USE_RNDEGD,1, 
910                   [Defined if the EGD based RNG should be used.])
911          ;;
912     rndw32)
913          AC_DEFINE(USE_RNDW32,1, 
914                   [Defined if the Windows specific RNG should be used.])
915         ;;
916    esac
917 done
918
919 dnl setup assembler stuff
920 AC_MSG_CHECKING(for mpi assembler functions)
921 if test -f $srcdir/mpi/config.links ; then
922     . $srcdir/mpi/config.links
923     AC_CONFIG_LINKS("$mpi_ln_list")
924     ac_cv_mpi_extra_asm_modules="$mpi_extra_modules"
925     ac_cv_mpi_sflags="$mpi_sflags"
926     ac_cv_mpi_config_done="yes"
927     AC_MSG_RESULT(done)
928 else
929     AC_MSG_RESULT(failed)
930     AC_MSG_ERROR([mpi/config.links missing!])
931 fi
932 MPI_EXTRA_ASM_OBJS=""
933 show_extraasm=""
934 if test "$ac_cv_mpi_extra_asm_modules" != ""; then
935 for i in $ac_cv_mpi_extra_asm_modules; do
936     show_extraasm="$show_extraasm $i"
937     MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.o"
938 done
939 fi
940 AC_SUBST(MPI_EXTRA_ASM_OBJS)
941 MPI_SFLAGS="$ac_cv_mpi_sflags"
942 AC_SUBST(MPI_SFLAGS)
943
944 # Sanity check regex.  Tests adapted from mutt.
945
946 AC_MSG_CHECKING([whether regular expression support is requested])
947 AC_ARG_ENABLE(regex,
948 [  --disable-regex         do not handle regular expressions in trust sigs],
949      use_regex=$enableval, use_regex=yes)
950 AC_MSG_RESULT($use_regex)
951
952 if test "$use_regex" = yes ; then
953   AC_MSG_CHECKING([whether the included regex lib is requested])
954   AC_ARG_WITH(included-regex,
955       [  --with-included-regex   use the included GNU regex library],
956       [gnupg_cv_included_regex=yes],[gnupg_cv_included_regex=no])
957   AC_MSG_RESULT($gnupg_cv_included_regex)
958
959   if test $gnupg_cv_included_regex = no ; then
960      # Does the system have regex functions at all?
961      AC_CHECK_FUNC(regcomp,gnupg_cv_included_regex=no,
962                            gnupg_cv_included_regex=yes)
963   fi
964
965   if test $gnupg_cv_included_regex = no ; then
966      AC_CACHE_CHECK([whether your system's regexp library is broken],
967        [gnupg_cv_regex_broken],
968        AC_TRY_RUN([
969 #include <unistd.h>
970 #include <regex.h>
971 main() { regex_t blah ; regmatch_t p; p.rm_eo = p.rm_eo; return regcomp(&blah, "foo.*bar", REG_NOSUB) || regexec (&blah, "foobar", 0, NULL, 0); }],
972        gnupg_cv_regex_broken=no, gnupg_cv_regex_broken=yes, gnupg_cv_regex_broken=yes))
973
974      if test $gnupg_cv_regex_broken = yes ; then
975       AC_MSG_WARN(your regex is broken - using the included GNU regex instead.)
976       gnupg_cv_included_regex=yes
977      fi
978   fi
979
980   if test $gnupg_cv_included_regex = yes; then
981      AC_DEFINE(USE_GNU_REGEX,1,[ Define if you want to use the included regex lib ])
982      AC_SUBST(REGEX_O,regex.o)
983   fi
984 else
985
986   AC_DEFINE(DISABLE_REGEX,1,[ Define to disable regular expression support ])
987 fi
988
989 dnl Do we have zlib? Must do it here because Solaris failed
990 dnl when compiling a conftest (due to the "-lz" from LIBS).
991 use_local_zlib=yes
992 if test "$g10_force_zlib" = "yes"; then
993   :
994 else
995   _cppflags="${CPPFLAGS}"
996   _ldflags="${LDFLAGS}"
997
998   AC_ARG_WITH(zlib,
999   [  --with-zlib=DIR         use libz in DIR],[
1000     if test -d "$withval"; then
1001       CPPFLAGS="${CPPFLAGS} -I$withval/include"
1002       LDFLAGS="${LDFLAGS} -L$withval/lib"
1003     fi
1004   ])
1005
1006   AC_CHECK_HEADER(zlib.h,
1007       AC_CHECK_LIB(z, deflateInit2_,
1008        use_local_zlib=no
1009        ZLIBS="-lz",
1010        CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}),
1011        CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags})
1012 fi
1013
1014 if test "$use_local_zlib" = yes ; then
1015     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true)
1016     AC_CONFIG_LINKS(zlib.h:zlib/zlib.h zconf.h:zlib/zconf.h )
1017     ZLIBS="../zlib/libzlib.a"
1018 else
1019     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, false)
1020 fi
1021
1022 if test "$use_bzip2" = yes ; then
1023   _cppflags="${CPPFLAGS}"
1024   _ldflags="${LDFLAGS}"
1025   AC_ARG_WITH(bzip2,
1026      AC_HELP_STRING([--with-bzip2=DIR],[look for bzip2 in DIR]),
1027       [
1028       if test -d "$withval" ; then
1029         CPPFLAGS="${CPPFLAGS} -I$withval/include"
1030         LDFLAGS="${LDFLAGS} -L$withval/lib"
1031       fi
1032       ],withval="")
1033
1034   if test "$withval" != no ; then
1035      AC_CHECK_HEADER(bzlib.h,
1036         AC_CHECK_LIB(bz2,BZ2_bzCompressInit,
1037           [
1038           have_bz2=yes
1039           ZLIBS="$ZLIBS -lbz2"
1040           AC_DEFINE(HAVE_BZIP2,1,
1041                   [Defined if the bz2 compression library is available])
1042           ],
1043           CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}),
1044           CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags})
1045   fi
1046 fi
1047
1048 AM_CONDITIONAL(ENABLE_BZIP2_SUPPORT,test x"$have_bz2" = "xyes")
1049 AC_SUBST(ZLIBS)
1050
1051
1052 #
1053 # libusb allows us to use the integrated CCID smartcard reader driver.
1054 #
1055 # Note, that we need the CVS (unstable) version. 
1056 #
1057 LIBUSB_LIBS=""
1058 if test "$card_support" = yes; then
1059     AC_CHECK_LIB(usb, usb_find_device,
1060                  [ LIBUSB_LIBS="$LIBUSB_LIBS -lusb"
1061                    AC_DEFINE(HAVE_LIBUSB,1,
1062                    [defined if libusb is available])
1063                  ])
1064 fi
1065 AC_SUBST(LIBUSB_LIBS)
1066
1067
1068
1069 # Allow users to append something to the version string without
1070 # flagging it as development version.  The user version parts is
1071 # considered everything after a dash. 
1072 if test "$development_version" != yes; then
1073   changequote(,)dnl
1074   tmp_pat='[a-zA-Z]'
1075   changequote([,])dnl
1076   if echo "$VERSION" | sed 's/-.*//' | grep "$tmp_pat" >/dev/null ; then
1077     development_version=yes
1078   fi
1079 fi
1080 if test "$development_version" = yes; then
1081     AC_DEFINE(IS_DEVELOPMENT_VERSION,1,
1082             [Defined if this is not a regular release])
1083 fi
1084
1085 AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes)
1086
1087 GNUPG_CHECK_GNUMAKE
1088
1089 # add some extra libs here so that previous tests don't fail for
1090 # mysterious reasons - the final link step should bail out. 
1091 case "${target}" in
1092     *-*-mingw32*)
1093 dnl      NETLIBS="$NETLIBS -lwsock32"
1094         W32LIBS="-lwsock32"
1095         ;;
1096     *)
1097        ;;
1098 esac
1099
1100 AC_SUBST(NETLIBS)
1101 AC_SUBST(W32LIBS)
1102
1103 if test "$GCC" = yes; then
1104     if test "$USE_MAINTAINER_MODE" = "yes"; then
1105         CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
1106     else
1107         CFLAGS="$CFLAGS -Wall"
1108     fi
1109 fi
1110
1111
1112 if test "$print_egd_warning" = yes; then
1113   AC_MSG_WARN([[
1114 ***
1115 *** The performance of the UNIX random gatherer module is not very good
1116 *** and it does not keep the entropy pool over multiple invocations of
1117 *** GnuPG.  The suggested way to overcome this problem is to use the
1118 ***
1119 ***               Entropy Gathering Daemon (EGD)
1120 ***
1121 *** which provides a entropy source for the whole system.  It is written
1122 *** in Perl and available at the GnuPG FTP servers.  For more information
1123 *** consult the GnuPG webpages:
1124 ***
1125 ***           http://www.gnupg.org/download/#EGD
1126 ***
1127 *** You may want to run ./configure with --enable-static-rnd=egd or
1128 *** --enable-static-rnd=auto to use it.
1129 ***]])
1130 fi
1131
1132 # Note the \\\\ for backslashes.  Autoconf eats one layer, leaving \\
1133
1134 AC_CONFIG_COMMANDS(g10defs.h,[[
1135 cat >g10defs.tmp <<G10EOF
1136 /* Generated automatically by configure */
1137 #ifdef HAVE_DRIVE_LETTERS
1138 #define G10_LOCALEDIR     "c:\\\\lib\\\\gnupg\\\\locale"
1139 #define GNUPG_LIBDIR      "c:\\\\lib\\\\gnupg"
1140 #define GNUPG_LIBEXECDIR  "c:\\\\lib\\\\gnupg"
1141 #define GNUPG_DATADIR     "c:\\\\lib\\\\gnupg"
1142 #define GNUPG_HOMEDIR     "c:\\\\gnupg"
1143 #else
1144 #define G10_LOCALEDIR     "${datadir}/locale"
1145 #define GNUPG_LIBDIR      "${libdir}/gnupg"
1146 #define GNUPG_DATADIR     "${datadir}/gnupg"
1147 #ifdef __VMS
1148 #define GNUPG_HOMEDIR "/SYS\$LOGIN/gnupg" 
1149 #else
1150 #define GNUPG_HOMEDIR "~/.gnupg" 
1151 #endif
1152 #endif
1153 /* those are here to be redefined by handcrafted g10defs.h.
1154    Please note that the string version must not contain more
1155    than one character because the using code assumes strlen()==1 */
1156 #ifdef HAVE_DOSISH_SYSTEM
1157 #define DIRSEP_C '\\\\'
1158 #define EXTSEP_C '.'
1159 #define DIRSEP_S "\\\\"
1160 #define EXTSEP_S "."
1161 #else
1162 #define DIRSEP_C '/'
1163 #define EXTSEP_C '.'
1164 #define DIRSEP_S "/"
1165 #define EXTSEP_S "."
1166 #endif
1167 /* This is the same as VERSION, but should be overridden if the
1168    platform cannot handle things like dots'.' in filenames.  Set
1169    SAFE_VERSION_DOT and SAFE_VERSION_DASH to whatever SAFE_VERSION
1170    uses for dots and dashes. */
1171 #define SAFE_VERSION      VERSION
1172 #define SAFE_VERSION_DOT  '.'
1173 #define SAFE_VERSION_DASH '-'
1174 G10EOF
1175 cat mpi/mpi-asm-defs.h >>g10defs.tmp 
1176 if cmp -s g10defs.h g10defs.tmp 2>/dev/null; then
1177     echo "g10defs.h is unchanged"
1178     rm -f g10defs.tmp
1179 else
1180     rm -f g10defs.h
1181     mv g10defs.tmp g10defs.h
1182     echo "g10defs.h created"
1183 fi
1184 ]],[[
1185 prefix=$prefix
1186 exec_prefix=$exec_prefix
1187 libdir=$libdir
1188 libexecdir=$libexecdir
1189 datadir=$datadir
1190 DATADIRNAME=$DATADIRNAME
1191 ]])
1192
1193
1194 AC_CONFIG_FILES([
1195 Makefile
1196 m4/Makefile
1197 intl/Makefile
1198 po/Makefile.in
1199 util/Makefile
1200 mpi/Makefile
1201 cipher/Makefile
1202 g10/Makefile
1203 keyserver/Makefile
1204 keyserver/gpgkeys_mailto
1205 keyserver/gpgkeys_test
1206 doc/Makefile
1207 tools/Makefile
1208 zlib/Makefile
1209 checks/Makefile
1210 ])
1211 AC_OUTPUT
1212
1213 # Give some feedback
1214 echo
1215 echo   "                Configured for: $PRINTABLE_OS_NAME ($target)"
1216 if test -n "$show_extraasm"; then
1217   echo "  Extra cpu specific functions:$show_extraasm"
1218 fi
1219 echo