gpg: Remove a function wrapper.
[gnupg.git] / configure.ac
1 # configure.ac - for GnuPG 2.1
2 # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 #               2008, 2009, 2010, 2011, 2012 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 3 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, see <http://www.gnu.org/licenses/>.
19
20 # Process this file with autoconf to produce a configure script.
21 AC_PREREQ(2.61)
22 min_automake_version="1.10"
23
24 # To build a release you need to create a tag with the version number
25 # (git tag -s gnupg-2.n.m) and run "./autogen.sh --force".  Please
26 # bump the version number immediately *after* the release and do
27 # another commit and push so that the git magic is able to work.
28 m4_define([mym4_version], [2.1.0])
29
30 # Below is m4 magic to extract and compute the git revision number,
31 # the decimalized short revision number, a beta version string and a
32 # flag indicating a development version (mym4_isgit).  Note that the
33 # m4 processing is done by autoconf and not during the configure run.
34 m4_define([mym4_revision],
35           m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r']))
36 m4_define([mym4_revision_dec],
37           m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))]))
38 m4_define([mym4_betastring],
39           m4_esyscmd_s([git describe --match 'gnupg-2.[0-9].*[0-9]' --long|\
40                         awk -F- '$3!=0{print"-beta"$3}']))
41 m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes]))
42 m4_define([mym4_full_version],[mym4_version[]mym4_betastring])
43
44 AC_INIT([gnupg],[mym4_full_version], [http://bugs.gnupg.org])
45
46 NEED_GPG_ERROR_VERSION=1.10
47
48 NEED_LIBGCRYPT_API=1
49 NEED_LIBGCRYPT_VERSION=1.5.0
50
51 NEED_LIBASSUAN_API=2
52 NEED_LIBASSUAN_VERSION=2.1.0
53
54 NEED_KSBA_API=1
55 NEED_KSBA_VERSION=1.2.0
56
57 NEED_NPTH_API=1
58 NEED_NPTH_VERSION=0.91
59
60
61 development_version=mym4_isgit
62 PACKAGE=$PACKAGE_NAME
63 PACKAGE_GT=${PACKAGE_NAME}2
64 VERSION=$PACKAGE_VERSION
65
66 AC_CONFIG_AUX_DIR(scripts)
67 AC_CONFIG_SRCDIR(sm/gpgsm.c)
68 AM_CONFIG_HEADER(config.h)
69 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
70 AC_CANONICAL_HOST
71 AB_INIT
72
73 AC_GNU_SOURCE
74
75 # Some status variables.
76 have_gpg_error=no
77 have_libgcrypt=no
78 have_libassuan=no
79 have_ksba=no
80 have_npth=no
81 have_libusb=no
82 have_adns=no
83
84 use_zip=yes
85 use_bzip2=yes
86 use_exec=yes
87 disable_keyserver_path=no
88 use_ccid_driver=yes
89 use_standard_socket=yes
90 dirmngr_auto_start=no
91
92 try_ks_ldap=no
93
94 GNUPG_BUILD_PROGRAM(gpg, yes)
95 GNUPG_BUILD_PROGRAM(gpgsm, yes)
96 GNUPG_BUILD_PROGRAM(agent, yes)
97 GNUPG_BUILD_PROGRAM(scdaemon, yes)
98 GNUPG_BUILD_PROGRAM(g13, yes)
99 GNUPG_BUILD_PROGRAM(dirmngr, yes)
100 GNUPG_BUILD_PROGRAM(tools, yes)
101 GNUPG_BUILD_PROGRAM(doc, yes)
102 GNUPG_BUILD_PROGRAM(symcryptrun, no)
103 GNUPG_BUILD_PROGRAM(gpgtar, no)
104
105 AC_SUBST(PACKAGE)
106 AC_SUBST(PACKAGE_GT)
107 AC_SUBST(VERSION)
108 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package])
109 AC_DEFINE_UNQUOTED(PACKAGE_GT, "$PACKAGE_GT",
110                                 [Name of this package for gettext])
111 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version of this package])
112 AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT, "$PACKAGE_BUGREPORT",
113                                         [Bug report address])
114 AC_DEFINE_UNQUOTED(NEED_LIBGCRYPT_VERSION, "$NEED_LIBGCRYPT_VERSION",
115                                        [Required version of Libgcrypt])
116 AC_DEFINE_UNQUOTED(NEED_KSBA_VERSION, "$NEED_KSBA_VERSION",
117                                        [Required version of Libksba])
118
119
120
121 # The default is to use the modules from this package and the few
122 # other packages in a standard place; i.e where this package gets
123 # installed.  With these options it is possible to override these
124 # ${prefix} depended values with fixed paths, which can't be replaced
125 # at make time.  See also am/cmacros.am and the defaults in AH_BOTTOM.
126 AC_ARG_WITH(agent-pgm,
127     [  --with-agent-pgm=PATH  Use PATH as the default for the agent)],
128           GNUPG_AGENT_PGM="$withval", GNUPG_AGENT_PGM="" )
129 AC_SUBST(GNUPG_AGENT_PGM)
130 AM_CONDITIONAL(GNUPG_AGENT_PGM, test -n "$GNUPG_AGENT_PGM")
131 show_gnupg_agent_pgm="(default)"
132 test -n "$GNUPG_AGENT_PGM" && show_gnupg_agent_pgm="$GNUPG_AGENT_PGM"
133
134 AC_ARG_WITH(pinentry-pgm,
135     [  --with-pinentry-pgm=PATH  Use PATH as the default for the pinentry)],
136           GNUPG_PINENTRY_PGM="$withval", GNUPG_PINENTRY_PGM="" )
137 AC_SUBST(GNUPG_PINENTRY_PGM)
138 AM_CONDITIONAL(GNUPG_PINENTRY_PGM, test -n "$GNUPG_PINENTRY_PGM")
139 show_gnupg_pinentry_pgm="(default)"
140 test -n "$GNUPG_PINENTRY_PGM" && show_gnupg_pinentry_pgm="$GNUPG_PINENTRY_PGM"
141
142
143 AC_ARG_WITH(scdaemon-pgm,
144     [  --with-scdaemon-pgm=PATH  Use PATH as the default for the scdaemon)],
145           GNUPG_SCDAEMON_PGM="$withval", GNUPG_SCDAEMON_PGM="" )
146 AC_SUBST(GNUPG_SCDAEMON_PGM)
147 AM_CONDITIONAL(GNUPG_SCDAEMON_PGM, test -n "$GNUPG_SCDAEMON_PGM")
148 show_gnupg_scdaemon_pgm="(default)"
149 test -n "$GNUPG_SCDAEMON_PGM" && show_gnupg_scdaemon_pgm="$GNUPG_SCDAEMON_PGM"
150
151
152 AC_ARG_WITH(dirmngr-pgm,
153     [  --with-dirmngr-pgm=PATH  Use PATH as the default for the dirmngr)],
154           GNUPG_DIRMNGR_PGM="$withval", GNUPG_DIRMNGR_PGM="" )
155 AC_SUBST(GNUPG_DIRMNGR_PGM)
156 AM_CONDITIONAL(GNUPG_DIRMNGR_PGM, test -n "$GNUPG_DIRMNGR_PGM")
157 show_gnupg_dirmngr_pgm="(default)"
158 test -n "$GNUPG_DIRMNGR_PGM" && show_gnupg_dirmngr_pgm="$GNUPG_DIRMNGR_PGM"
159
160 AC_ARG_WITH(protect-tool-pgm,
161     [  --with-protect-tool-pgm=PATH  Use PATH as the default for the protect-tool)],
162           GNUPG_PROTECT_TOOL_PGM="$withval", GNUPG_PROTECT_TOOL_PGM="" )
163 AC_SUBST(GNUPG_PROTECT_TOOL_PGM)
164 AM_CONDITIONAL(GNUPG_PROTECT_TOOL_PGM, test -n "$GNUPG_PROTECT_TOOL_PGM")
165 show_gnupg_protect_tool_pgm="(default)"
166 test -n "$GNUPG_PROTECT_TOOL_PGM" \
167       && show_gnupg_protect_tool_pgm="$GNUPG_PROTECT_TOOL_PGM"
168
169 AC_ARG_WITH(dirmngr-ldap-pgm,
170     [  --with-dirmngr-ldap-pgm=PATH  Use PATH as the default for the dirmnge ldap wrapper)],
171           GNUPG_DIRMNGR_LDAP_PGM="$withval", GNUPG_DIRMNGR_LDAP_PGM="" )
172 AC_SUBST(GNUPG_DIRMNGR_LDAP_PGM)
173 AM_CONDITIONAL(GNUPG_DIRMNGR_LDAP_PGM, test -n "$GNUPG_DIRMNGR_LDAP_PGM")
174 show_gnupg_dirmngr_ldap_pgm="(default)"
175 test -n "$GNUPG_DIRMNGR_LDAP_PGM" \
176       && show_gnupg_dirmngr_ldap_pgm="$GNUPG_DIRMNGR_LDAP_PGM"
177
178 #
179 # On some platforms gpg2 is usually installed as gpg without using a
180 # symlink.  For correct operation of gpgconf it needs to know the
181 # installed name of gpg.  This option sets "gpg2"'s installed name to
182 # just "gpg".  Note that it might be required to rename gpg2 to gpg
183 # manually after the build process.
184 #
185 AC_ARG_ENABLE(gpg2-is-gpg,
186     AC_HELP_STRING([--enable-gpg2-is-gpg],[Set installed name of gpg2 to gpg]),
187     gpg2_is_gpg=$enableval)
188 if test "$gpg2_is_gpg" = "yes"; then
189    name_of_installed_gpg=gpg
190 else
191    name_of_installed_gpg=gpg2
192 fi
193 AC_DEFINE_UNQUOTED(NAME_OF_INSTALLED_GPG, "$name_of_installed_gpg",
194                    [The name of the installed GPG tool])
195
196
197 # Some folks want to use only the agent from this packet.  Make it
198 # easier for them by providing the configure option
199 # --enable-only-agent.
200 AC_ARG_ENABLE(agent-only,
201     AC_HELP_STRING([--enable-agent-only],[build only the gpg-agent]),
202     build_agent_only=$enableval)
203
204 # SELinux support includes tracking of sensitive files to avoid
205 # leaking their contents through processing these files by gpg itself
206 AC_MSG_CHECKING([whether SELinux support is requested])
207 AC_ARG_ENABLE(selinux-support,
208               AC_HELP_STRING([--enable-selinux-support],
209                              [enable SELinux support]),
210               selinux_support=$enableval, selinux_support=no)
211 AC_MSG_RESULT($selinux_support)
212
213 # Allow disabling of zip support.
214 # This is in general not a good idea because according to rfc4880 OpenPGP
215 # implementations SHOULD support ZLIB.
216 AC_MSG_CHECKING([whether to enable the ZIP and ZLIB compression algorithm])
217 AC_ARG_ENABLE(zip,
218    AC_HELP_STRING([--disable-zip],
219                   [disable the ZIP and ZLIB compression algorithm]),
220    use_zip=$enableval)
221 AC_MSG_RESULT($use_zip)
222
223 # Allow disabling of bzib2 support.
224 # It is defined only after we confirm the library is available later
225 AC_MSG_CHECKING([whether to enable the BZIP2 compression algorithm])
226 AC_ARG_ENABLE(bzip2,
227    AC_HELP_STRING([--disable-bzip2],[disable the BZIP2 compression algorithm]),
228    use_bzip2=$enableval)
229 AC_MSG_RESULT($use_bzip2)
230
231 # Configure option to allow or disallow execution of external
232 # programs, like a photo viewer.
233 AC_MSG_CHECKING([whether to enable external program execution])
234 AC_ARG_ENABLE(exec,
235     AC_HELP_STRING([--disable-exec],[disable all external program execution]),
236     use_exec=$enableval)
237 AC_MSG_RESULT($use_exec)
238 if test "$use_exec" = no ; then
239     AC_DEFINE(NO_EXEC,1,[Define to disable all external program execution])
240 fi
241
242 if test "$use_exec" = yes ; then
243   AC_MSG_CHECKING([whether to enable photo ID viewing])
244   AC_ARG_ENABLE(photo-viewers,
245       [  --disable-photo-viewers disable photo ID viewers],
246       [if test "$enableval" = no ; then
247          AC_DEFINE(DISABLE_PHOTO_VIEWER,1,[define to disable photo viewing])
248       fi],enableval=yes)
249   gnupg_cv_enable_photo_viewers=$enableval
250   AC_MSG_RESULT($enableval)
251
252   if test "$gnupg_cv_enable_photo_viewers" = yes ; then
253     AC_MSG_CHECKING([whether to use a fixed photo ID viewer])
254     AC_ARG_WITH(photo-viewer,
255         [  --with-photo-viewer=FIXED_VIEWER  set a fixed photo ID viewer],
256         [if test "$withval" = yes ; then
257            withval=no
258         elif test "$withval" != no ; then
259            AC_DEFINE_UNQUOTED(FIXED_PHOTO_VIEWER,"$withval",
260                             [if set, restrict photo-viewer to this])
261         fi],withval=no)
262     AC_MSG_RESULT($withval)
263   fi
264
265   AC_MSG_CHECKING([whether to enable external keyserver helpers])
266   AC_ARG_ENABLE(keyserver-helpers,
267       [  --disable-keyserver-helpers  disable all external keyserver support],
268       [if test "$enableval" = no ; then
269          AC_DEFINE(DISABLE_KEYSERVER_HELPERS,1,
270                   [define to disable keyserver helpers])
271       fi],enableval=yes)
272   gnupg_cv_enable_keyserver_helpers=$enableval
273   AC_MSG_RESULT($enableval)
274
275   if test "$gnupg_cv_enable_keyserver_helpers" = yes ; then
276     # LDAP is defined only after we confirm the library is available later
277     AC_MSG_CHECKING([whether LDAP keyserver support is requested])
278     AC_ARG_ENABLE(ldap,
279       AC_HELP_STRING([--disable-ldap],[disable LDAP keyserver interface only]),
280       try_ks_ldap=$enableval, try_ks_ldap=yes)
281     AC_MSG_RESULT($try_ks_ldap)
282
283     AC_MSG_CHECKING([whether HKP keyserver support is requested])
284     AC_ARG_ENABLE(hkp,
285       AC_HELP_STRING([--disable-hkp],[disable HKP keyserver interface only]),
286       try_hkp=$enableval, try_hkp=yes)
287     AC_MSG_RESULT($try_hkp)
288
289     AC_MSG_CHECKING([whether finger key fetching support is requested])
290     AC_ARG_ENABLE(finger,
291       AC_HELP_STRING([--disable-finger],
292         [disable finger key fetching interface only]),
293       try_finger=$enableval, try_finger=yes)
294     AC_MSG_RESULT($try_finger)
295
296     AC_MSG_CHECKING([whether generic object key fetching support is requested])
297     AC_ARG_ENABLE(generic,
298       AC_HELP_STRING([--disable-generic],
299         [disable generic object key fetching interface only]),
300       try_generic=$enableval, try_generic=yes)
301     AC_MSG_RESULT($try_generic)
302
303     AC_MSG_CHECKING([whether email keyserver support is requested])
304     AC_ARG_ENABLE(mailto,
305       AC_HELP_STRING([--enable-mailto],
306         [enable email keyserver interface only]),
307       try_mailto=$enableval, try_mailto=no)
308     AC_MSG_RESULT($try_mailto)
309   fi
310
311   AC_MSG_CHECKING([whether keyserver exec-path is enabled])
312   AC_ARG_ENABLE(keyserver-path,
313       AC_HELP_STRING([--disable-keyserver-path],
314         [disable the exec-path option for keyserver helpers]),
315       [if test "$enableval" = no ; then
316          disable_keyserver_path=yes
317       fi],enableval=yes)
318   AC_MSG_RESULT($enableval)
319 fi
320
321
322 #
323 # Check for the key/uid cache size.  This can't be zero, but can be
324 # pretty small on embedded systems.  This is used for the gpg part.
325 #
326 AC_MSG_CHECKING([for the size of the key and uid cache])
327 AC_ARG_ENABLE(key-cache,
328         AC_HELP_STRING([--enable-key-cache=SIZE],
329                        [Set key cache to SIZE (default 4096)]),,enableval=4096)
330 if test "$enableval" = "no"; then
331    enableval=5
332 elif test "$enableval" = "yes" || test "$enableval" = ""; then
333    enableval=4096
334 fi
335 changequote(,)dnl
336 key_cache_size=`echo "$enableval" | sed 's/[A-Za-z]//g'`
337 changequote([,])dnl
338 if test "$enableval" != "$key_cache_size" || test "$key_cache_size" -lt 5; then
339    AC_MSG_ERROR([invalid key-cache size])
340 fi
341 AC_MSG_RESULT($key_cache_size)
342 AC_DEFINE_UNQUOTED(PK_UID_CACHE_SIZE,$key_cache_size,
343                   [Size of the key and UID caches])
344
345
346
347 #
348 # Check whether we want to use Linux capabilities
349 #
350 AC_MSG_CHECKING([whether use of capabilities is requested])
351 AC_ARG_WITH(capabilities,
352     [  --with-capabilities     use linux capabilities [default=no]],
353 [use_capabilities="$withval"],[use_capabilities=no])
354 AC_MSG_RESULT($use_capabilities)
355
356
357 #
358 # Allow disabling of internal CCID support.
359 # It is defined only after we confirm the library is available later
360 #
361 AC_MSG_CHECKING([whether to enable the internal CCID driver])
362 AC_ARG_ENABLE(ccid-driver,
363               AC_HELP_STRING([--disable-ccid-driver],
364                              [disable the internal CCID driver]),
365               use_ccid_driver=$enableval)
366 AC_MSG_RESULT($use_ccid_driver)
367
368 #
369 # Dirmngr is nowadays a system service and thus it usually does no
370 # make sense to start it as needed.  However on some systems this is
371 # possible; this option enable the feature.
372 #
373 AC_MSG_CHECKING([whether to auto start dirmngr])
374 AC_ARG_ENABLE(dirmngr-auto-start,
375               AC_HELP_STRING([--enable-dirmngr-auto-start],
376                              [enable auto starting of the dirmngr]),
377               dirmngr_auto_start=$enableval)
378 AC_MSG_RESULT($dirmngr_auto_start)
379 if test "$dirmngr_auto_start" = yes ; then
380     AC_DEFINE(USE_DIRMNGR_AUTO_START,1,
381               [Define to enable auto starting of the dirmngr])
382 fi
383
384
385 #
386 # To avoid double inclusion of config.h which might happen at some
387 # places, we add the usual double inclusion protection at the top of
388 # config.h.
389 #
390 AH_TOP([
391 #ifndef GNUPG_CONFIG_H_INCLUDED
392 #define GNUPG_CONFIG_H_INCLUDED
393 ])
394
395 #
396 # Stuff which goes at the bottom of config.h.
397 #
398 AH_BOTTOM([
399 /* This is the major version number of GnuPG so that
400    source included files can test for this.  Note, that
401    we use 2 here even for GnuPG 1.9.x. */
402 #define GNUPG_MAJOR_VERSION 2
403
404 /* Now to separate file name parts.
405    Please note that the string version must not contain more
406    than one character because the code assumes strlen()==1 */
407 #ifdef HAVE_DOSISH_SYSTEM
408 #define DIRSEP_C '\\'
409 #define DIRSEP_S "\\"
410 #define EXTSEP_C '.'
411 #define EXTSEP_S "."
412 #define PATHSEP_C ';'
413 #define PATHSEP_S ";"
414 #define EXEEXT_S ".exe"
415 #else
416 #define DIRSEP_C '/'
417 #define DIRSEP_S "/"
418 #define EXTSEP_C '.'
419 #define EXTSEP_S "."
420 #define PATHSEP_C ':'
421 #define PATHSEP_S ":"
422 #define EXEEXT_S ""
423 #endif
424
425 /* This is the same as VERSION, but should be overridden if the
426    platform cannot handle things like dots '.' in filenames. Set
427    SAFE_VERSION_DOT and SAFE_VERSION_DASH to whatever SAFE_VERSION
428    uses for dots and dashes. */
429 #define SAFE_VERSION VERSION
430 #define SAFE_VERSION_DOT  '.'
431 #define SAFE_VERSION_DASH '-'
432
433 /* Some global constants. */
434 #ifdef HAVE_DOSISH_SYSTEM
435 # ifdef HAVE_DRIVE_LETTERS
436 #  define GNUPG_DEFAULT_HOMEDIR "c:/gnupg"
437 # else
438 #  define GNUPG_DEFAULT_HOMEDIR "/gnupg"
439 # endif
440 #elif defined(__VMS)
441 #define GNUPG_DEFAULT_HOMEDIR "/SYS$LOGIN/gnupg"
442 #else
443 #define GNUPG_DEFAULT_HOMEDIR "~/.gnupg"
444 #endif
445 #define GNUPG_PRIVATE_KEYS_DIR "private-keys-v1.d"
446
447 /* For some systems (DOS currently), we hardcode the path here.  For
448    POSIX systems the values are constructed by the Makefiles, so that
449    the values may be overridden by the make invocations; this is to
450    comply with the GNU coding standards.  Note that these values are
451    only defaults.  */
452 #ifdef HAVE_DOSISH_SYSTEM
453 # ifdef HAVE_DRIVE_LETTERS
454 #  define GNUPG_BINDIR      "c:\\gnupg"
455 #  define GNUPG_LIBEXECDIR  "c:\\gnupg"
456 #  define GNUPG_LIBDIR      "c:\\gnupg"
457 #  define GNUPG_DATADIR     "c:\\gnupg"
458 #  define GNUPG_SYSCONFDIR  "c:\\gnupg"
459 # else
460 #  define GNUPG_BINDIR      "\\gnupg"
461 #  define GNUPG_LIBEXECDIR  "\\gnupg"
462 #  define GNUPG_LIBDIR      "\\gnupg"
463 #  define GNUPG_DATADIR     "\\gnupg"
464 #  define GNUPG_SYSCONFDIR  "\\gnupg"
465 # endif
466 #endif
467
468 /* Derive some other constants. */
469 #if !(defined(HAVE_FORK) && defined(HAVE_PIPE) && defined(HAVE_WAITPID))
470 #define EXEC_TEMPFILE_ONLY
471 #endif
472
473
474 /* We didn't define endianness above, so get it from OS macros.  This
475    is intended for making fat binary builds on OS X. */
476 #if !defined(BIG_ENDIAN_HOST) && !defined(LITTLE_ENDIAN_HOST)
477 #if defined(__BIG_ENDIAN__)
478 #define BIG_ENDIAN_HOST 1
479 #elif defined(__LITTLE_ENDIAN__)
480 #define LITTLE_ENDIAN_HOST 1
481 #else
482 #error "No endianness found"
483 #endif
484 #endif
485
486
487 /* Hack used for W32: ldap.m4 also tests for the ASCII version of
488    ldap_start_tls_s because that is the actual symbol used in the
489    library.  winldap.h redefines it to our commonly used value,
490    thus we define our usual macro here.  */
491 #ifdef HAVE_LDAP_START_TLS_SA
492 # ifndef HAVE_LDAP_START_TLS_S
493 #  define HAVE_LDAP_START_TLS_S 1
494 # endif
495 #endif
496
497
498 /* Tell libgcrypt not to use its own libgpg-error implementation. */
499 #define USE_LIBGPG_ERROR 1
500
501 /* We use jnlib, so tell other modules about it.  */
502 #define HAVE_JNLIB_LOGGING 1
503
504 /* Our HTTP code is used in estream mode.  */
505 #define HTTP_USE_ESTREAM 1
506
507 /* Under W32 we do an explicit socket initialization, thus we need to
508    avoid the on-demand initialization which would also install an atexit
509    handler.  */
510 #define HTTP_NO_WSASTARTUP
511
512 /* We always include support for the OpenPGP card.  */
513 #define ENABLE_CARD_SUPPORT 1
514
515 /* We want to use the libgcrypt provided memory allocation for
516    asprintf.  */
517 #define _ESTREAM_PRINTF_REALLOC       gcry_realloc
518 #define _ESTREAM_PRINTF_EXTRA_INCLUDE "../common/util.h"
519
520 /* Under Windows we use the gettext code from libgpg-error.  */
521 #define GPG_ERR_ENABLE_GETTEXT_MACROS
522
523 /* Under WindowsCE we use the strerror replacement from libgpg-error.  */
524 #define GPG_ERR_ENABLE_ERRNO_MACROS
525
526 #endif /*GNUPG_CONFIG_H_INCLUDED*/
527 ])
528
529
530 AM_MAINTAINER_MODE
531
532 # Checks for programs.
533 AC_MSG_NOTICE([checking for programs])
534 AC_PROG_MAKE_SET
535 AM_SANITY_CHECK
536 missing_dir=`cd $ac_aux_dir && pwd`
537 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
538 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
539 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
540 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
541 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
542 AC_PROG_AWK
543 AC_PROG_CC
544 AC_PROG_CPP
545 AM_PROG_CC_C_O
546 if test "x$ac_cv_prog_cc_c89" = "xno" ; then
547   AC_MSG_ERROR([[No C-89 compiler found]])
548 fi
549 AC_PROG_INSTALL
550 AC_PROG_LN_S
551 AC_PROG_RANLIB
552 AC_CHECK_TOOL(AR, ar, :)
553 AC_PATH_PROG(PERL,"perl")
554 AC_CHECK_TOOL(WINDRES, windres, :)
555 AC_ISC_POSIX
556 gl_EARLY
557 AC_SYS_LARGEFILE
558 GNUPG_CHECK_USTAR
559
560 # We need to compile and run a program on the build machine.  A
561 # comment in libgpg-error says that the AC_PROG_CC_FOR_BUILD macro in
562 # the AC archive is broken for autoconf 2.57.  Given that there is no
563 # newer version of that macro, we assume that it is also broken for
564 # autoconf 2.61 and thus we use a simple but usually sufficient
565 # approach.
566 AC_MSG_CHECKING(for cc for build)
567 if test "$cross_compiling" = "yes"; then
568   CC_FOR_BUILD="${CC_FOR_BUILD-cc}"
569 else
570   CC_FOR_BUILD="${CC_FOR_BUILD-$CC}"
571 fi
572 AC_MSG_RESULT($CC_FOR_BUILD)
573 AC_ARG_VAR(CC_FOR_BUILD,[build system C compiler])
574
575
576
577 try_gettext=yes
578 have_dosish_system=no
579 have_w32_system=no
580 have_w32ce_system=no
581 have_android_system=no
582 run_tests=yes
583 use_simple_gettext=no
584 use_ldapwrapper=yes
585 mmap_needed=yes
586 case "${host}" in
587     *-mingw32*)
588         # special stuff for Windoze NT
589         ac_cv_have_dev_random=no
590         AC_DEFINE(USE_ONLY_8DOT3,1,
591                   [Set this to limit filenames to the 8.3 format])
592         AC_DEFINE(USE_SIMPLE_GETTEXT,1,
593                   [Because the Unix gettext has too much overhead on
594                    MingW32 systems and these systems lack Posix functions,
595                    we use a simplified version of gettext])
596         disable_keyserver_path=yes
597         have_dosish_system=yes
598         have_w32_system=yes
599         run_tests=no
600         use_ldapwrapper=no  # Fixme: Do this only for CE.
601         case "${host}" in
602           *-mingw32ce*)
603             have_w32ce_system=yes
604             ;;
605           *)
606             AC_DEFINE(HAVE_DRIVE_LETTERS,1,
607                       [Defined if the OS supports drive letters.])
608             ;;
609         esac
610         try_gettext="no"
611         use_simple_gettext=yes
612         mmap_needed=no
613         ;;
614     i?86-emx-os2 | i?86-*-os2*emx )
615         # OS/2 with the EMX environment
616         ac_cv_have_dev_random=no
617         AC_DEFINE(HAVE_DRIVE_LETTERS)
618         have_dosish_system=yes
619         try_gettext="no"
620         ;;
621
622     i?86-*-msdosdjgpp*)
623         # DOS with the DJGPP environment
624         ac_cv_have_dev_random=no
625         AC_DEFINE(HAVE_DRIVE_LETTERS)
626         have_dosish_system=yes
627         try_gettext="no"
628         ;;
629
630     *-*-freebsd*)
631        # FreeBSD
632        CPPFLAGS="$CPPFLAGS -I/usr/local/include"
633        LDFLAGS="$LDFLAGS -L/usr/local/lib"
634        ;;
635
636     *-*-hpux*)
637         if test -z "$GCC" ; then
638             CFLAGS="$CFLAGS -Ae -D_HPUX_SOURCE"
639         fi
640         ;;
641     *-dec-osf4*)
642         if test -z "$GCC" ; then
643             # Suppress all warnings
644             # to get rid of the unsigned/signed char mismatch warnings.
645             CFLAGS="$CFLAGS -w"
646         fi
647         ;;
648     *-dec-osf5*)
649         if test -z "$GCC" ; then
650             # Use the newer compiler `-msg_disable ptrmismatch1' to
651             # get rid of the unsigned/signed char mismatch warnings.
652             # Using this may hide other pointer mismatch warnings, but
653             # it at least lets other warning classes through
654             CFLAGS="$CFLAGS -msg_disable ptrmismatch1"
655         fi
656         ;;
657     m68k-atari-mint)
658         ;;
659     *-linux-androideabi)
660         have_android_system=yes
661         run_tests=no
662         ;;
663     *)
664        ;;
665 esac
666
667 if test "$have_dosish_system" = yes; then
668    AC_DEFINE(HAVE_DOSISH_SYSTEM,1,
669              [Defined if we run on some of the PCDOS like systems
670               (DOS, Windoze. OS/2) with special properties like
671               no file modes, case insensitive file names and preferred
672               use of backslashes as directory name separators.])
673 fi
674 AM_CONDITIONAL(HAVE_DOSISH_SYSTEM, test "$have_dosish_system" = yes)
675
676 AM_CONDITIONAL(USE_SIMPLE_GETTEXT, test x"$use_simple_gettext" = xyes)
677
678 if test "$have_w32_system" = yes; then
679    AC_DEFINE(HAVE_W32_SYSTEM,1, [Defined if we run on a W32 API based system])
680    if test "$have_w32ce_system" = yes; then
681       AC_DEFINE(HAVE_W32CE_SYSTEM,1,[Defined if we run on WindowsCE])
682    fi
683 fi
684 AM_CONDITIONAL(HAVE_W32_SYSTEM, test "$have_w32_system" = yes)
685 AM_CONDITIONAL(HAVE_W32CE_SYSTEM, test "$have_w32ce_system" = yes)
686
687 if test "$have_android_system" = yes; then
688    AC_DEFINE(HAVE_ANDROID_SYSTEM,1, [Defined if we build for an Android system])
689 fi
690 AM_CONDITIONAL(HAVE_ANDROID_SYSTEM, test "$have_android_system" = yes)
691
692 if test "$run_tests" = yes; then
693    AC_DEFINE(RUN_TESTS,1, [Defined if we should run the tests])
694 fi
695 AM_CONDITIONAL(RUN_TESTS, test "$run_tests" = yes)
696
697 if test "$use_ldapwrapper" = yes; then
698    AC_DEFINE(USE_LDAPWRAPPER,1, [Build dirmngr with LDAP wrapper process])
699 fi
700 AM_CONDITIONAL(USE_LDAPWRAPPER, test "$use_ldapwrapper" = yes)
701
702 if test "$disable_keyserver_path" = yes; then
703     AC_DEFINE(DISABLE_KEYSERVER_PATH,1,
704               [Defined to disable exec-path for keyserver helpers])
705 fi
706
707 #
708 # Allows enabling the use of a standard socket by default This is
709 # gpg-agent's option --[no-]use-standard-socket.  For Windows we force
710 # the use of this.
711 #
712 AC_MSG_CHECKING([whether to use a standard socket by default])
713 AC_ARG_ENABLE(standard-socket,
714               AC_HELP_STRING([--disable-standard-socket],
715                              [don't use a standard socket by default]),
716               use_standard_socket=$enableval)
717 tmp=""
718 if test "$use_standard_socket" != yes; then
719   if test "$have_w32_system" = yes; then
720     use_standard_socket=yes
721     tmp=" (forced)"
722   fi
723 fi
724 AC_MSG_RESULT($use_standard_socket$tmp)
725 if test "$use_standard_socket" = yes; then
726   AC_DEFINE(USE_STANDARD_SOCKET,1,
727             [Use the standard socket for the agent by default])
728 fi
729
730
731 # (These need to go after AC_PROG_CC so that $EXEEXT is defined)
732 AC_DEFINE_UNQUOTED(EXEEXT,"$EXEEXT",[The executable file extension, if any])
733
734 if test x"$try_hkp" = xyes ; then
735   AC_SUBST(GPGKEYS_HKP,"gpg2keys_hkp$EXEEXT")
736 fi
737
738 if test x"$try_finger" = xyes ; then
739   AC_SUBST(GPGKEYS_FINGER,"gpg2keys_finger$EXEEXT")
740 fi
741
742
743
744 #
745 # Checks for libraries.
746 #
747 AC_MSG_NOTICE([checking for libraries])
748
749
750 #
751 # libgpg-error is a library with error codes shared between GnuPG
752 # related projects.
753 #
754 AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION",
755                   have_gpg_error=yes,have_gpg_error=no)
756
757
758 #
759 # Libgcrypt is our generic crypto library
760 #
761 AM_PATH_LIBGCRYPT("$NEED_LIBGCRYPT_API:$NEED_LIBGCRYPT_VERSION",
762         have_libgcrypt=yes,have_libgcrypt=no)
763
764
765 #
766 # libassuan is used for IPC
767 #
768 AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_API:$NEED_LIBASSUAN_VERSION",
769                   have_libassuan=yes,have_libassuan=no)
770 if test "$have_libassuan" = "yes"; then
771   AC_DEFINE_UNQUOTED(GNUPG_LIBASSUAN_VERSION, "$libassuan_version",
772                      [version of the libassuan library])
773 fi
774
775
776
777 #
778 # libksba is our X.509 support library
779 #
780 AM_PATH_KSBA("$NEED_KSBA_API:$NEED_KSBA_VERSION",have_ksba=yes,have_ksba=no)
781
782
783 #
784 # libusb allows us to use the integrated CCID smartcard reader driver.
785 #
786 # FiXME: Use GNUPG_CHECK_LIBUSB and modify to use separate AC_SUBSTs.
787 if test "$use_ccid_driver" = yes ; then
788   AC_CHECK_LIB(usb, usb_bulk_write,
789                 [ LIBUSB_LIBS="$LIBUSB_LIBS -lusb"
790                   AC_DEFINE(HAVE_LIBUSB,1,
791                            [defined if libusb is available])
792                   have_libusb=yes
793                ])
794   AC_CHECK_FUNCS(usb_create_match)
795 fi
796 AC_SUBST(LIBUSB_LIBS)
797
798 #
799 # Check wether it is necessary to link against libdl.
800 #
801 gnupg_dlopen_save_libs="$LIBS"
802 LIBS=""
803 AC_SEARCH_LIBS(dlopen, c dl,,,)
804 DL_LIBS=$LIBS
805 AC_SUBST(DL_LIBS)
806 LIBS="$gnupg_dlopen_save_libs"
807
808 # Checks for g13
809
810 AC_PATH_PROG(ENCFS, encfs, /usr/bin/encfs)
811 AC_DEFINE_UNQUOTED(ENCFS,
812         "${ENCFS}", [defines the filename of the encfs program])
813
814 AC_PATH_PROG(FUSERMOUNT, fusermount, /usr/bin/fusermount)
815 AC_DEFINE_UNQUOTED(FUSERMOUNT,
816         "${FUSERMOUNT}", [defines the filename of the fusermount program])
817
818
819 # Checks for dirmngr
820
821
822 #
823 # Checks for symcryptrun:
824 #
825
826 # libutil has openpty() and login_tty().
827 AC_CHECK_LIB(util, openpty,
828               [ LIBUTIL_LIBS="$LIBUTIL_LIBS -lutil"
829                 AC_DEFINE(HAVE_LIBUTIL,1,
830                          [defined if libutil is available])
831              ])
832 AC_SUBST(LIBUTIL_LIBS)
833
834 # shred is used to clean temporary plain text files.
835 AC_PATH_PROG(SHRED, shred, /usr/bin/shred)
836 AC_DEFINE_UNQUOTED(SHRED,
837         "${SHRED}", [defines the filename of the shred program])
838
839
840 #
841 # Check whether the nPth library is available
842 #
843 AM_PATH_NPTH("$NEED_NPTH_API:$NEED_NPTH_VERSION",have_npth=yes,have_npth=no)
844 if test "$have_npth" = "yes"; then
845   # We define this macro because some code parts require it.
846   AC_DEFINE(USE_NPTH, 1,
847               [Defined if the New Portable Thread Library is available])
848 else
849   AC_MSG_WARN([[
850 ***
851 *** To support concurrent access for example in gpg-agent and the SCdaemon
852 *** we need the support of the New Portable Threads Library.
853 ***]])
854 fi
855
856
857 AC_MSG_NOTICE([checking for networking options])
858
859 #
860 # Must check for network library requirements before doing link tests
861 # for ldap, for example. If ldap libs are static (or dynamic and without
862 # ELF runtime link paths), then link will fail and LDAP support won't
863 # be detected.
864 #
865 AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname,
866         [NETLIBS="-lnsl $NETLIBS"]))
867 AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt,
868         [NETLIBS="-lsocket $NETLIBS"]))
869
870
871 #
872 # Check for ADNS.
873 #
874 _cppflags="${CPPFLAGS}"
875 _ldflags="${LDFLAGS}"
876 AC_ARG_WITH(adns,
877             AC_HELP_STRING([--with-adns=DIR],
878                            [look for the adns library in DIR]),
879             [if test -d "$withval"; then
880                CPPFLAGS="${CPPFLAGS} -I$withval/include"
881                LDFLAGS="${LDFLAGS} -L$withval/lib"
882              fi])
883 if test "$with_adns" != "no"; then
884   AC_CHECK_HEADERS(adns.h,
885                 AC_CHECK_LIB(adns, adns_init,
886                              [have_adns=yes],
887                              [CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}]),
888                 [CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}])
889 fi
890 if test "$have_adns" = "yes"; then
891   ADNSLIBS="-ladns"
892 fi
893 AC_SUBST(ADNSLIBS)
894 # Newer adns versions feature a free function to be used under W32.
895 AC_CHECK_FUNCS(adns_free)
896
897
898
899 #
900 # Now try for the resolver functions so we can use DNS for SRV, PA and CERT.
901 #
902 if test x"$try_hkp" = xyes || test x"$try_http" = xyes ; then
903   AC_ARG_ENABLE(dns-srv,
904      AC_HELP_STRING([--disable-dns-srv],
905                     [disable the use of DNS SRV in HKP and HTTP]),
906                 use_dns_srv=$enableval,use_dns_srv=yes)
907 fi
908
909 AC_ARG_ENABLE(dns-pka,
910    AC_HELP_STRING([--disable-dns-pka],
911         [disable the use of PKA records in DNS]),
912    use_dns_pka=$enableval,use_dns_pka=yes)
913
914 AC_ARG_ENABLE(dns-cert,
915    AC_HELP_STRING([--disable-dns-cert],
916         [disable the use of CERT records in DNS]),
917    use_dns_cert=$enableval,use_dns_cert=yes)
918
919 if test x"$use_dns_pka" = xyes || test x"$use_dns_srv" = xyes \
920    || test x"$use_dns_cert" = xyes; then
921   _dns_save_libs=$LIBS
922   LIBS=""
923   # the double underscore thing is a glibc-ism?
924   AC_SEARCH_LIBS(res_query,resolv bind,,
925                  AC_SEARCH_LIBS(__res_query,resolv bind,,have_resolver=no))
926   AC_SEARCH_LIBS(dn_expand,resolv bind,,
927                  AC_SEARCH_LIBS(__dn_expand,resolv bind,,have_resolver=no))
928   AC_SEARCH_LIBS(dn_skipname,resolv bind,,
929                  AC_SEARCH_LIBS(__dn_skipname,resolv bind,,have_resolver=no))
930
931   if test x"$have_resolver" != xno ; then
932
933     # Make sure that the BIND 4 resolver interface is workable before
934     # enabling any code that calls it.  At some point I'll rewrite the
935     # code to use the BIND 8 resolver API.
936     # We might also want to use adns instead.  Problem with ADNS is that
937     # it does not support v6.
938
939     AC_MSG_CHECKING([whether the resolver is usable])
940     AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
941 #include <netinet/in.h>
942 #include <arpa/nameser.h>
943 #include <resolv.h>]],
944 [[unsigned char answer[PACKETSZ];
945   res_query("foo.bar",C_IN,T_A,answer,PACKETSZ);
946   dn_skipname(0,0);
947   dn_expand(0,0,0,0,0);
948 ]])],have_resolver=yes,have_resolver=no)
949     AC_MSG_RESULT($have_resolver)
950
951     # This is Apple-specific and somewhat bizarre as they changed the
952     # define in bind 8 for some reason.
953
954     if test x"$have_resolver" != xyes ; then
955        AC_MSG_CHECKING(
956              [whether I can make the resolver usable with BIND_8_COMPAT])
957        AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define BIND_8_COMPAT
958 #include <sys/types.h>
959 #include <netinet/in.h>
960 #include <arpa/nameser.h>
961 #include <resolv.h>]],
962 [[unsigned char answer[PACKETSZ];
963   res_query("foo.bar",C_IN,T_A,answer,PACKETSZ);
964   dn_skipname(0,0); dn_expand(0,0,0,0,0);
965 ]])],[have_resolver=yes ; need_compat=yes])
966        AC_MSG_RESULT($have_resolver)
967     fi
968   fi
969
970   if test x"$have_resolver" = xyes ; then
971      DNSLIBS=$LIBS
972
973      if test x"$use_dns_srv" = xyes ; then
974         AC_DEFINE(USE_DNS_SRV,1,[define to use DNS SRV])
975      fi
976
977      if test x"$use_dns_pka" = xyes ; then
978         AC_DEFINE(USE_DNS_PKA,1,[define to use our experimental DNS PKA])
979      fi
980
981      if test x"$use_dns_cert" = xyes ; then
982         AC_DEFINE(USE_DNS_CERT,1,[define to use DNS CERT])
983      fi
984
985      if test x"$need_compat" = xyes ; then
986         AC_DEFINE(BIND_8_COMPAT,1,[an Apple OSXism])
987      fi
988   else
989      # If we have no resolver library but ADNS (e.g. under W32) enable the
990      # code parts which can be used with ADNS.
991      if test x"$have_adns" = xyes ; then
992         DNSLIBS="$ADNSLIBS"
993         AC_DEFINE(USE_ADNS,1,[Use ADNS as resolver library.])
994
995         if test x"$use_dns_srv" = xyes ; then
996            AC_DEFINE(USE_DNS_SRV,1)
997         fi
998
999         if test x"$use_dns_pka" = xyes ; then
1000            AC_DEFINE(USE_DNS_PKA,1)
1001         fi
1002
1003         if test x"$use_dns_cert" = xyes ; then
1004            AC_DEFINE(USE_DNS_CERT,1,[define to use DNS CERT])
1005         fi
1006      else
1007         use_dns_srv=no
1008         use_dns_pka=no
1009         use_dns_cert=no
1010      fi
1011   fi
1012
1013   LIBS=$_dns_save_libs
1014 fi
1015
1016 AC_SUBST(DNSLIBS)
1017
1018 AM_CONDITIONAL(USE_DNS_SRV, test x"$use_dns_srv" = xyes)
1019
1020
1021 #
1022 # Check for LDAP
1023 #
1024 if test "$try_ks_ldap" = yes || test "$build_dirmngr" = "yes" ; then
1025    GNUPG_CHECK_LDAP($NETLIBS)
1026    AC_CHECK_LIB(lber, ber_free,
1027                 [ LBER_LIBS="$LBER_LIBS -llber"
1028                   AC_DEFINE(HAVE_LBER,1,
1029                            [defined if liblber is available])
1030                   have_lber=yes
1031                ])
1032 fi
1033 AC_SUBST(LBER_LIBS)
1034
1035 #
1036 # Check for curl.  We fake the curl API if libcurl isn't installed.
1037 # We require 7.10 or later as we use curl_version_info().
1038 #
1039 LIBCURL_CHECK_CONFIG([yes],[7.10],,[fake_curl=yes])
1040 AM_CONDITIONAL(FAKE_CURL,test x"$fake_curl" = xyes)
1041
1042 # Generic, for us, means curl
1043
1044 if test x"$try_generic" = xyes ; then
1045    AC_SUBST(GPGKEYS_CURL,"gpg2keys_curl$EXEEXT")
1046 fi
1047
1048 #
1049 # Check for sendmail
1050 #
1051 # This isn't necessarily sendmail itself, but anything that gives a
1052 # sendmail-ish interface to the outside world.  That includes Exim,
1053 # Postfix, etc.  Basically, anything that can handle "sendmail -t".
1054 if test "$try_mailto" = yes ; then
1055   AC_ARG_WITH(mailprog,
1056       AC_HELP_STRING([--with-mailprog=NAME],
1057                      [use "NAME -t" for mail transport]),
1058              ,with_mailprog=yes)
1059
1060   if test x"$with_mailprog" = xyes ; then
1061     AC_PATH_PROG(SENDMAIL,sendmail,,$PATH:/usr/sbin:/usr/libexec:/usr/lib)
1062     if test "$ac_cv_path_SENDMAIL" ; then
1063       GPGKEYS_MAILTO="gpg2keys_mailto"
1064     fi
1065   elif test x"$with_mailprog" != xno ; then
1066     AC_MSG_CHECKING([for a mail transport program])
1067     AC_SUBST(SENDMAIL,$with_mailprog)
1068     AC_MSG_RESULT($with_mailprog)
1069     GPGKEYS_MAILTO="gpg2keys_mailto"
1070   fi
1071 fi
1072
1073 AC_SUBST(GPGKEYS_MAILTO)
1074
1075 #
1076 # Construct a printable name of the OS
1077 #
1078 case "${host}" in
1079     *-mingw32ce*)
1080         PRINTABLE_OS_NAME="W32CE"
1081         ;;
1082     *-mingw32*)
1083         PRINTABLE_OS_NAME="MingW32"
1084         ;;
1085     *-*-cygwin*)
1086         PRINTABLE_OS_NAME="Cygwin"
1087         ;;
1088     i?86-emx-os2 | i?86-*-os2*emx )
1089         PRINTABLE_OS_NAME="OS/2"
1090         ;;
1091     i?86-*-msdosdjgpp*)
1092         PRINTABLE_OS_NAME="MSDOS/DJGPP"
1093         try_dynload=no
1094         ;;
1095     *-linux*)
1096         PRINTABLE_OS_NAME="GNU/Linux"
1097         ;;
1098     *)
1099         PRINTABLE_OS_NAME=`uname -s || echo "Unknown"`
1100         ;;
1101 esac
1102 AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME",
1103                    [A human readable text with the name of the OS])
1104
1105
1106 #
1107 # Checking for iconv
1108 #
1109 AM_ICONV
1110
1111
1112 #
1113 # Check for gettext
1114 #
1115 # This is "GNU gnupg" - The project-id script from gettext
1116 #                       needs this string
1117 #
1118 AC_MSG_NOTICE([checking for gettext])
1119 AM_PO_SUBDIRS
1120 AM_GNU_GETTEXT_VERSION([0.17])
1121 if test "$try_gettext" = yes; then
1122   AM_GNU_GETTEXT([external],[need-ngettext])
1123
1124   # gettext requires some extra checks.  These really should be part of
1125   # the basic AM_GNU_GETTEXT macro.  TODO: move other gettext-specific
1126   # function checks to here.
1127
1128   AC_CHECK_FUNCS(strchr)
1129 else
1130   USE_NLS=no
1131   USE_INCLUDED_LIBINTL=no
1132   BUILD_INCLUDED_LIBINTL=no
1133   POSUB=po
1134   AC_SUBST(USE_NLS)
1135   AC_SUBST(USE_INCLUDED_LIBINTL)
1136   AC_SUBST(BUILD_INCLUDED_LIBINTL)
1137   AC_SUBST(POSUB)
1138 fi
1139
1140 # We use HAVE_LANGINFO_CODESET in a couple of places.
1141 AM_LANGINFO_CODESET
1142
1143 # Checks required for our use locales
1144 gt_LC_MESSAGES
1145
1146
1147 #
1148 # SELinux support
1149 #
1150 if test "$selinux_support" = yes ; then
1151   AC_DEFINE(ENABLE_SELINUX_HACKS,1,[Define to enable SELinux support])
1152 fi
1153
1154
1155 #
1156 # Checks for header files.
1157 #
1158 AC_MSG_NOTICE([checking for header files])
1159 AC_HEADER_STDC
1160 AC_CHECK_HEADERS([string.h unistd.h langinfo.h termio.h locale.h getopt.h \
1161                   pty.h utmp.h pwd.h inttypes.h signal.h])
1162 AC_HEADER_TIME
1163
1164
1165 #
1166 # Checks for typedefs, structures, and compiler characteristics.
1167 #
1168 AC_MSG_NOTICE([checking for system characteristics])
1169 AC_C_CONST
1170 AC_C_INLINE
1171 AC_C_VOLATILE
1172 AC_TYPE_SIZE_T
1173 AC_TYPE_MODE_T
1174 AC_TYPE_SIGNAL
1175 AC_DECL_SYS_SIGLIST
1176
1177 gl_HEADER_SYS_SOCKET
1178 gl_TYPE_SOCKLEN_T
1179
1180 AC_SEARCH_LIBS([inet_addr], [nsl])
1181
1182 AC_ARG_ENABLE(endian-check,
1183               AC_HELP_STRING([--disable-endian-check],
1184               [disable the endian check and trust the OS provided macros]),
1185               endiancheck=$enableval,endiancheck=yes)
1186
1187 if test x"$endiancheck" = xyes ; then
1188   GNUPG_CHECK_ENDIAN
1189 fi
1190
1191 # fixme: we should get rid of the byte type
1192 GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
1193 GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
1194 GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
1195 GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
1196 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
1197
1198 AC_CHECK_SIZEOF(unsigned short)
1199 AC_CHECK_SIZEOF(unsigned int)
1200 AC_CHECK_SIZEOF(unsigned long)
1201 AC_CHECK_SIZEOF(unsigned long long)
1202 AC_HEADER_TIME
1203 AC_CHECK_SIZEOF(time_t,,[[
1204 #include <stdio.h>
1205 #if TIME_WITH_SYS_TIME
1206 # include <sys/time.h>
1207 # include <time.h>
1208 #else
1209 # if HAVE_SYS_TIME_H
1210 #  include <sys/time.h>
1211 # else
1212 #  include <time.h>
1213 # endif
1214 #endif
1215 ]])
1216 GNUPG_TIME_T_UNSIGNED
1217
1218
1219 # Ensure that we have UINT64_C before we bother to check for uint64_t
1220 # Fixme: really needed in gnupg?  I think it is only useful in libcgrypt.
1221 AC_CACHE_CHECK([for UINT64_C],[gnupg_cv_uint64_c_works],
1222    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <inttypes.h>]],
1223        [[uint64_t foo=UINT64_C(42);]])],
1224      gnupg_cv_uint64_c_works=yes,gnupg_cv_uint64_c_works=no))
1225 if test "$gnupg_cv_uint64_c_works" = "yes" ; then
1226    AC_CHECK_SIZEOF(uint64_t)
1227 fi
1228
1229 if test "$ac_cv_sizeof_unsigned_short" = "0" \
1230    || test "$ac_cv_sizeof_unsigned_int" = "0" \
1231    || test "$ac_cv_sizeof_unsigned_long" = "0"; then
1232     AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
1233 fi
1234
1235
1236 #
1237 # Checks for library functions.
1238 #
1239 AC_MSG_NOTICE([checking for library functions])
1240 AC_CHECK_DECLS(getpagesize)
1241 AC_FUNC_FSEEKO
1242 AC_FUNC_VPRINTF
1243 AC_FUNC_FORK
1244 AC_CHECK_FUNCS([strerror strlwr tcgetattr mmap canonicalize_file_name])
1245 AC_CHECK_FUNCS([strcasecmp strncasecmp ctermid times gmtime_r strtoull])
1246 AC_CHECK_FUNCS([unsetenv fcntl ftruncate canonicalize_file_name])
1247 AC_CHECK_FUNCS([gettimeofday getrusage getrlimit setrlimit clock_gettime])
1248 AC_CHECK_FUNCS([atexit raise getpagesize strftime nl_langinfo setlocale])
1249 AC_CHECK_FUNCS([waitpid wait4 sigaction sigprocmask pipe getaddrinfo])
1250 AC_CHECK_FUNCS([ttyname rand ftello fsync stat lstat])
1251
1252 if test "$have_android_system" = yes; then
1253    # On Android ttyname is a stub but prints an error message.
1254    AC_DEFINE(HAVE_BROKEN_TTYNAME,1,
1255              [Defined if ttyname does not work properly])
1256 fi
1257
1258 AC_CHECK_TYPES([struct sigaction, sigset_t],,,[#include <signal.h>])
1259
1260 # Dirmngr requires mmap on Unix systems.
1261 if test $ac_cv_func_mmap != yes -a $mmap_needed = yes; then
1262   AC_MSG_ERROR([[Sorry, the current implemenation requires mmap.]])
1263 fi
1264
1265 #
1266 # These are needed by the jnlib parts in common.
1267 # Note:  We already checked pwd.h.
1268 AC_CHECK_HEADERS([signal.h])
1269 AC_CHECK_FUNCS([memicmp stpcpy strsep strlwr strtoul memmove stricmp strtol \
1270                 memrchr isascii timegm getrusage setrlimit stat setlocale   \
1271                 flockfile funlockfile fopencookie funopen getpwnam getpwuid \
1272                 getenv inet_pton])
1273 # end jnlib checks.
1274
1275
1276
1277 #
1278 # gnulib checks
1279 #
1280 gl_SOURCE_BASE([gl])
1281 gl_M4_BASE([gl/m4])
1282 gl_MODULES([setenv mkdtemp xsize strpbrk])
1283 gl_INIT
1284
1285
1286 #
1287 # W32 specific test
1288 #
1289 GNUPG_FUNC_MKDIR_TAKES_ONE_ARG
1290
1291 #
1292 # Sanity check regex.  Tests adapted from mutt.
1293 #
1294 AC_MSG_CHECKING([whether regular expression support is requested])
1295 AC_ARG_ENABLE(regex,
1296   AC_HELP_STRING([--disable-regex],
1297     [do not handle regular expressions in trust signatures]),
1298   use_regex=$enableval, use_regex=yes)
1299 AC_MSG_RESULT($use_regex)
1300
1301 if test "$use_regex" = yes ; then
1302   _cppflags="${CPPFLAGS}"
1303   _ldflags="${LDFLAGS}"
1304   AC_ARG_WITH(regex,
1305      AC_HELP_STRING([--with-regex=DIR],[look for regex in DIR]),
1306       [
1307       if test -d "$withval" ; then
1308         CPPFLAGS="${CPPFLAGS} -I$withval/include"
1309         LDFLAGS="${LDFLAGS} -L$withval/lib"
1310       fi
1311       ],withval="")
1312
1313   # Does the system have regex functions at all?
1314   AC_SEARCH_LIBS([regcomp], [regex])
1315   AC_CHECK_FUNC(regcomp, gnupg_cv_have_regex=yes, gnupg_cv_have_regex=no)
1316
1317   if test $gnupg_cv_have_regex = no; then
1318     use_regex=no
1319   else
1320     if test x"$cross_compiling" = xyes; then
1321       AC_MSG_WARN([cross compiling; assuming regexp libray is not broken])
1322     else
1323       AC_CACHE_CHECK([whether your system's regexp library is broken],
1324        [gnupg_cv_regex_broken],
1325        AC_TRY_RUN([
1326 #include <unistd.h>
1327 #include <regex.h>
1328 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); }],
1329        gnupg_cv_regex_broken=no, gnupg_cv_regex_broken=yes, gnupg_cv_regex_broken=yes))
1330
1331       if test $gnupg_cv_regex_broken = yes; then
1332         AC_MSG_WARN([your regex is broken - disabling regex use])
1333         use_regex=no
1334       fi
1335     fi
1336   fi
1337   CPPFLAGS="${_cppflags}"
1338   LDFLAGS="${_ldflags}"
1339 fi
1340
1341 if test "$use_regex" != yes ; then
1342   AC_DEFINE(DISABLE_REGEX,1, [Define to disable regular expression support])
1343 fi
1344 AM_CONDITIONAL(DISABLE_REGEX, test x"$use_regex" != xyes)
1345
1346
1347
1348 #
1349 # Do we have zlib? Must do it here because Solaris failed
1350 # when compiling a conftest (due to the "-lz" from LIBS).
1351 # Note that we combine zlib and bzlib2 in ZLIBS.
1352 #
1353 if test "$use_zip" = yes ; then
1354   _cppflags="${CPPFLAGS}"
1355   _ldflags="${LDFLAGS}"
1356   AC_ARG_WITH(zlib,
1357     [  --with-zlib=DIR         use libz in DIR],[
1358       if test -d "$withval"; then
1359         CPPFLAGS="${CPPFLAGS} -I$withval/include"
1360         LDFLAGS="${LDFLAGS} -L$withval/lib"
1361       fi
1362     ])
1363
1364   AC_CHECK_HEADER(zlib.h,
1365         AC_CHECK_LIB(z, deflateInit2_,
1366          ZLIBS="-lz",
1367          CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}),
1368          CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags})
1369
1370   AC_DEFINE(HAVE_ZIP,1, [Defined if ZIP and ZLIB are supported])
1371 fi
1372
1373
1374 #
1375 # Check whether we can support bzip2
1376 #
1377 if test "$use_bzip2" = yes ; then
1378   _cppflags="${CPPFLAGS}"
1379   _ldflags="${LDFLAGS}"
1380   AC_ARG_WITH(bzip2,
1381      AC_HELP_STRING([--with-bzip2=DIR],[look for bzip2 in DIR]),
1382       [
1383       if test -d "$withval" ; then
1384         CPPFLAGS="${CPPFLAGS} -I$withval/include"
1385         LDFLAGS="${LDFLAGS} -L$withval/lib"
1386       fi
1387       ],withval="")
1388
1389   # Checking alongside stdio.h as an early version of bzip2 (1.0)
1390   # required stdio.h to be included before bzlib.h, and Solaris 9 is
1391   # woefully out of date.
1392   if test "$withval" != no ; then
1393      AC_CHECK_HEADER(bzlib.h,
1394         AC_CHECK_LIB(bz2,BZ2_bzCompressInit,
1395           [
1396           have_bz2=yes
1397           ZLIBS="$ZLIBS -lbz2"
1398           AC_DEFINE(HAVE_BZIP2,1,
1399                   [Defined if the bz2 compression library is available])
1400           ],
1401           CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}),
1402           CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags},[#include <stdio.h>])
1403   fi
1404 fi
1405 AM_CONDITIONAL(ENABLE_BZIP2_SUPPORT,test x"$have_bz2" = "xyes")
1406 AC_SUBST(ZLIBS)
1407
1408
1409 # Check for readline support
1410 GNUPG_CHECK_READLINE
1411
1412
1413 if test "$development_version" = yes; then
1414     AC_DEFINE(IS_DEVELOPMENT_VERSION,1,
1415             [Defined if this is not a regular release])
1416 fi
1417
1418 AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes)
1419
1420 GNUPG_CHECK_GNUMAKE
1421
1422 # Add some extra libs here so that previous tests don't fail for
1423 # mysterious reasons - the final link step should bail out.
1424 # W32SOCKLIBS is also defined so that if can be used for tools not
1425 # requiring any network stuff but linking to code in libcommon which
1426 # tracks in winsock stuff (e.g. init_common_subsystems).
1427 if test "$have_w32_system" = yes; then
1428    if test "$have_w32ce_system" = yes; then
1429      W32SOCKLIBS="-lws2"
1430    else
1431      W32SOCKLIBS="-lws2_32"
1432    fi
1433    NETLIBS="${NETLIBS} ${W32SOCKLIBS}"
1434 fi
1435
1436 AC_SUBST(NETLIBS)
1437 AC_SUBST(W32SOCKLIBS)
1438
1439 #
1440 # Setup gcc specific options
1441 #
1442 AC_MSG_NOTICE([checking for cc features])
1443 if test "$GCC" = yes; then
1444     # Note that it is okay to use CFLAGS here because this are just
1445     # warning options and the user should have a chance of overriding
1446     # them.
1447     if test "$USE_MAINTAINER_MODE" = "yes"; then
1448         CFLAGS="$CFLAGS -O3 -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
1449         CFLAGS="$CFLAGS -Wformat -Wno-format-y2k -Wformat-security"
1450         AC_MSG_CHECKING([if gcc supports -Wno-missing-field-initializers])
1451         _gcc_cflags_save=$CFLAGS
1452         CFLAGS="-Wno-missing-field-initializers"
1453         AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],_gcc_wopt=yes,_gcc_wopt=no)
1454         AC_MSG_RESULT($_gcc_wopt)
1455         CFLAGS=$_gcc_cflags_save;
1456         if test x"$_gcc_wopt" = xyes ; then
1457           CFLAGS="$CFLAGS -W -Wno-sign-compare -Wno-missing-field-initializers"
1458         fi
1459         AC_MSG_CHECKING([if gcc supports -Wdeclaration-after-statement])
1460         _gcc_cflags_save=$CFLAGS
1461         CFLAGS="-Wdeclaration-after-statement"
1462         AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],_gcc_wopt=yes,_gcc_wopt=no)
1463         AC_MSG_RESULT($_gcc_wopt)
1464         CFLAGS=$_gcc_cflags_save;
1465         if test x"$_gcc_wopt" = xyes ; then
1466           CFLAGS="$CFLAGS -Wdeclaration-after-statement"
1467         fi
1468     else
1469         CFLAGS="$CFLAGS -Wall"
1470     fi
1471
1472     AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign])
1473     _gcc_cflags_save=$CFLAGS
1474     CFLAGS="-Wno-pointer-sign"
1475     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],_gcc_psign=yes,_gcc_psign=no)
1476     AC_MSG_RESULT($_gcc_psign)
1477     CFLAGS=$_gcc_cflags_save;
1478     if test x"$_gcc_psign" = xyes ; then
1479        CFLAGS="$CFLAGS -Wno-pointer-sign"
1480     fi
1481
1482     AC_MSG_CHECKING([if gcc supports -Wpointer-arith])
1483     _gcc_cflags_save=$CFLAGS
1484     CFLAGS="-Wpointer-arith"
1485     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],_gcc_psign=yes,_gcc_psign=no)
1486     AC_MSG_RESULT($_gcc_psign)
1487     CFLAGS=$_gcc_cflags_save;
1488     if test x"$_gcc_psign" = xyes ; then
1489        CFLAGS="$CFLAGS -Wpointer-arith"
1490     fi
1491 fi
1492
1493
1494 #
1495 # This is handy for debugging so the compiler doesn't rearrange
1496 # things and eliminate variables.
1497 #
1498 AC_ARG_ENABLE(optimization,
1499    AC_HELP_STRING([--disable-optimization],
1500                   [disable compiler optimization]),
1501                   [if test $enableval = no ; then
1502                       CFLAGS=`echo $CFLAGS | sed s/-O[[1-9]]\ /-O0\ /g`
1503                    fi])
1504
1505 #
1506 # Prepare building of estream
1507 #
1508 estream_INIT
1509
1510
1511 #
1512 # Decide what to build
1513 #
1514 if test "$have_adns" = "yes"; then
1515   AC_SUBST(GPGKEYS_KDNS, "gpg2keys_kdns$EXEEXT")
1516 fi
1517
1518
1519 build_scdaemon_extra=""
1520 if test "$build_scdaemon" = "yes"; then
1521   if test $have_libusb = no; then
1522      build_scdaemon_extra="${tmp}without internal CCID driver"
1523   fi
1524   if test -n "$build_scdaemon_extra"; then
1525      build_scdaemon_extra="(${build_scdaemon_extra})"
1526   fi
1527 fi
1528
1529
1530 if test "$build_agent_only" = "yes" ; then
1531   build_gpg=no
1532   build_gpgsm=no
1533   build_scdaemon=no
1534   build_tools=no
1535   build_doc=no
1536 fi
1537
1538 #
1539 # Set variables for use by th automake makefile.
1540 #
1541 AM_CONDITIONAL(BUILD_GPG,         test "$build_gpg" = "yes")
1542 AM_CONDITIONAL(BUILD_GPGSM,       test "$build_gpgsm" = "yes")
1543 AM_CONDITIONAL(BUILD_AGENT,       test "$build_agent" = "yes")
1544 AM_CONDITIONAL(BUILD_SCDAEMON,    test "$build_scdaemon" = "yes")
1545 AM_CONDITIONAL(BUILD_G13,         test "$build_g13" = "yes")
1546 AM_CONDITIONAL(BUILD_DIRMNGR,     test "$build_dirmngr" = "yes")
1547 AM_CONDITIONAL(BUILD_TOOLS,       test "$build_tools" = "yes")
1548 AM_CONDITIONAL(BUILD_DOC,         test "$build_doc" = "yes")
1549 AM_CONDITIONAL(BUILD_SYMCRYPTRUN, test "$build_symcryptrun" = "yes")
1550 AM_CONDITIONAL(BUILD_GPGTAR,      test "$build_gpgtar" = "yes")
1551
1552 AM_CONDITIONAL(RUN_GPG_TESTS,
1553                test x$cross_compiling = xno -a "$build_gpg" = yes )
1554
1555 #
1556 # Set some defines for use gpgconf.
1557 #
1558 if test "$build_gpg" = yes ; then
1559     AC_DEFINE(BUILD_WITH_GPG,1,[Defined if GPG is to be build])
1560 fi
1561 if test "$build_gpgsm" = yes ; then
1562     AC_DEFINE(BUILD_WITH_GPGSM,1,[Defined if GPGSM is to be build])
1563 fi
1564 if test "$build_agent" = yes ; then
1565     AC_DEFINE(BUILD_WITH_AGENT,1,[Defined if GPG-AGENT is to be build])
1566 fi
1567 if test "$build_scdaemon" = yes ; then
1568     AC_DEFINE(BUILD_WITH_SCDAEMON,1,[Defined if SCDAEMON is to be build])
1569 fi
1570 if test "$build_dirmngr" = yes ; then
1571     AC_DEFINE(BUILD_WITH_DIRMNGR,1,[Defined if SCDAEMON is to be build])
1572 fi
1573 if test "$build_g13" = yes ; then
1574     AC_DEFINE(BUILD_WITH_G13,1,[Defined if G13 is to be build])
1575 fi
1576
1577
1578
1579 #
1580 # Print errors here so that they are visible all
1581 # together and the user can acquire them all together.
1582 #
1583 die=no
1584 if test "$have_gpg_error" = "no"; then
1585    die=yes
1586    AC_MSG_NOTICE([[
1587 ***
1588 *** You need libgpg-error to build this program.
1589 **  This library is for example available at
1590 ***   ftp://ftp.gnupg.org/gcrypt/libgpg-error
1591 *** (at least version $NEED_GPG_ERROR_VERSION is required.)
1592 ***]])
1593 fi
1594 if test "$have_libgcrypt" = "no"; then
1595    die=yes
1596    AC_MSG_NOTICE([[
1597 ***
1598 *** You need libgcrypt to build this program.
1599 **  This library is for example available at
1600 ***   ftp://ftp.gnupg.org/gcrypt/libgcrypt/
1601 *** (at least version $NEED_LIBGCRYPT_VERSION (API $NEED_LIBGCRYPT_API) is required.)
1602 ***]])
1603 fi
1604 if test "$have_libassuan" = "no"; then
1605    die=yes
1606    AC_MSG_NOTICE([[
1607 ***
1608 *** You need libassuan to build this program.
1609 *** This library is for example available at
1610 ***   ftp://ftp.gnupg.org/gcrypt/libassuan/
1611 *** (at least version $NEED_LIBASSUAN_VERSION (API $NEED_LIBASSUAN_API) is required).
1612 ***]])
1613 fi
1614 if test "$have_ksba" = "no"; then
1615     die=yes
1616     AC_MSG_NOTICE([[
1617 ***
1618 *** You need libksba to build this program.
1619 *** This library is for example available at
1620 ***   ftp://ftp.gnupg.org/gcrypt/libksba/
1621 *** (at least version $NEED_KSBA_VERSION using API $NEED_KSBA_API is required).
1622 ***]])
1623 fi
1624 if test "$gnupg_have_ldap" = "no"; then
1625     die=yes
1626     AC_MSG_NOTICE([[
1627 ***
1628 *** You need a LDAP library to build this program.
1629 *** Check out
1630 ***    http://www.openldap.org
1631 *** for a suitable implementation.
1632 ***]])
1633    if test "$have_w32ce_system" = yes; then
1634     AC_MSG_NOTICE([[
1635 *** Note that CeGCC might be broken, a package fixing this is:
1636 ***    http://files.kolab.org/local/windows-ce/
1637 ***                           source/wldap32_0.1-mingw32ce.orig.tar.gz
1638 ***                           binary/wldap32-ce-arm-dev_0.1-1_all.deb
1639 ***]])
1640    fi
1641 fi
1642 if test "$have_npth" = "no"; then
1643     die=yes
1644     AC_MSG_NOTICE([[
1645 ***
1646 *** It is now required to build with support for the
1647 *** New Portable Threads Library (nPth). Please install this
1648 *** library first.  The library is for example available at
1649 ***   ftp://ftp.gnupg.org/gcrypt/npth/
1650 *** (at least version $NEED_NPTH_VERSION (API $NEED_NPTH_API) is required).
1651 ***]])
1652 fi
1653
1654 if test "$die" = "yes"; then
1655     AC_MSG_ERROR([[
1656 ***
1657 *** Required libraries not found. Please consult the above messages
1658 *** and install them before running configure again.
1659 ***]])
1660 fi
1661
1662
1663
1664 AC_CONFIG_FILES([ m4/Makefile
1665 Makefile
1666 po/Makefile.in
1667 gl/Makefile
1668 include/Makefile
1669 common/Makefile
1670 kbx/Makefile
1671 g10/Makefile
1672 sm/Makefile
1673 agent/Makefile
1674 scd/Makefile
1675 g13/Makefile
1676 dirmngr/Makefile
1677 tools/gpg-zip
1678 tools/Makefile
1679 doc/Makefile
1680 tests/Makefile
1681 tests/openpgp/Makefile
1682 tests/pkits/Makefile
1683 ])
1684 #keyserver/Makefile
1685 #keyserver/gpg2keys_mailto
1686 #keyserver/gpg2keys_test
1687
1688
1689 AC_OUTPUT
1690
1691
1692 echo "
1693         GnuPG v${VERSION} has been configured as follows:
1694
1695         Revision:  mym4_revision  (mym4_revision_dec)
1696         Platform:  $PRINTABLE_OS_NAME ($host)
1697
1698         OpenPGP:   $build_gpg
1699         S/MIME:    $build_gpgsm
1700         Agent:     $build_agent
1701         Smartcard: $build_scdaemon $build_scdaemon_extra
1702         G13:       $build_g13
1703         Dirmngr:   $build_dirmngr
1704         Gpgtar:    $build_gpgtar
1705
1706         Protect tool:      $show_gnupg_protect_tool_pgm
1707         LDAP wrapper:      $show_gnupg_dirmngr_ldap_pgm
1708         Default agent:     $show_gnupg_agent_pgm
1709         Default pinentry:  $show_gnupg_pinentry_pgm
1710         Default scdaemon:  $show_gnupg_scdaemon_pgm
1711         Default dirmngr:   $show_gnupg_dirmngr_pgm
1712
1713         Use standard socket: $use_standard_socket
1714         Dirmngr auto start:  $dirmngr_auto_start
1715 "
1716 if test x"$use_regex" != xyes ; then
1717 echo "
1718         Warning: No regular expression support available.
1719                  OpenPGP trust signatures won't work.
1720                  gpg-check-pattern will not be build.
1721 "
1722 fi