New option --disable-threads to inhibit
[gnupg.git] / configure.ac
1 # configure.ac - for GnuPG 1.9
2 # Copyright (C) 1998, 1999, 2000, 2001, 2002,
3 #               2003 Free Software Foundation, Inc.
4
5 # This file is part of GnuPG.
6
7 # GnuPG is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
11
12 # GnuPG is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
20
21 # Process this file with autoconf to produce a configure script.
22 AC_PREREQ(2.52)
23 min_automake_version="1.7.6"
24
25 # Version number: Remember to change it immediately *after* a release.
26 #                 Add a "-cvs" prefix for non-released code.
27 AC_INIT(gnupg, 1.9.6-cvs, gnupg-devel@gnupg.org)
28 # Set development_version to yes if the minor number is odd or you
29 # feel that the default check for a development version is not
30 # sufficient.
31 development_version=yes
32 NEED_GPG_ERROR_VERSION=0.6
33 NEED_LIBGCRYPT_VERSION=1.1.92
34 NEED_LIBASSUAN_VERSION=0.6.4
35 NEED_KSBA_VERSION=0.9.4
36 NEED_OPENSC_VERSION=0.8.0
37
38
39 PACKAGE=$PACKAGE_NAME
40 VERSION=$PACKAGE_VERSION
41
42 AC_CONFIG_AUX_DIR(scripts)
43 AC_CONFIG_SRCDIR(sm/gpgsm.c)
44 AM_CONFIG_HEADER(config.h)
45 AC_CANONICAL_TARGET()
46 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
47
48 AC_GNU_SOURCE
49
50 # Some status variables to give feedback at the end of a configure run
51 have_gpg_error=no
52 have_libgcrypt=no 
53 have_libassuan=no
54 have_ksba=no
55 have_opensc=no
56 have_pth=no
57
58 GNUPG_BUILD_PROGRAM(gpg, yes)
59 GNUPG_BUILD_PROGRAM(gpgsm, yes)
60 GNUPG_BUILD_PROGRAM(agent, yes)
61 GNUPG_BUILD_PROGRAM(scdaemon, yes)
62
63
64 AC_SUBST(PACKAGE)
65 AC_SUBST(VERSION)
66 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package])
67 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version of this package])
68 AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT, "$PACKAGE_BUGREPORT",
69                                         [Bug report address])
70 AC_DEFINE_UNQUOTED(NEED_LIBGCRYPT_VERSION, "$NEED_LIBGCRYPT_VERSION",
71                                        [Required version of Libgcrypt])
72 AC_DEFINE_UNQUOTED(NEED_KSBA_VERSION, "$NEED_KSBA_VERSION",
73                                        [Required version of Libksba])
74
75
76
77 # The default is to use the modules from this package and the few
78 # other packages in a standard place; i.e where this package gets
79 # installed.  With these options it is possible to override these
80 # ${prefix} depended values with fixed paths, which can't be replaced
81 # at make time.  See also am/cmacros.am and the defaults in AH_BOTTOM.
82 AC_ARG_WITH(agent-pgm,
83     [  --with-agent-pgm=PATH  Use PATH as the default for the agent)],
84           GNUPG_AGENT_PGM="$withval", GNUPG_AGENT_PGM="" )
85 AC_SUBST(GNUPG_AGENT_PGM)
86 AM_CONDITIONAL(GNUPG_AGENT_PGM, test -n "$GNUPG_AGENT_PGM")
87 show_gnupg_agent_pgm="(default)"
88 test -n "$GNUPG_AGENT_PGM" && show_gnupg_agent_pgm="$GNUPG_AGENT_PGM"
89
90 AC_ARG_WITH(pinentry-pgm,
91     [  --with-pinentry-pgm=PATH  Use PATH as the default for the pinentry)],
92           GNUPG_PINENTRY_PGM="$withval", GNUPG_PINENTRY_PGM="" )
93 AC_SUBST(GNUPG_PINENTRY_PGM)
94 AM_CONDITIONAL(GNUPG_PINENTRY_PGM, test -n "$GNUPG_PINENTRY_PGM")
95 show_gnupg_pinentry_pgm="(default)"
96 test -n "$GNUPG_PINENTRY_PGM" && show_gnupg_pinentry_pgm="$GNUPG_PINENTRY_PGM"
97
98
99 AC_ARG_WITH(scdaemon-pgm,
100     [  --with-scdaemon-pgm=PATH  Use PATH as the default for the scdaemon)],
101           GNUPG_SCDAEMON_PGM="$withval", GNUPG_SCDAEMON_PGM="" )
102 AC_SUBST(GNUPG_SCDAEMON_PGM)
103 AM_CONDITIONAL(GNUPG_SCDAEMON_PGM, test -n "$GNUPG_SCDAEMON_PGM")
104 show_gnupg_scdaemon_pgm="(default)"
105 test -n "$GNUPG_SCDAEMON_PGM" && show_gnupg_scdaemon_pgm="$GNUPG_SCDAEMON_PGM"
106
107
108 AC_ARG_WITH(dirmngr-pgm,
109     [  --with-dirmngr-pgm=PATH  Use PATH as the default for the dirmngr)],
110           GNUPG_DIRMNGR_PGM="$withval", GNUPG_DIRMNGR_PGM="" )
111 AC_SUBST(GNUPG_DIRMNGR_PGM)
112 AM_CONDITIONAL(GNUPG_DIRMNGR_PGM, test -n "$GNUPG_DIRMNGR_PGM")
113 show_gnupg_dirmngr_pgm="(default)"
114 test -n "$GNUPG_DIRMNGR_PGM" && show_gnupg_dirmngr_pgm="$GNUPG_DIRMNGR_PGM"
115
116 AC_ARG_WITH(protect-tool-pgm,
117     [  --with-protect-tool-pgm=PATH  Use PATH as the default for the protect-tool)],
118           GNUPG_PROTECT_TOOL_PGM="$withval", GNUPG_PROTECT_TOOL_PGM="" )
119 AC_SUBST(GNUPG_PROTECT_TOOL_PGM)
120 AM_CONDITIONAL(GNUPG_PROTECT_TOOL_PGM, test -n "$GNUPG_PROTECT_TOOL_PGM")
121 show_gnupg_protect_tool_pgm="(default)"
122 test -n "$GNUPG_PROTECT_TOOL_PGM" \
123       && show_gnupg_protect_tool_pgm="$GNUPG_PROTECT_TOOL_PGM"
124
125
126
127 # Configure option to allow ot disallow execution of external
128 # programs, like a photo viewer.
129 AC_MSG_CHECKING([whether to enable external program execution])
130 AC_ARG_ENABLE(exec,
131     AC_HELP_STRING([--disable-exec],[disable all external program execution]),
132     use_exec=$enableval)
133 AC_MSG_RESULT($use_exec)
134 if test "$use_exec" = no ; then
135     AC_DEFINE(NO_EXEC,1,[Define to disable all external program execution])
136 fi
137
138 if test "$use_exec" = yes ; then
139   AC_MSG_CHECKING([whether to enable photo ID viewing])
140   AC_ARG_ENABLE(photo-viewers,
141       [  --disable-photo-viewers disable photo ID viewers],
142       [if test "$enableval" = no ; then
143          AC_DEFINE(DISABLE_PHOTO_VIEWER,1,[define to disable photo viewing])
144       fi],enableval=yes)
145   gnupg_cv_enable_photo_viewers=$enableval
146   AC_MSG_RESULT($enableval)
147
148   if test "$gnupg_cv_enable_photo_viewers" = yes ; then
149     AC_MSG_CHECKING([whether to use a fixed photo ID viewer])
150     AC_ARG_WITH(photo-viewer,
151         [  --with-photo-viewer=FIXED_VIEWER  set a fixed photo ID viewer],
152         [if test "$withval" = yes ; then
153            withval=no
154         elif test "$withval" != no ; then
155            AC_DEFINE_UNQUOTED(FIXED_PHOTO_VIEWER,"$withval",
156                             [if set, restrict photo-viewer to this])
157         fi],withval=no)
158     AC_MSG_RESULT($withval)
159   fi
160
161   AC_MSG_CHECKING([whether to enable external keyserver helpers])
162   AC_ARG_ENABLE(keyserver-helpers,
163       [  --disable-keyserver-helpers  disable all external keyserver support],
164       [if test "$enableval" = no ; then
165          AC_DEFINE(DISABLE_KEYSERVER_HELPERS,1,
166                   [define to disable keyserver helpers])
167       fi],enableval=yes)
168   gnupg_cv_enable_keyserver_helpers=$enableval
169   AC_MSG_RESULT($enableval)
170
171   if test "$gnupg_cv_enable_keyserver_helpers" = yes ; then
172     AC_MSG_CHECKING([whether LDAP keyserver support is requested])
173     AC_ARG_ENABLE(ldap,
174     [  --disable-ldap          disable LDAP keyserver interface],
175         try_ldap=$enableval, try_ldap=yes)
176     AC_MSG_RESULT($try_ldap)
177
178     AC_MSG_CHECKING([whether HKP keyserver support is requested])
179     AC_ARG_ENABLE(hkp,
180     [  --disable-hkp           disable HKP keyserver interface],
181         try_hkp=$enableval, try_hkp=yes)
182     AC_MSG_RESULT($try_hkp)
183
184     if test "$try_hkp" = yes ; then
185       AC_SUBST(GPGKEYS_HKP,"gpgkeys_hkp$EXEEXT")
186     fi
187
188     AC_MSG_CHECKING([whether email keyserver support is requested])
189     AC_ARG_ENABLE(mailto,
190     [  --disable-mailto        disable email keyserver interface],
191         try_mailto=$enableval, try_mailto=yes)
192     AC_MSG_RESULT($try_mailto)
193     fi
194
195     AC_MSG_CHECKING([whether keyserver exec-path is enabled])
196     AC_ARG_ENABLE(keyserver-path,
197         [  --disable-keyserver-path disable the exec-path option for keyserver helpers],
198         [if test "$enableval" = no ; then
199          AC_DEFINE(DISABLE_KEYSERVER_PATH,1,[define to disable exec-path for keyserver helpers])
200         fi],enableval=yes)
201     AC_MSG_RESULT($enableval)
202   fi
203
204 AC_MSG_CHECKING([whether the included zlib is requested])
205 AC_ARG_WITH(included-zlib,
206     [  --with-included-zlib    use the zlib code included here],
207 [g10_force_zlib=yes], [g10_force_zlib=no] )
208 AC_MSG_RESULT($g10_force_zlib)
209
210 dnl
211 dnl Check whether we want to use Linux capabilities
212 dnl
213 AC_MSG_CHECKING([whether use of capabilities is requested])
214 AC_ARG_WITH(capabilities,
215     [  --with-capabilities     use linux capabilities [default=no]],
216 [use_capabilities="$withval"],[use_capabilities=no])
217 AC_MSG_RESULT($use_capabilities)
218
219
220 AH_BOTTOM([
221 /* Some global constants. */
222 #ifdef HAVE_DRIVE_LETTERS
223 #define GNUPG_DEFAULT_HOMEDIR "c:/gnupg"
224 #elif defined(__VMS)
225 #define GNUPG_DEFAULT_HOMEDIR "/SYS\$LOGIN/gnupg" 
226 #else
227 #define GNUPG_DEFAULT_HOMEDIR "~/.gnupg"
228 #endif 
229 #define GNUPG_PRIVATE_KEYS_DIR "private-keys-v1.d"
230
231 /* Tell libgcrypt not to use its own libgpg-error implementation. */
232 #define USE_LIBGPG_ERROR 1
233
234 /* This is the major version number of GnuPG so that
235    source included files can test for this.  Note, that\
236    we use 2 here even for GnuPG 1.9.x. */
237 #define GNUPG_MAJOR_VERSION 2
238
239 /* Now to separate file name parts.
240    Please note that the string version must not contain more
241    than one character because the code assumes strlen()==1 */
242 #ifdef HAVE_DOSISH_SYSTEM
243 #define DIRSEP_C '\\'
244 #define EXTSEP_C '.'
245 #define DIRSEP_S "\\"
246 #define EXTSEP_S "."
247 #else
248 #define DIRSEP_C '/'
249 #define EXTSEP_C '.'
250 #define DIRSEP_S "/"
251 #define EXTSEP_S "."
252 #endif
253
254 /* This is the same as VERSION, but should be overridden if the
255    platform cannot handle things like dots '.' in filenames. */
256 #define SAFE_VERSION VERSION
257
258 /* For some systems (DOS currently), we hardcode the path here.  For
259    POSIX systems the values are constructed by the Makefiles, so that
260    the values may be overridden by the make invocations; this is to
261    comply with the GNU coding standards. */
262 #ifdef HAVE_DRIVE_LETTERS
263 #define GNUPG_BINDIR      "c:\\gnupg"
264 #define GNUPG_LIBEXECDIR  "c:\\lib\\gnupg"
265 #define GNUPG_LIBDIR      "c:\\lib\\gnupg"
266 #define GNUPG_DATADIR     "c:\\lib\\gnupg"
267 #endif
268
269 /* Setup the hardwired names of modules. */
270 #ifndef GNUPG_DEFAULT_AGENT
271 #define GNUPG_DEFAULT_AGENT    ( GNUPG_BINDIR DIRSEP_S "gpg-agent" )
272 #endif
273 #ifndef GNUPG_DEFAULT_PINENTRY
274 #define GNUPG_DEFAULT_PINENTRY ( GNUPG_BINDIR DIRSEP_S "pinentry" )
275 #endif
276 #ifndef GNUPG_DEFAULT_SCDAEMON
277 #define GNUPG_DEFAULT_SCDAEMON ( GNUPG_BINDIR DIRSEP_S "scdaemon" )
278 #endif
279 #ifndef GNUPG_DEFAULT_DIRMNGR
280 #define GNUPG_DEFAULT_DIRMNGR  ( GNUPG_BINDIR DIRSEP_S "dirmngr" )
281 #endif
282 #ifndef GNUPG_DEFAULT_PROTECT_TOOL
283 #define GNUPG_DEFAULT_PROTECT_TOOL \
284                     ( GNUPG_LIBEXECDIR DIRSEP_S "gpg-protect-tool" )
285 #endif
286
287
288 /* Derive some other constants. */
289 #if !(defined(HAVE_FORK) && defined(HAVE_PIPE) && defined(HAVE_WAITPID))
290 #define EXEC_TEMPFILE_ONLY
291 #endif
292
293 ])
294
295 AM_MAINTAINER_MODE
296
297 # Checks for programs.
298 AC_PROG_MAKE_SET
299 AM_SANITY_CHECK
300 missing_dir=`cd $ac_aux_dir && pwd`
301 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
302 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
303 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
304 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
305 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
306 AC_PROG_AWK
307 AC_PROG_CC
308 AC_PROG_CPP
309 AC_PROG_INSTALL
310 AC_PROG_LN_S
311 AC_PROG_MAKE_SET
312 AC_PROG_RANLIB
313 AC_CHECK_TOOL(AR, ar, :)
314 AC_PATH_PROG(PERL,"perl")
315 AC_ISC_POSIX
316 AC_SYS_LARGEFILE
317 AC_CHECK_PROG(DOCBOOK_TO_MAN, docbook-to-man, yes, no)
318 AM_CONDITIONAL(HAVE_DOCBOOK_TO_MAN, test "$ac_cv_prog_DOCBOOK_TO_MAN" = yes)
319 GNUPG_CHECK_FAQPROG
320 GNUPG_CHECK_DOCBOOK_TO_TEXI
321
322
323 try_gettext=yes
324 have_dosish_system=no
325 case "${target}" in
326     *-*-mingw32*)
327         # special stuff for Windoze NT
328         ac_cv_have_dev_random=no
329         AC_DEFINE(USE_ONLY_8DOT3,1,
330                   [set this to limit filenames to the 8.3 format])
331         AC_DEFINE(HAVE_DRIVE_LETTERS,1,
332                   [defined if we must run on a stupid file system])
333         AC_DEFINE(USE_SIMPLE_GETTEXT,1,
334                   [because the Unix gettext has too much overhead on
335                    MingW32 systems and these systems lack Posix functions,
336                    we use a simplified version of gettext])
337         have_dosish_system=yes
338         try_gettext="no"
339         ;;
340     i?86-emx-os2 | i?86-*-os2*emx )
341         # OS/2 with the EMX environment
342         ac_cv_have_dev_random=no
343         AC_DEFINE(HAVE_DRIVE_LETTERS)
344         have_dosish_system=yes
345         try_gettext="no"
346         ;;
347
348     i?86-*-msdosdjgpp*)
349         # DOS with the DJGPP environment
350         ac_cv_have_dev_random=no
351         AC_DEFINE(HAVE_DRIVE_LETTERS)
352         have_dosish_system=yes
353         try_gettext="no"
354         ;;
355
356     *-*-freebsd*)
357        # FreeBSD
358        CPPFLAGS="$CPPFLAGS -I/usr/local/include"
359        LDFLAGS="$LDFLAGS -L/usr/local/lib"
360        ;;
361
362     *-*-hpux*)
363         if test -z "$GCC" ; then
364             CFLAGS="$CFLAGS -Ae -D_HPUX_SOURCE"
365         fi
366         ;;
367     *-dec-osf4*)
368         if test -z "$GCC" ; then
369             # Suppress all warnings
370             # to get rid of the unsigned/signed char mismatch warnings.
371             CFLAGS="$CFLAGS -w"
372         fi
373         ;;
374     *-dec-osf5*)
375         if test -z "$GCC" ; then
376             # Use the newer compiler `-msg_disable ptrmismatch' to
377             # get rid of the unsigned/signed char mismatch warnings.
378             # Using this may hide other pointer mismatch warnings, but
379             # it at least lets other warning classes through
380             CFLAGS="$CFLAGS -msg_disable ptrmismatch"
381         fi
382         ;;
383     m68k-atari-mint)
384         ;;
385     *)
386        ;;
387 esac
388
389 if test "$have_dosish_system" = yes; then
390    AC_DEFINE(HAVE_DOSISH_SYSTEM,1,
391              [defined if we run on some of the PCDOS like systems 
392               (DOS, Windoze. OS/2) with special properties like
393               no file modes])
394 fi
395 AM_CONDITIONAL(HAVE_DOSISH_SYSTEM, test "$have_dosish_system" = yes)
396
397
398 #
399 # Checks for libraries.
400 #
401
402
403 #
404 # libgpg-error is a library with error codes shared between GnuPG
405 # related projects.
406 #
407 AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION",
408                   have_gpg_error=yes,have_gpg_error=no)
409
410
411 #
412 # Libgcrypt is our generic crypto library
413 #
414 AM_PATH_LIBGCRYPT("$NEED_LIBGCRYPT_VERSION",
415         have_libgcrypt=yes,have_libgcrypt=no)
416
417
418 #
419 # libassuan is used for IPC
420 #
421 AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_VERSION",
422                   have_libassuan=yes,have_libassuan=no)
423
424
425 #
426 # libksba is our X.509 support library
427 #
428 AM_PATH_KSBA("$NEED_KSBA_VERSION",have_ksba=yes,have_ksba=no)
429
430 #
431 # libusb allows us to use the integrated CCID smartcard reader driver.
432 #
433 # Note, that we need the CVS version.  FIXME: libusb should have a
434 # regular check as the other libraries do.
435 #
436 AC_CHECK_LIB(usb, usb_find_device,
437               [ LIBUSB_LIBS="$LIBUSB_LIBS -lusb"
438                 AC_DEFINE(HAVE_LIBUSB,1,
439                          [defined if libusb is available])
440              ])
441 AC_SUBST(LIBUSB_LIBS)
442
443
444 #
445 # OpenSC is needed by the SCdaemon - if it is not availbale we can only
446 # build a limited SCdaemon
447 #
448 AM_PATH_OPENSC("$NEED_OPENSC_VERSION",have_opensc=yes,have_opensc=no)
449 if test $have_opensc = yes; then
450   AC_DEFINE(HAVE_OPENSC,1,
451             [defined if the OpenSC library is available])
452 fi
453
454 #
455 # Check whether the (highly desirable) GNU Pth library is available
456 #
457 AC_ARG_WITH(pth-prefix,
458             AC_HELP_STRING([--with-pth-prefix=PFX],
459                            [prefix where GNU Pth is installed (optional)]),
460      pth_config_prefix="$withval", pth_config_prefix="")
461 if test x$pth_config_prefix != x ; then
462    PTH_CONFIG="$pth_config_prefix/bin/pth-config"
463 fi
464 AC_PATH_PROG(PTH_CONFIG, pth-config, no)
465 if test "$PTH_CONFIG" = "no"; then
466     AC_MSG_WARN([[
467 ***
468 *** To support concurrent access to the gpg-agent and the SCdaemon
469 *** we need the support of the GNU Portable Threads Library.
470 *** Download it from ftp://ftp.gnu.org/gnu/pth/
471 *** On a Debian GNU/Linux system you might want to try 
472 ***   apt-get install libpth-dev
473 ***]])
474 else
475   GNUPG_PTH_VERSION_CHECK(1.3.7)
476   if test $have_pth = yes; then      
477      PTH_CFLAGS=`$PTH_CONFIG --cflags`
478      PTH_LIBS=`$PTH_CONFIG --ldflags`
479      PTH_LIBS="$PTH_LIBS `$PTH_CONFIG --libs`"
480      AC_DEFINE(USE_GNU_PTH, 1,
481               [Defined if the GNU Portable Thread Library should be used])
482   fi
483 fi
484 AC_SUBST(PTH_CFLAGS)
485 AC_SUBST(PTH_LIBS)
486
487 AC_ARG_ENABLE(threads,
488     AC_HELP_STRING([--disable-threads],[allow building without Pth support]);
489     
490 )
491
492
493 dnl Must check for network library requirements before doing link tests
494 dnl for ldap, for example. If ldap libs are static (or dynamic and without
495 dnl ELF runtime link paths), then link will fail and LDAP support won't
496 dnl be detected.
497
498 AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname,
499         [NETLIBS="-lnsl $NETLIBS"]))
500 AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt,
501         [NETLIBS="-lsocket $NETLIBS"]))
502
503 dnl Now try for the resolver functions so we can use DNS SRV
504
505 AC_ARG_ENABLE(dns-srv,
506    AC_HELP_STRING([--disable-dns-srv],[disable the use of DNS SRV in HKP]),
507    use_dns_srv=$enableval,use_dns_srv=yes)
508
509 if test x"$try_hkp" = xyes && test x"$use_dns_srv" = xyes ; then
510   _srv_save_libs=$LIBS
511   LIBS=""
512   # the double underscore thing is a glibc-ism?
513   AC_SEARCH_LIBS(res_query,resolv bind,,
514                  AC_SEARCH_LIBS(__res_query,resolv bind,,use_dns_srv=no))
515   AC_SEARCH_LIBS(dn_expand,resolv bind,,
516                  AC_SEARCH_LIBS(__dn_expand,resolv bind,,use_dns_srv=no))
517   AC_SEARCH_LIBS(dn_skipname,resolv bind,,
518                  AC_SEARCH_LIBS(__dn_skipname,resolv bind,,use_dns_srv=no))
519
520   if test x"$use_dns_srv" = xyes ; then
521      AC_DEFINE(USE_DNS_SRV,1,[define to use DNS SRV])
522      SRVLIBS=$LIBS
523   else
524      AC_MSG_WARN([Resolver functions not found.  Disabling DNS SRV.])
525   fi
526   LIBS=$_srv_save_libs
527 fi
528
529 AC_SUBST(SRVLIBS)
530
531 # Try and link a LDAP test program to weed out unusable LDAP
532 # libraries.  -lldap [-llber [-lresolv]] is for OpenLDAP.  OpenLDAP in
533 # general is terrible with creating weird dependencies.  If all else
534 # fails, the user can play guess-the-dependency by using something
535 # like ./configure LDAPLIBS="-Lfoo -lbar"
536
537 if test "$try_ldap" = yes ; then
538   for MY_LDAPLIBS in ${LDAPLIBS+"$LDAPLIBS"} "-lldap" "-lldap -llber" "-lldap -llber -lresolv"; do
539     _ldap_save_libs=$LIBS
540     LIBS="$MY_LDAPLIBS $NETLIBS $LIBS"
541
542     AC_MSG_CHECKING([whether LDAP via \"$MY_LDAPLIBS\" is present and sane])
543     AC_TRY_LINK([#include <ldap.h>],[ldap_open("foobar",1234);],
544                 [gnupg_cv_func_ldap_init=yes],[gnupg_cv_func_ldap_init=no])
545     AC_MSG_RESULT([$gnupg_cv_func_ldap_init])
546
547     if test $gnupg_cv_func_ldap_init = no; then
548       AC_MSG_CHECKING([whether I can make LDAP be sane with lber.h])
549       AC_TRY_LINK([#include <lber.h>
550 #include <ldap.h>],[ldap_open("foobar",1234);],
551          [gnupg_cv_func_ldaplber_init=yes],[gnupg_cv_func_ldaplber_init=no])
552       AC_MSG_RESULT([$gnupg_cv_func_ldaplber_init])
553     fi
554
555     if test "$gnupg_cv_func_ldaplber_init" = yes ; then
556        AC_DEFINE(NEED_LBER_H,1,[Define if the LDAP library requires including lber.h before ldap.h])
557     fi
558
559     if test "$gnupg_cv_func_ldap_init" = yes || \
560         test "$gnupg_cv_func_ldaplber_init" = yes ; then
561        LDAPLIBS=$MY_LDAPLIBS
562        GPGKEYS_LDAP="gpgkeys_ldap$EXEEXT"
563
564        AC_MSG_CHECKING([whether LDAP supports ldap_get_option])
565
566        if test "$gnupg_cv_func_ldap_init" = yes ; then
567           AC_TRY_LINK([#include <ldap.h>],
568              [ldap_get_option((void *)0,0,(void *)0);],
569              [gnupg_cv_func_ldap_get_option=yes],
570              [gnupg_cv_func_ldap_get_option=no])
571         else
572           AC_TRY_LINK([#include <lber.h>
573 #include <ldap.h>],[ldap_get_option((void *)0,0,(void *)0);],
574              [gnupg_cv_func_ldap_get_option=yes],
575              [gnupg_cv_func_ldap_get_option=no])
576        fi
577
578        AC_MSG_RESULT([$gnupg_cv_func_ldap_get_option])
579
580        if test "$gnupg_cv_func_ldap_get_option" = yes ; then
581           AC_DEFINE(HAVE_LDAP_GET_OPTION,1,[Define if the LDAP library has ldap_get_option])
582        else
583           AC_MSG_CHECKING([whether LDAP supports ld_errno])
584
585           if test "$gnupg_cv_func_ldap_init" = yes ; then
586             AC_TRY_COMPILE([#include <ldap.h>],
587                [LDAP *ldap; ldap->ld_errno;],
588                [gnupg_cv_func_ldap_ld_errno=yes],
589                [gnupg_cv_func_ldap_ld_errno=no])
590            else
591             AC_TRY_LINK([#include <lber.h>
592 #include <ldap.h>],[LDAP *ldap; ldap->ld_errno;],
593                [gnupg_cv_func_ldap_ld_errno=yes],
594                [gnupg_cv_func_ldap_ld_errno=no])
595           fi
596
597           AC_MSG_RESULT([$gnupg_cv_func_ldap_ld_errno])
598
599           if test "$gnupg_cv_func_ldap_ld_errno" = yes ; then
600              AC_DEFINE(HAVE_LDAP_LD_ERRNO,1,[Define if the LDAP library supports ld_errno])
601           fi
602        fi
603     fi
604
605     LIBS=$_ldap_save_libs
606
607     if test "$GPGKEYS_LDAP" != "" ; then break; fi
608   done
609 fi
610
611 AC_SUBST(GPGKEYS_LDAP)
612 AC_SUBST(LDAPLIBS)
613
614 dnl This isn't necessarily sendmail itself, but anything that gives a
615 dnl sendmail-ish interface to the outside world.  That includes qmail,
616 dnl postfix, etc.  Basically, anything that can handle "sendmail -t".
617
618 if test "$try_mailto" = yes ; then
619   AC_ARG_WITH(mailprog,[  --with-mailprog=NAME    use "NAME -t" for mail transport],,with_mailprog=yes)
620
621   if test "$with_mailprog" = yes ; then
622     AC_PATH_PROG(SENDMAIL,sendmail,,$PATH:/usr/sbin:/usr/libexec:/usr/lib)
623     if test "$ac_cv_path_SENDMAIL" ; then
624       GPGKEYS_MAILTO="gpgkeys_mailto"
625     fi
626   elif test "$with_mailprog" != no ; then
627     AC_MSG_CHECKING([for a mail transport program])
628     AC_SUBST(SENDMAIL,$with_mailprog)
629     AC_MSG_RESULT($with_mailprog)
630     GPGKEYS_MAILTO="gpgkeys_mailto"
631   fi
632 fi
633
634 AC_SUBST(GPGKEYS_MAILTO)
635
636 case "${target}" in
637     *-*-mingw32*)
638         PRINTABLE_OS_NAME="MingW32"
639         ;;
640     *-*-cygwin*)
641         PRINTABLE_OS_NAME="Cygwin"
642         ;;
643     i?86-emx-os2 | i?86-*-os2*emx )
644         PRINTABLE_OS_NAME="OS/2"
645         ;;
646     i?86-*-msdosdjgpp*)
647         PRINTABLE_OS_NAME="MSDOS/DJGPP"
648         try_dynload=no
649         ;;
650     *-linux*)
651         PRINTABLE_OS_NAME="GNU/Linux"
652         ;;
653     *)
654         PRINTABLE_OS_NAME=`uname -s || echo "Unknown"`
655         ;;
656 esac
657 AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME",
658                    [A human readable text with the name of the OS])
659
660
661 AM_GNU_GETTEXT_VERSION(0.12.1)
662 if test "$try_gettext" = yes; then
663   AM_GNU_GETTEXT(,[need-ngettext])
664
665   # gettext requires some extra checks.  These really should be part of
666   # the basic AM_GNU_GETTEXT macro.  TODO: move other gettext-specific
667   # function checks to here.
668
669   AC_CHECK_FUNCS(strchr)
670 else
671   USE_NLS=no
672   USE_INCLUDED_LIBINTL=no
673   BUILD_INCLUDED_LIBINTL=no
674   AC_SUBST(USE_NLS)
675   AC_SUBST(USE_INCLUDED_LIBINTL)
676   AC_SUBST(BUILD_INCLUDED_LIBINTL)
677 fi
678
679 # Checks for header files.
680 AC_HEADER_STDC
681 AC_CHECK_HEADERS(string.h unistd.h langinfo.h termio.h locale.h)
682
683 # Checks for typedefs, structures, and compiler characteristics.
684 AC_C_CONST
685 AC_C_INLINE
686 AC_TYPE_SIZE_T
687 AC_TYPE_SIGNAL
688 AC_DECL_SYS_SIGLIST
689
690 GNUPG_CHECK_ENDIAN
691
692 GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
693 GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
694 GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
695 GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
696 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
697
698 AC_CHECK_SIZEOF(unsigned short)
699 AC_CHECK_SIZEOF(unsigned int)
700 AC_CHECK_SIZEOF(unsigned long)
701 AC_CHECK_SIZEOF(unsigned long long)
702 # Ensure that we have UINT64_C before we bother to check for uint64_t
703 # fixme: really needed in gnupg?  I think it is only useful in libcgrypt.
704 AC_CACHE_CHECK([for UINT64_C],[gnupg_cv_uint64_c_works],
705    AC_COMPILE_IFELSE(AC_LANG_PROGRAM([#include <inttypes.h>
706 uint64_t foo=UINT64_C(42);]),gnupg_cv_uint64_c_works=yes,gnupg_cv_uint64_c_works=no))
707 if test "$gnupg_cv_uint64_c_works" = "yes" ; then
708    AC_CHECK_SIZEOF(uint64_t)
709 fi
710  
711
712
713
714 if test "$ac_cv_sizeof_unsigned_short" = "0" \
715    || test "$ac_cv_sizeof_unsigned_int" = "0" \
716    || test "$ac_cv_sizeof_unsigned_long" = "0"; then
717     AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
718 fi
719
720 dnl Do we have any 64-bit data types?
721 if test "$ac_cv_sizeof_unsigned_int" != "8" \
722    && test "$ac_cv_sizeof_unsigned_long" != "8" \
723    && test "$ac_cv_sizeof_unsigned_long_long" != "8" \
724    && test "$ac_cv_sizeof_uint64_t" != "8"; then
725     AC_MSG_WARN([No 64-bit types.  Disabling SHA-384, and SHA-512])
726 else
727   if test x"$use_sha512" = xyes ; then
728      AC_SUBST(SHA512_O,sha512.o)
729      AC_DEFINE(USE_SHA512,1,[Define to include the SHA-384 and SHA-512 digests])
730   fi
731 fi
732
733 GNUPG_SYS_SO_PEERCRED
734
735 # Checks for library functions.
736 AC_FUNC_FSEEKO
737 AC_FUNC_VPRINTF
738 AC_FUNC_FORK
739 AC_CHECK_FUNCS(strerror stpcpy strsep strlwr tcgetattr strtoul mmap)
740 AC_CHECK_FUNCS(strcasecmp strncasecmp ctermid times gmtime_r)
741 AC_CHECK_FUNCS(memmove gettimeofday getrusage setrlimit clock_gettime)
742 AC_CHECK_FUNCS(atexit raise getpagesize strftime nl_langinfo setlocale)
743 AC_CHECK_FUNCS(waitpid wait4 sigaction sigprocmask rand pipe stat getaddrinfo)
744
745 AC_CHECK_TYPES([struct sigaction, sigset_t],,,[#include <signal.h>])
746
747 # These are needed by libjnlib - fixme: we should have macros for them
748 AC_CHECK_FUNCS(memicmp stpcpy strlwr strtoul memmove stricmp strtol)
749 AC_CHECK_FUNCS(getrusage setrlimit stat setlocale)
750 AC_CHECK_FUNCS(flockfile funlockfile fopencookie funopen)
751
752 AC_REPLACE_FUNCS(vasprintf)
753 AC_REPLACE_FUNCS(fopencookie)
754 AC_REPLACE_FUNCS(mkdtemp)
755 AC_REPLACE_FUNCS(fseeko ftello)
756 AC_REPLACE_FUNCS(isascii)
757 AC_REPLACE_FUNCS(putc_unlocked)
758
759
760
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 # Sanity check regex.  Tests adapted from mutt.
833
834 AC_MSG_CHECKING([whether regular expression support is requested])
835 AC_ARG_ENABLE(regex,
836 [  --disable-regex         do not handle regular expressions in trust sigs],
837      use_regex=$enableval, use_regex=yes)
838 AC_MSG_RESULT($use_regex)
839
840 if test "$use_regex" = yes ; then
841   AC_MSG_CHECKING([whether the included regex lib is requested])
842   AC_ARG_WITH(included-regex,
843       [  --with-included-regex   use the included GNU regex library],
844       [gnupg_cv_included_regex=yes],[gnupg_cv_included_regex=no])
845   AC_MSG_RESULT($gnupg_cv_included_regex)
846
847   if test $gnupg_cv_included_regex = no ; then
848      # Does the system have regex functions at all?
849      AC_CHECK_FUNC(regcomp,gnupg_cv_included_regex=no,
850                            gnupg_cv_included_regex=yes)
851   fi
852
853   if test $gnupg_cv_included_regex = no ; then
854      AC_CACHE_CHECK([whether your system's regexp library is broken],
855        [gnupg_cv_regex_broken],
856        AC_TRY_RUN([
857 #include <unistd.h>
858 #include <regex.h>
859 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); }],
860        gnupg_cv_regex_broken=no, gnupg_cv_regex_broken=yes, gnupg_cv_regex_broken=yes))
861
862      if test $gnupg_cv_regex_broken = yes ; then
863       AC_MSG_WARN(your regex is broken - using the included GNU regex instead.)
864       gnupg_cv_included_regex=yes
865      fi
866   fi
867
868   if test $gnupg_cv_included_regex = yes; then
869      AC_DEFINE(USE_GNU_REGEX,1,[ Define if you want to use the included regex lib ])
870      AC_SUBST(REGEX_O,regex.o)
871   fi
872 else
873
874   AC_DEFINE(DISABLE_REGEX,1,[ Define to disable regular expression support ])
875 fi
876
877 dnl Do we have zlib? Must do it here because Solaris failed
878 dnl when compiling a conftest (due to the "-lz" from LIBS).
879 use_local_zlib=yes
880 if test "$g10_force_zlib" = "yes"; then
881   :
882 else
883   _cppflags="${CPPFLAGS}"
884   _ldflags="${LDFLAGS}"
885
886   AC_ARG_WITH(zlib,
887   [  --with-zlib=DIR         use libz in DIR],[
888     if test -d "$withval"; then
889       CPPFLAGS="${CPPFLAGS} -I$withval/include"
890       LDFLAGS="${LDFLAGS} -L$withval/lib"
891     fi
892   ])
893
894   AC_CHECK_HEADER(zlib.h,
895       AC_CHECK_LIB(z, deflateInit2_,
896        use_local_zlib=no
897        LIBS="$LIBS -lz",
898        CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}),
899        CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags})
900 fi
901  
902 if test "$use_local_zlib" = yes ; then
903     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true)
904     AC_CONFIG_LINKS(zlib.h:zlib/zlib.h zconf.h:zlib/zconf.h )
905     ZLIBS="../zlib/libzlib.a"
906 else
907     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, false)
908     ZLIBS=
909 fi
910 AC_SUBST(ZLIBS)
911
912 # Allow users to append something to the version string without
913 # flagging it as development version.  The user version parts is
914 # considered everything after a dash. 
915 if test "$development_version" != yes; then
916   changequote(,)dnl
917   tmp_pat='[a-zA-Z]'
918   changequote([,])dnl
919   if echo "$VERSION" | sed 's/-.*//' | grep "$tmp_pat" >/dev/null ; then
920     development_version=yes
921   fi
922 fi
923 if test "$development_version" = yes; then
924     AC_DEFINE(IS_DEVELOPMENT_VERSION,1,
925             [Defined if this is not a regular release])
926 fi
927
928 AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes)
929
930 GNUPG_CHECK_GNUMAKE
931
932 # add some extra libs here so that previous tests don't fail for
933 # mysterious reasons - the final link step should bail out. 
934 case "${target}" in
935     *-*-mingw32*)
936         W32LIBS="-lwsock32"
937         ;;
938     *)
939        ;;
940 esac
941
942
943 if test "$GCC" = yes; then
944     if test "$USE_MAINTAINER_MODE" = "yes"; then
945         CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
946         CFLAGS="$CFLAGS -Wformat-nonliteral"
947     else
948         CFLAGS="$CFLAGS -Wall"
949     fi
950 fi
951
952 AC_SUBST(NETLIBS)
953 AC_SUBST(W32LIBS)
954
955
956 # We use jnlib, so tell other modules about it
957 AC_DEFINE(HAVE_JNLIB_LOGGING, 1,
958         [Defined if jnlib style logging fucntions are available])
959
960
961
962 #
963 # Decide what to build
964 #
965 missing_pth=no
966 if test $have_ksba = no; then
967   build_gpgsm=no
968   build_scdaemon=no
969 fi
970
971 build_agent_threaded=""
972 if test "$build_agent" = "yes"; then
973   if test $have_pth = no; then
974      build_agent_threaded="(not multi-threaded)"
975      missing_pth=yes
976   fi
977 fi
978
979 build_scdaemon_extra=""
980 if test "$build_scdaemon" = "yes"; then
981   tmp=""
982   if test $have_pth = no; then
983      build_scdaemon_extra="not multi-threaded"
984      tmp=", "
985      missing_pth=yes
986   fi
987   if test $have_opensc = no; then
988      build_scdaemon_extra="${build_scdaemon_extra}${tmp}no pkcs#15"
989      tmp=", "
990   fi      
991   if test -n "$build_scdaemon_extra"; then
992      build_scdaemon_extra="(${build_scdaemon_extra})"
993   fi
994 fi
995
996 AM_CONDITIONAL(BUILD_GPG,   test "$build_gpg" = "yes")
997 AM_CONDITIONAL(BUILD_GPGSM, test "$build_gpgsm" = "yes")
998 AM_CONDITIONAL(BUILD_AGENT, test "$build_agent" = "yes")
999 AM_CONDITIONAL(BUILD_SCDAEMON, test "$build_scdaemon" = "yes")
1000
1001
1002
1003 #
1004 # Print errors here so that they are visible all
1005 # together and the user can acquire them all together.
1006 #
1007 die=no
1008 if test "$have_gpg_error" = "no"; then
1009    die=yes
1010    AC_MSG_NOTICE([[
1011 ***  
1012 *** You need libgpg-error to build this program.
1013 **  This library is for example available at
1014 ***   ftp://ftp.gnupg.org/gcrypt/alpha/libgpg-error
1015 *** (at least version $NEED_GPG_ERROR_VERSION is required.)
1016 ***]])
1017 fi
1018 if test "$have_libgcrypt" = "no"; then
1019    die=yes
1020    AC_MSG_NOTICE([[
1021 ***  
1022 *** You need libgcrypt to build this program.
1023 **  This library is for example available at
1024 ***   ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/
1025 *** (at least version $NEED_LIBGCRYPT_VERSION is required.)
1026 ***]])
1027 fi
1028 if test "$have_libassuan" = "no"; then
1029    die=yes
1030    AC_MSG_NOTICE([[
1031 ***
1032 *** You need libassuan to build this program.
1033 *** This library is for example available at
1034 ***   ftp://ftp.gnupg.org/gcrypt/alpha/libassuan/
1035 *** (at least version $NEED_LIBASSUAN_VERSION is required).
1036 ***]])
1037 fi
1038 if test "$have_ksba" = "no"; then
1039    die=yes
1040     AC_MSG_NOTICE([[
1041 ***
1042 *** You need libksba to build this program.
1043 *** This library is for example available at
1044 ***   ftp://ftp.gnupg.org/gcrypt/alpha/libksba/
1045 *** (at least version $NEED_KSBA_VERSION is required).
1046 ***]])
1047 fi
1048 if test "$missing_pth" = "yes"; then
1049     AC_MSG_NOTICE([[
1050 ***
1051 *** It is strongly suggested to build with support for the
1052 *** GNU Portable Threads Library (Pth). Please install this
1053 *** library first or use --disable-threads to allow building
1054 *** anyway.  The library is for example available at
1055 ***   ftp://ftp.gnu.org/gnu/pth/
1056 *** On a Debian GNU/Linux system you can install it using 
1057 ***   apt-get install libpth-dev
1058 ***]])
1059   if test "$enable_threads" != "no"; then
1060      die=yes
1061   fi
1062 fi
1063
1064 if test "$die" = "yes"; then
1065     AC_MSG_ERROR([[
1066 ***
1067 *** Required libraries not found. Please consult the above messages
1068 *** and install them before running configure again.
1069 ***]])
1070 fi
1071
1072
1073
1074 AC_CONFIG_FILES([ m4/Makefile 
1075 Makefile
1076 po/Makefile.in
1077 intl/Makefile
1078 jnlib/Makefile
1079 common/Makefile
1080 kbx/Makefile
1081 g10/Makefile
1082 sm/Makefile
1083 agent/Makefile
1084 scd/Makefile
1085 tools/Makefile
1086 doc/Makefile
1087 tests/Makefile
1088 ])
1089 AC_OUTPUT
1090
1091
1092
1093
1094 echo "
1095         GnuPG v${VERSION} has been configured as follows:
1096         
1097         Platform:  $PRINTABLE_OS_NAME ($target)
1098
1099         OpenPGP:   $build_gpg
1100         S/MIME:    $build_gpgsm
1101         Agent:     $build_agent $build_agent_threaded
1102         Smartcard: $build_scdaemon $build_scdaemon_extra
1103
1104         Protect tool:     $show_gnupg_protect_tool_pgm
1105         Default agent:    $show_gnupg_agent_pgm
1106         Default pinentry: $show_gnupg_pinentry_pgm
1107         Default scdaemon: $show_gnupg_scdaemon_pgm
1108         Default dirmngr:  $show_gnupg_dirmngr_pgm
1109 "
1110