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