1 # configure.ac - for GnuPG 2.1
2 # Copyright (C) 1998-2017 Free Software Foundation, Inc.
3 # Copyright (C) 1998-2017 Werner Koch
5 # This file is part of GnuPG.
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.
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.
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, see <https://www.gnu.org/licenses/>.
20 # Process this file with autoconf to produce a configure script.
22 min_automake_version="1.14"
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_package],[gnupg])
29 m4_define([mym4_major], [2])
30 m4_define([mym4_minor], [2])
31 m4_define([mym4_micro], [1])
33 # To start a new development series, i.e a new major or minor number
34 # you need to mark an arbitrary commit before the first beta release
35 # with an annotated tag. For example the 2.1 branch starts off with
36 # the tag "gnupg-2.1-base". This is used as the base for counting
37 # beta numbers before the first release of a series.
39 # Below is m4 magic to extract and compute the git revision number,
40 # the decimalized short revision number, a beta version string and a
41 # flag indicating a development version (mym4_isbeta). Note that the
42 # m4 processing is done by autoconf and not during the configure run.
43 m4_define([mym4_verslist], m4_split(m4_esyscmd([./autogen.sh --find-version] \
44 mym4_package mym4_major mym4_minor mym4_micro),[:]))
45 m4_define([mym4_isbeta], m4_argn(2, mym4_verslist))
46 m4_define([mym4_version], m4_argn(4, mym4_verslist))
47 m4_define([mym4_revision], m4_argn(7, mym4_verslist))
48 m4_define([mym4_revision_dec], m4_argn(8, mym4_verslist))
49 m4_esyscmd([echo ]mym4_version[>VERSION])
50 AC_INIT([mym4_package],[mym4_version], [https://bugs.gnupg.org])
52 # When changing the SWDB tag please also adjust the hard coded tags in
53 # build-aux/speedo.mk and Makefile.am
54 AC_DEFINE_UNQUOTED(GNUPG_SWDB_TAG, "gnupg22", [swdb tag for this branch])
56 NEED_GPG_ERROR_VERSION=1.24
59 NEED_LIBGCRYPT_VERSION=1.7.0
62 NEED_LIBASSUAN_VERSION=2.4.3
65 NEED_KSBA_VERSION=1.3.4
68 NEED_NTBTLS_VERSION=0.1.0
74 NEED_GNUTLS_VERSION=3.0
76 NEED_SQLITE_VERSION=3.7
78 development_version=mym4_isbeta
80 PACKAGE_GT=${PACKAGE_NAME}2
81 VERSION=$PACKAGE_VERSION
83 AC_CONFIG_AUX_DIR([build-aux])
84 AC_CONFIG_SRCDIR([sm/gpgsm.c])
85 AC_CONFIG_HEADER([config.h])
86 AM_INIT_AUTOMAKE([serial-tests dist-bzip2 no-dist-gzip])
92 # Before we do anything with the C compiler, we first save the user's
93 # CFLAGS (they are restored at the end of the configure script). This
94 # is because some configure checks don't work with -Werror, but we'd
95 # like to use -Werror with our build.
99 # Some status variables.
109 have_system_resolver=no
110 gnupg_have_ldap="n/a"
120 dirmngr_auto_start=yes
126 GNUPG_BUILD_PROGRAM(gpg, yes)
127 GNUPG_BUILD_PROGRAM(gpgsm, yes)
128 # The agent is a required part and can't be disabled anymore.
130 GNUPG_BUILD_PROGRAM(scdaemon, yes)
131 GNUPG_BUILD_PROGRAM(g13, no)
132 GNUPG_BUILD_PROGRAM(dirmngr, yes)
133 GNUPG_BUILD_PROGRAM(doc, yes)
134 GNUPG_BUILD_PROGRAM(symcryptrun, no)
135 # We use gpgtar to unpack test data, hence we always build it. If the
136 # user opts out, we simply don't install it.
137 GNUPG_BUILD_PROGRAM(gpgtar, yes)
138 GNUPG_BUILD_PROGRAM(wks-tools, no)
143 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package])
144 AC_DEFINE_UNQUOTED(PACKAGE_GT, "$PACKAGE_GT",
145 [Name of this package for gettext])
146 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version of this package])
147 AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT, "$PACKAGE_BUGREPORT",
148 [Bug report address])
149 AC_DEFINE_UNQUOTED(NEED_LIBGCRYPT_VERSION, "$NEED_LIBGCRYPT_VERSION",
150 [Required version of Libgcrypt])
151 AC_DEFINE_UNQUOTED(NEED_KSBA_VERSION, "$NEED_KSBA_VERSION",
152 [Required version of Libksba])
153 AC_DEFINE_UNQUOTED(NEED_NTBTLS_VERSION, "$NEED_NTBTLS_VERSION",
154 [Required version of NTBTLS])
158 # The default is to use the modules from this package and the few
159 # other packages in a standard place; i.e where this package gets
160 # installed. With these options it is possible to override these
161 # ${prefix} depended values with fixed paths, which can't be replaced
162 # at make time. See also am/cmacros.am and the defaults in AH_BOTTOM.
163 AC_ARG_WITH(agent-pgm,
164 [ --with-agent-pgm=PATH Use PATH as the default for the agent)],
165 GNUPG_AGENT_PGM="$withval", GNUPG_AGENT_PGM="" )
166 AC_SUBST(GNUPG_AGENT_PGM)
167 AM_CONDITIONAL(GNUPG_AGENT_PGM, test -n "$GNUPG_AGENT_PGM")
168 show_gnupg_agent_pgm="(default)"
169 test -n "$GNUPG_AGENT_PGM" && show_gnupg_agent_pgm="$GNUPG_AGENT_PGM"
171 AC_ARG_WITH(pinentry-pgm,
172 [ --with-pinentry-pgm=PATH Use PATH as the default for the pinentry)],
173 GNUPG_PINENTRY_PGM="$withval", GNUPG_PINENTRY_PGM="" )
174 AC_SUBST(GNUPG_PINENTRY_PGM)
175 AM_CONDITIONAL(GNUPG_PINENTRY_PGM, test -n "$GNUPG_PINENTRY_PGM")
176 show_gnupg_pinentry_pgm="(default)"
177 test -n "$GNUPG_PINENTRY_PGM" && show_gnupg_pinentry_pgm="$GNUPG_PINENTRY_PGM"
180 AC_ARG_WITH(scdaemon-pgm,
181 [ --with-scdaemon-pgm=PATH Use PATH as the default for the scdaemon)],
182 GNUPG_SCDAEMON_PGM="$withval", GNUPG_SCDAEMON_PGM="" )
183 AC_SUBST(GNUPG_SCDAEMON_PGM)
184 AM_CONDITIONAL(GNUPG_SCDAEMON_PGM, test -n "$GNUPG_SCDAEMON_PGM")
185 show_gnupg_scdaemon_pgm="(default)"
186 test -n "$GNUPG_SCDAEMON_PGM" && show_gnupg_scdaemon_pgm="$GNUPG_SCDAEMON_PGM"
189 AC_ARG_WITH(dirmngr-pgm,
190 [ --with-dirmngr-pgm=PATH Use PATH as the default for the dirmngr)],
191 GNUPG_DIRMNGR_PGM="$withval", GNUPG_DIRMNGR_PGM="" )
192 AC_SUBST(GNUPG_DIRMNGR_PGM)
193 AM_CONDITIONAL(GNUPG_DIRMNGR_PGM, test -n "$GNUPG_DIRMNGR_PGM")
194 show_gnupg_dirmngr_pgm="(default)"
195 test -n "$GNUPG_DIRMNGR_PGM" && show_gnupg_dirmngr_pgm="$GNUPG_DIRMNGR_PGM"
197 AC_ARG_WITH(protect-tool-pgm,
198 [ --with-protect-tool-pgm=PATH Use PATH as the default for the protect-tool)],
199 GNUPG_PROTECT_TOOL_PGM="$withval", GNUPG_PROTECT_TOOL_PGM="" )
200 AC_SUBST(GNUPG_PROTECT_TOOL_PGM)
201 AM_CONDITIONAL(GNUPG_PROTECT_TOOL_PGM, test -n "$GNUPG_PROTECT_TOOL_PGM")
202 show_gnupg_protect_tool_pgm="(default)"
203 test -n "$GNUPG_PROTECT_TOOL_PGM" \
204 && show_gnupg_protect_tool_pgm="$GNUPG_PROTECT_TOOL_PGM"
206 AC_ARG_WITH(dirmngr-ldap-pgm,
207 [ --with-dirmngr-ldap-pgm=PATH Use PATH as the default for the dirmngr ldap wrapper)],
208 GNUPG_DIRMNGR_LDAP_PGM="$withval", GNUPG_DIRMNGR_LDAP_PGM="" )
209 AC_SUBST(GNUPG_DIRMNGR_LDAP_PGM)
210 AM_CONDITIONAL(GNUPG_DIRMNGR_LDAP_PGM, test -n "$GNUPG_DIRMNGR_LDAP_PGM")
211 show_gnupg_dirmngr_ldap_pgm="(default)"
212 test -n "$GNUPG_DIRMNGR_LDAP_PGM" \
213 && show_gnupg_dirmngr_ldap_pgm="$GNUPG_DIRMNGR_LDAP_PGM"
217 # For a long time gpg 2.x was installed as gpg2. This changed with
218 # 2.2. This option can be used to install gpg under the name gpg2.
220 AC_ARG_ENABLE(gpg-is-gpg2,
221 AC_HELP_STRING([--enable-gpg-is-gpg2],[Set installed name of gpg to gpg2]),
222 gpg_is_gpg2=$enableval)
223 if test "$gpg_is_gpg2" = "yes"; then
224 AC_DEFINE(USE_GPG2_HACK, 1, [Define to install gpg as gpg2])
226 AM_CONDITIONAL(USE_GPG2_HACK, test "$gpg_is_gpg2" = "yes")
229 # SELinux support includes tracking of sensitive files to avoid
230 # leaking their contents through processing these files by gpg itself
231 AC_MSG_CHECKING([whether SELinux support is requested])
232 AC_ARG_ENABLE(selinux-support,
233 AC_HELP_STRING([--enable-selinux-support],
234 [enable SELinux support]),
235 selinux_support=$enableval, selinux_support=no)
236 AC_MSG_RESULT($selinux_support)
239 AC_MSG_CHECKING([whether to allocate extra secure memory])
240 AC_ARG_ENABLE(large-secmem,
241 AC_HELP_STRING([--enable-large-secmem],
242 [allocate extra secure memory]),
243 large_secmem=$enableval, large_secmem=no)
244 AC_MSG_RESULT($large_secmem)
245 if test "$large_secmem" = yes ; then
246 SECMEM_BUFFER_SIZE=65536
248 SECMEM_BUFFER_SIZE=32768
250 AC_DEFINE_UNQUOTED(SECMEM_BUFFER_SIZE,$SECMEM_BUFFER_SIZE,
251 [Size of secure memory buffer])
253 AC_MSG_CHECKING([whether to enable trust models])
254 AC_ARG_ENABLE(trust-models,
255 AC_HELP_STRING([--disable-trust-models],
256 [disable all trust models except "always"]),
257 use_trust_models=$enableval)
258 AC_MSG_RESULT($use_trust_models)
259 if test "$use_trust_models" = no ; then
260 AC_DEFINE(NO_TRUST_MODELS, 1,
261 [Define to include only trust-model always])
264 AC_MSG_CHECKING([whether to enable TOFU])
266 AC_HELP_STRING([--disable-tofu],
267 [disable the TOFU trust model]),
268 use_tofu=$enableval, use_tofu=$use_trust_models)
269 AC_MSG_RESULT($use_tofu)
270 if test "$use_trust_models" = no && test "$use_tofu" = yes; then
271 AC_MSG_ERROR([both --disable-trust-models and --enable-tofu given])
274 AC_MSG_CHECKING([whether to enable libdns])
275 AC_ARG_ENABLE(libdns,
276 AC_HELP_STRING([--disable-libdns],
277 [do not build with libdns support]),
278 use_libdns=$enableval, use_libdns=yes)
279 AC_MSG_RESULT($use_libdns)
280 if test x"$use_libdns" = xyes ; then
281 AC_DEFINE(USE_LIBDNS, 1, [Build with integrated libdns support])
283 AM_CONDITIONAL(USE_LIBDNS, test "$use_libdns" = yes)
287 # Options to disable algorithm
290 GNUPG_GPG_DISABLE_ALGO([rsa],[RSA public key])
291 # Elgamal is a MUST algorithm
292 # DSA is a MUST algorithm
293 GNUPG_GPG_DISABLE_ALGO([ecdh],[ECDH public key])
294 GNUPG_GPG_DISABLE_ALGO([ecdsa],[ECDSA public key])
295 GNUPG_GPG_DISABLE_ALGO([eddsa],[EdDSA public key])
297 GNUPG_GPG_DISABLE_ALGO([idea],[IDEA cipher])
298 # 3DES is a MUST algorithm
299 GNUPG_GPG_DISABLE_ALGO([cast5],[CAST5 cipher])
300 GNUPG_GPG_DISABLE_ALGO([blowfish],[BLOWFISH cipher])
301 GNUPG_GPG_DISABLE_ALGO([aes128],[AES128 cipher])
302 GNUPG_GPG_DISABLE_ALGO([aes192],[AES192 cipher])
303 GNUPG_GPG_DISABLE_ALGO([aes256],[AES256 cipher])
304 GNUPG_GPG_DISABLE_ALGO([twofish],[TWOFISH cipher])
305 GNUPG_GPG_DISABLE_ALGO([camellia128],[CAMELLIA128 cipher])
306 GNUPG_GPG_DISABLE_ALGO([camellia192],[CAMELLIA192 cipher])
307 GNUPG_GPG_DISABLE_ALGO([camellia256],[CAMELLIA256 cipher])
309 GNUPG_GPG_DISABLE_ALGO([md5],[MD5 hash])
310 # SHA1 is a MUST algorithm
311 GNUPG_GPG_DISABLE_ALGO([rmd160],[RIPE-MD160 hash])
312 GNUPG_GPG_DISABLE_ALGO([sha224],[SHA-224 hash])
313 # SHA256 is a MUST algorithm for GnuPG.
314 GNUPG_GPG_DISABLE_ALGO([sha384],[SHA-384 hash])
315 GNUPG_GPG_DISABLE_ALGO([sha512],[SHA-512 hash])
318 # Allow disabling of zip support.
319 # This is in general not a good idea because according to rfc4880 OpenPGP
320 # implementations SHOULD support ZLIB.
321 AC_MSG_CHECKING([whether to enable the ZIP and ZLIB compression algorithm])
323 AC_HELP_STRING([--disable-zip],
324 [disable the ZIP and ZLIB compression algorithm]),
326 AC_MSG_RESULT($use_zip)
328 # Allow disabling of bzib2 support.
329 # It is defined only after we confirm the library is available later
330 AC_MSG_CHECKING([whether to enable the BZIP2 compression algorithm])
332 AC_HELP_STRING([--disable-bzip2],[disable the BZIP2 compression algorithm]),
333 use_bzip2=$enableval)
334 AC_MSG_RESULT($use_bzip2)
336 # Configure option to allow or disallow execution of external
337 # programs, like a photo viewer.
338 AC_MSG_CHECKING([whether to enable external program execution])
340 AC_HELP_STRING([--disable-exec],[disable all external program execution]),
342 AC_MSG_RESULT($use_exec)
343 if test "$use_exec" = no ; then
344 AC_DEFINE(NO_EXEC,1,[Define to disable all external program execution])
347 if test "$use_exec" = yes ; then
348 AC_MSG_CHECKING([whether to enable photo ID viewing])
349 AC_ARG_ENABLE(photo-viewers,
350 [ --disable-photo-viewers disable photo ID viewers],
351 [if test "$enableval" = no ; then
352 AC_DEFINE(DISABLE_PHOTO_VIEWER,1,[define to disable photo viewing])
354 gnupg_cv_enable_photo_viewers=$enableval
355 AC_MSG_RESULT($enableval)
357 if test "$gnupg_cv_enable_photo_viewers" = yes ; then
358 AC_MSG_CHECKING([whether to use a fixed photo ID viewer])
359 AC_ARG_WITH(photo-viewer,
360 [ --with-photo-viewer=FIXED_VIEWER set a fixed photo ID viewer],
361 [if test "$withval" = yes ; then
363 elif test "$withval" != no ; then
364 AC_DEFINE_UNQUOTED(FIXED_PHOTO_VIEWER,"$withval",
365 [if set, restrict photo-viewer to this])
367 AC_MSG_RESULT($withval)
373 # Check for the key/uid cache size. This can't be zero, but can be
374 # pretty small on embedded systems. This is used for the gpg part.
376 AC_MSG_CHECKING([for the size of the key and uid cache])
377 AC_ARG_ENABLE(key-cache,
378 AC_HELP_STRING([--enable-key-cache=SIZE],
379 [Set key cache to SIZE (default 4096)]),,enableval=4096)
380 if test "$enableval" = "no"; then
382 elif test "$enableval" = "yes" || test "$enableval" = ""; then
386 key_cache_size=`echo "$enableval" | sed 's/[A-Za-z]//g'`
388 if test "$enableval" != "$key_cache_size" || test "$key_cache_size" -lt 5; then
389 AC_MSG_ERROR([invalid key-cache size])
391 AC_MSG_RESULT($key_cache_size)
392 AC_DEFINE_UNQUOTED(PK_UID_CACHE_SIZE,$key_cache_size,
393 [Size of the key and UID caches])
398 # Check whether we want to use Linux capabilities
400 AC_MSG_CHECKING([whether use of capabilities is requested])
401 AC_ARG_WITH(capabilities,
402 [ --with-capabilities use linux capabilities [default=no]],
403 [use_capabilities="$withval"],[use_capabilities=no])
404 AC_MSG_RESULT($use_capabilities)
407 # Check whether to disable the card support
408 AC_MSG_CHECKING([whether smartcard support is requested])
409 AC_ARG_ENABLE(card-support,
410 AC_HELP_STRING([--disable-card-support],
411 [disable smartcard support]),
412 card_support=$enableval)
413 AC_MSG_RESULT($card_support)
414 if test "$card_support" = yes ; then
415 AC_DEFINE(ENABLE_CARD_SUPPORT,1,[Define to include smartcard support])
421 # Allow disabling of internal CCID support.
422 # It is defined only after we confirm the library is available later
424 AC_MSG_CHECKING([whether to enable the internal CCID driver])
425 AC_ARG_ENABLE(ccid-driver,
426 AC_HELP_STRING([--disable-ccid-driver],
427 [disable the internal CCID driver]),
428 use_ccid_driver=$enableval)
429 AC_MSG_RESULT($use_ccid_driver)
431 AC_MSG_CHECKING([whether to auto start dirmngr])
432 AC_ARG_ENABLE(dirmngr-auto-start,
433 AC_HELP_STRING([--disable-dirmngr-auto-start],
434 [disable auto starting of the dirmngr]),
435 dirmngr_auto_start=$enableval)
436 AC_MSG_RESULT($dirmngr_auto_start)
437 if test "$dirmngr_auto_start" = yes ; then
438 AC_DEFINE(USE_DIRMNGR_AUTO_START,1,
439 [Define to enable auto starting of the dirmngr])
444 # To avoid double inclusion of config.h which might happen at some
445 # places, we add the usual double inclusion protection at the top of
449 #ifndef GNUPG_CONFIG_H_INCLUDED
450 #define GNUPG_CONFIG_H_INCLUDED
454 # Stuff which goes at the bottom of config.h.
457 /* This is the major version number of GnuPG so that
458 source included files can test for this. Note, that
459 we use 2 here even for GnuPG 1.9.x. */
460 #define GNUPG_MAJOR_VERSION 2
462 /* Now to separate file name parts.
463 Please note that the string version must not contain more
464 than one character because the code assumes strlen()==1 */
465 #ifdef HAVE_DOSISH_SYSTEM
466 #define DIRSEP_C '\\'
467 #define DIRSEP_S "\\"
470 #define PATHSEP_C ';'
471 #define PATHSEP_S ";"
472 #define EXEEXT_S ".exe"
478 #define PATHSEP_C ':'
479 #define PATHSEP_S ":"
483 /* This is the same as VERSION, but should be overridden if the
484 platform cannot handle things like dots '.' in filenames. Set
485 SAFE_VERSION_DOT and SAFE_VERSION_DASH to whatever SAFE_VERSION
486 uses for dots and dashes. */
487 #define SAFE_VERSION VERSION
488 #define SAFE_VERSION_DOT '.'
489 #define SAFE_VERSION_DASH '-'
491 /* Some global constants.
492 * Note that the homedir must not end in a slash. */
493 #ifdef HAVE_DOSISH_SYSTEM
494 # ifdef HAVE_DRIVE_LETTERS
495 # define GNUPG_DEFAULT_HOMEDIR "c:/gnupg"
497 # define GNUPG_DEFAULT_HOMEDIR "/gnupg"
500 #define GNUPG_DEFAULT_HOMEDIR "/SYS$LOGIN/gnupg"
502 #define GNUPG_DEFAULT_HOMEDIR "~/.gnupg"
504 #define GNUPG_PRIVATE_KEYS_DIR "private-keys-v1.d"
505 #define GNUPG_OPENPGP_REVOC_DIR "openpgp-revocs.d"
507 /* For some systems (DOS currently), we hardcode the path here. For
508 POSIX systems the values are constructed by the Makefiles, so that
509 the values may be overridden by the make invocations; this is to
510 comply with the GNU coding standards. Note that these values are
512 #ifdef HAVE_DOSISH_SYSTEM
513 # ifdef HAVE_DRIVE_LETTERS
514 # define GNUPG_BINDIR "c:\\gnupg"
515 # define GNUPG_LIBEXECDIR "c:\\gnupg"
516 # define GNUPG_LIBDIR "c:\\gnupg"
517 # define GNUPG_DATADIR "c:\\gnupg"
518 # define GNUPG_SYSCONFDIR "c:\\gnupg"
520 # define GNUPG_BINDIR "\\gnupg"
521 # define GNUPG_LIBEXECDIR "\\gnupg"
522 # define GNUPG_LIBDIR "\\gnupg"
523 # define GNUPG_DATADIR "\\gnupg"
524 # define GNUPG_SYSCONFDIR "\\gnupg"
528 /* Derive some other constants. */
529 #if !(defined(HAVE_FORK) && defined(HAVE_PIPE) && defined(HAVE_WAITPID))
530 #define EXEC_TEMPFILE_ONLY
534 /* We didn't define endianness above, so get it from OS macros. This
535 is intended for making fat binary builds on OS X. */
536 #if !defined(BIG_ENDIAN_HOST) && !defined(LITTLE_ENDIAN_HOST)
537 #if defined(__BIG_ENDIAN__)
538 #define BIG_ENDIAN_HOST 1
539 #elif defined(__LITTLE_ENDIAN__)
540 #define LITTLE_ENDIAN_HOST 1
542 #error "No endianness found"
547 /* Hack used for W32: ldap.m4 also tests for the ASCII version of
548 ldap_start_tls_s because that is the actual symbol used in the
549 library. winldap.h redefines it to our commonly used value,
550 thus we define our usual macro here. */
551 #ifdef HAVE_LDAP_START_TLS_SA
552 # ifndef HAVE_LDAP_START_TLS_S
553 # define HAVE_LDAP_START_TLS_S 1
557 /* Provide the es_ macro for estream. */
558 #define GPGRT_ENABLE_ES_MACROS 1
560 /* Tell libgcrypt not to use its own libgpg-error implementation. */
561 #define USE_LIBGPG_ERROR 1
563 /* Tell Libgcrypt not to include deprecated definitions. */
564 #define GCRYPT_NO_DEPRECATED 1
566 /* Our HTTP code is used in estream mode. */
567 #define HTTP_USE_ESTREAM 1
569 /* Under W32 we do an explicit socket initialization, thus we need to
570 avoid the on-demand initialization which would also install an atexit
572 #define HTTP_NO_WSASTARTUP
574 /* Under Windows we use the gettext code from libgpg-error. */
575 #define GPG_ERR_ENABLE_GETTEXT_MACROS
577 /* Under WindowsCE we use the strerror replacement from libgpg-error. */
578 #define GPG_ERR_ENABLE_ERRNO_MACROS
580 #endif /*GNUPG_CONFIG_H_INCLUDED*/
585 AC_ARG_VAR(SYSROOT,[locate config scripts also below that directory])
587 # Checks for programs.
588 AC_MSG_NOTICE([checking for programs])
591 missing_dir=`cd $ac_aux_dir && pwd`
592 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
593 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
594 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
595 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
596 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
602 if test "x$ac_cv_prog_cc_c89" = "xno" ; then
603 AC_MSG_ERROR([[No C-89 compiler found]])
608 AC_CHECK_TOOL(AR, ar, :)
609 AC_PATH_PROG(PERL,"perl")
610 AC_CHECK_TOOL(WINDRES, windres, :)
611 AC_PATH_PROG(YAT2M, "yat2m", "./yat2m" )
612 AC_ARG_VAR(YAT2M, [tool to convert texi to man pages])
618 # We need to compile and run a program on the build machine. A
619 # comment in libgpg-error says that the AC_PROG_CC_FOR_BUILD macro in
620 # the AC archive is broken for autoconf 2.57. Given that there is no
621 # newer version of that macro, we assume that it is also broken for
622 # autoconf 2.61 and thus we use a simple but usually sufficient
624 AC_MSG_CHECKING(for cc for build)
625 if test "$cross_compiling" = "yes"; then
626 CC_FOR_BUILD="${CC_FOR_BUILD-cc}"
628 CC_FOR_BUILD="${CC_FOR_BUILD-$CC}"
630 AC_MSG_RESULT($CC_FOR_BUILD)
631 AC_ARG_VAR(CC_FOR_BUILD,[build system C compiler])
633 # We need to call this macro because other pkg-config macros are
640 have_dosish_system=no
643 have_android_system=no
644 use_simple_gettext=no
649 # special stuff for Windoze NT
650 ac_cv_have_dev_random=no
651 AC_DEFINE(USE_ONLY_8DOT3,1,
652 [Set this to limit filenames to the 8.3 format])
653 AC_DEFINE(USE_SIMPLE_GETTEXT,1,
654 [Because the Unix gettext has too much overhead on
655 MingW32 systems and these systems lack Posix functions,
656 we use a simplified version of gettext])
657 have_dosish_system=yes
660 use_ldapwrapper=no # Fixme: Do this only for CE.
663 have_w32ce_system=yes
666 AC_DEFINE(HAVE_DRIVE_LETTERS,1,
667 [Defined if the OS supports drive letters.])
671 use_simple_gettext=yes
674 i?86-emx-os2 | i?86-*-os2*emx )
675 # OS/2 with the EMX environment
676 ac_cv_have_dev_random=no
677 AC_DEFINE(HAVE_DRIVE_LETTERS)
678 have_dosish_system=yes
683 # DOS with the DJGPP environment
684 ac_cv_have_dev_random=no
685 AC_DEFINE(HAVE_DRIVE_LETTERS)
686 have_dosish_system=yes
691 if test -z "$GCC" ; then
692 CFLAGS="-Ae -D_HPUX_SOURCE $CFLAGS"
696 if test -z "$GCC" ; then
697 # Suppress all warnings
698 # to get rid of the unsigned/signed char mismatch warnings.
703 if test -z "$GCC" ; then
704 # Use the newer compiler `-msg_disable ptrmismatch1' to
705 # get rid of the unsigned/signed char mismatch warnings.
706 # Using this may hide other pointer mismatch warnings, but
707 # it at least lets other warning classes through
708 CFLAGS="-msg_disable ptrmismatch1 $CFLAGS"
714 have_android_system=yes
715 # Android is fully utf-8 and we do not want to use iconv to
716 # keeps things simple
720 AC_DEFINE(_DARWIN_C_SOURCE, 900000L,
721 Expose all libc features (__DARWIN_C_FULL).)
727 if test "$have_dosish_system" = yes; then
728 AC_DEFINE(HAVE_DOSISH_SYSTEM,1,
729 [Defined if we run on some of the PCDOS like systems
730 (DOS, Windoze. OS/2) with special properties like
731 no file modes, case insensitive file names and preferred
732 use of backslashes as directory name separators.])
734 AM_CONDITIONAL(HAVE_DOSISH_SYSTEM, test "$have_dosish_system" = yes)
736 AM_CONDITIONAL(USE_SIMPLE_GETTEXT, test x"$use_simple_gettext" = xyes)
738 if test "$have_w32_system" = yes; then
739 AC_DEFINE(HAVE_W32_SYSTEM,1, [Defined if we run on a W32 API based system])
740 if test "$have_w32ce_system" = yes; then
741 AC_DEFINE(HAVE_W32CE_SYSTEM,1,[Defined if we run on WindowsCE])
744 AM_CONDITIONAL(HAVE_W32_SYSTEM, test "$have_w32_system" = yes)
745 AM_CONDITIONAL(HAVE_W32CE_SYSTEM, test "$have_w32ce_system" = yes)
747 if test "$have_android_system" = yes; then
748 AC_DEFINE(HAVE_ANDROID_SYSTEM,1, [Defined if we build for an Android system])
750 AM_CONDITIONAL(HAVE_ANDROID_SYSTEM, test "$have_android_system" = yes)
753 # (These need to go after AC_PROG_CC so that $EXEEXT is defined)
754 AC_DEFINE_UNQUOTED(EXEEXT,"$EXEEXT",[The executable file extension, if any])
758 # Checks for libraries.
760 AC_MSG_NOTICE([checking for libraries])
764 # libgpg-error is a library with error codes shared between GnuPG
767 AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION",
768 have_gpg_error=yes,have_gpg_error=no)
772 # Libgcrypt is our generic crypto library
774 AM_PATH_LIBGCRYPT("$NEED_LIBGCRYPT_API:$NEED_LIBGCRYPT_VERSION",
775 have_libgcrypt=yes,have_libgcrypt=no)
779 # libassuan is used for IPC
781 AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_API:$NEED_LIBASSUAN_VERSION",
782 have_libassuan=yes,have_libassuan=no)
783 if test "$have_libassuan" = "yes"; then
784 AC_DEFINE_UNQUOTED(GNUPG_LIBASSUAN_VERSION, "$libassuan_version",
785 [version of the libassuan library])
786 show_tor_support="only .onion"
791 # libksba is our X.509 support library
793 AM_PATH_KSBA("$NEED_KSBA_API:$NEED_KSBA_VERSION",have_ksba=yes,have_ksba=no)
797 # libusb allows us to use the integrated CCID smartcard reader driver.
799 # FiXME: Use GNUPG_CHECK_LIBUSB and modify to use separate AC_SUBSTs.
800 if test "$use_ccid_driver" = auto || test "$use_ccid_driver" = yes; then
809 LIBUSB_LIBS="-Wl,-framework,CoreFoundation -Wl,-framework,IOKit"
812 # FreeBSD has a native 1.0 compatible library by -lusb.
822 if test x"$LIBUSB_NAME" != x ; then
823 AC_CHECK_LIB($LIBUSB_NAME, libusb_init,
824 [ LIBUSB_LIBS="-l$LIBUSB_NAME $LIBUSB_LIBS"
826 AC_MSG_CHECKING([libusb include dir])
827 usb_incdir_found="no"
828 for _incdir in "" "/usr/include/libusb-1.0" "/usr/local/include/libusb-1.0"; do
829 _libusb_save_cppflags=$CPPFLAGS
830 if test -n "${_incdir}"; then
831 CPPFLAGS="-I${_incdir} ${CPPFLAGS}"
833 AC_PREPROC_IFELSE([AC_LANG_SOURCE([[@%:@include <libusb.h>]])],
834 [usb_incdir=${_incdir}; usb_incdir_found="yes"], [])
835 CPPFLAGS=${_libusb_save_cppflags}
836 if test "$usb_incdir_found" = "yes"; then
840 if test "$usb_incdir_found" = "yes"; then
841 AC_MSG_RESULT([${usb_incdir}])
843 AC_MSG_RESULT([not found])
846 if test "$use_ccid_driver" != yes; then
852 if test "$have_libusb" = yes; then
853 AC_DEFINE(HAVE_LIBUSB,1, [defined if libusb is available])
855 if test x"$usb_incdir" = x; then
858 LIBUSB_CPPFLAGS="-I${usb_incdir}"
861 AC_SUBST(LIBUSB_LIBS)
862 AC_SUBST(LIBUSB_CPPFLAGS)
865 # Check whether it is necessary to link against libdl.
866 # (For example to load libpcsclite)
868 gnupg_dlopen_save_libs="$LIBS"
870 AC_SEARCH_LIBS(dlopen, c dl,,,)
873 LIBS="$gnupg_dlopen_save_libs"
878 AC_ARG_ENABLE(sqlite,
879 AC_HELP_STRING([--disable-sqlite],
880 [disable the use of SQLITE]),
881 try_sqlite=$enableval, try_sqlite=yes)
883 if test x"$use_tofu" = xyes ; then
884 if test x"$try_sqlite" = xyes ; then
885 PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= $NEED_SQLITE_VERSION],
889 if test "$have_sqlite" = "yes"; then
891 AC_SUBST([SQLITE3_CFLAGS])
892 AC_SUBST([SQLITE3_LIBS])
895 tmp=$(echo "$SQLITE3_PKG_ERRORS" | tr '\n' '\v' | sed 's/\v/\n*** /g')
898 *** Building without SQLite support - TOFU disabled
904 AM_CONDITIONAL(SQLITE3, test "$have_sqlite" = "yes")
906 if test x"$use_tofu" = xyes ; then
907 AC_DEFINE(USE_TOFU, 1, [Enable to build the TOFU code])
913 AC_PATH_PROG(ENCFS, encfs, /usr/bin/encfs)
914 AC_DEFINE_UNQUOTED(ENCFS,
915 "${ENCFS}", [defines the filename of the encfs program])
917 AC_PATH_PROG(FUSERMOUNT, fusermount, /usr/bin/fusermount)
918 AC_DEFINE_UNQUOTED(FUSERMOUNT,
919 "${FUSERMOUNT}", [defines the filename of the fusermount program])
926 # Checks for symcryptrun:
929 # libutil has openpty() and login_tty().
930 AC_CHECK_LIB(util, openpty,
931 [ LIBUTIL_LIBS="$LIBUTIL_LIBS -lutil"
932 AC_DEFINE(HAVE_LIBUTIL,1,
933 [defined if libutil is available])
935 AC_SUBST(LIBUTIL_LIBS)
937 # shred is used to clean temporary plain text files.
938 AC_PATH_PROG(SHRED, shred, /usr/bin/shred)
939 AC_DEFINE_UNQUOTED(SHRED,
940 "${SHRED}", [defines the filename of the shred program])
944 # Check whether the nPth library is available
946 AM_PATH_NPTH("$NEED_NPTH_API:$NEED_NPTH_VERSION",have_npth=yes,have_npth=no)
947 if test "$have_npth" = "yes"; then
948 AC_DEFINE(HAVE_NPTH, 1,
949 [Defined if the New Portable Thread Library is available])
950 AC_DEFINE(USE_NPTH, 1,
951 [Defined if support for nPth is requested and nPth is available])
955 *** To support concurrent access for example in gpg-agent and the SCdaemon
956 *** we need the support of the New Portable Threads Library.
962 # NTBTLS is our TLS library. If it is not available fallback to
965 AC_ARG_ENABLE(ntbtls,
966 AC_HELP_STRING([--disable-ntbtls],
967 [disable the use of NTBTLS as TLS library]),
968 try_ntbtls=$enableval, try_ntbtls=yes)
969 if test x"$try_ntbtls" = xyes ; then
970 AM_PATH_NTBTLS("$NEED_NTBTLS_API:$NEED_NTBTLS_VERSION",
971 [have_ntbtls=yes],[have_ntbtls=no])
973 if test "$have_ntbtls" = yes ; then
974 use_tls_library=ntbtls
975 AC_DEFINE(HTTP_USE_NTBTLS, 1, [Enable NTBTLS support in http.c])
977 AC_ARG_ENABLE(gnutls,
978 AC_HELP_STRING([--disable-gnutls],
979 [disable GNUTLS as fallback TLS library]),
980 try_gnutls=$enableval, try_gnutls=yes)
981 if test x"$try_gnutls" = xyes ; then
982 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= $NEED_GNUTLS_VERSION],
986 if test "$have_gnutls" = "yes"; then
987 AC_SUBST([LIBGNUTLS_CFLAGS])
988 AC_SUBST([LIBGNUTLS_LIBS])
989 use_tls_library=gnutls
990 AC_DEFINE(HTTP_USE_GNUTLS, 1, [Enable GNUTLS support in http.c])
992 tmp=$(echo "$LIBGNUTLS_PKG_ERRORS" | tr '\n' '\v' | sed 's/\v/\n*** /g')
995 *** Building without NTBTLS and GNUTLS - no TLS access to keyservers.
1002 # Allow to set a fixed trust store file for system provided certificates.
1004 AC_ARG_WITH([default-trust-store-file],
1005 [AC_HELP_STRING([--with-default-trust-store-file=FILE],
1006 [Use FILE as system trust store])],
1007 default_trust_store_file="$withval",
1008 default_trust_store_file="")
1009 if test x"$default_trust_store_file" = xno;then
1010 default_trust_store_file=""
1012 if test x"$default_trust_store_file" != x ; then
1013 AC_DEFINE_UNQUOTED([DEFAULT_TRUST_STORE_FILE],
1014 ["$default_trust_store_file"], [Use as default system trust store file])
1018 AC_MSG_NOTICE([checking for networking options])
1021 # Must check for network library requirements before doing link tests
1022 # for ldap, for example. If ldap libs are static (or dynamic and without
1023 # ELF runtime link paths), then link will fail and LDAP support won't
1026 AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname,
1027 [NETLIBS="-lnsl $NETLIBS"]))
1028 AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt,
1029 [NETLIBS="-lsocket $NETLIBS"]))
1033 # Check standard resolver functions.
1035 if test "$build_dirmngr" = "yes"; then
1036 _dns_save_libs=$LIBS
1039 # Find the system resolver which can always be enabled with
1040 # the dirmngr option --standard-resolver.
1042 # the double underscore thing is a glibc-ism?
1043 AC_SEARCH_LIBS(res_query,resolv bind,,
1044 AC_SEARCH_LIBS(__res_query,resolv bind,,have_resolver=no))
1045 AC_SEARCH_LIBS(dn_expand,resolv bind,,
1046 AC_SEARCH_LIBS(__dn_expand,resolv bind,,have_resolver=no))
1048 # macOS renames dn_skipname into res_9_dn_skipname in <resolv.h>,
1049 # and for some reason fools us into believing we don't need
1050 # -lresolv even if we do. Since the test program checking for the
1051 # symbol does not include <resolv.h>, we need to check for the
1052 # renamed symbol explicitly.
1053 AC_SEARCH_LIBS(res_9_dn_skipname,resolv bind,,
1054 AC_SEARCH_LIBS(dn_skipname,resolv bind,,
1055 AC_SEARCH_LIBS(__dn_skipname,resolv bind,,have_resolver=no)))
1057 if test x"$have_resolver" != xno ; then
1059 # Make sure that the BIND 4 resolver interface is workable before
1060 # enabling any code that calls it. At some point I'll rewrite the
1061 # code to use the BIND 8 resolver API.
1062 # We might also want to use libdns instead.
1064 AC_MSG_CHECKING([whether the resolver is usable])
1065 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
1066 #include <netinet/in.h>
1067 #include <arpa/nameser.h>
1068 #include <resolv.h>]],
1069 [[unsigned char answer[PACKETSZ];
1070 res_query("foo.bar",C_IN,T_A,answer,PACKETSZ);
1072 dn_expand(0,0,0,0,0);
1073 ]])],have_resolver=yes,have_resolver=no)
1074 AC_MSG_RESULT($have_resolver)
1076 # This is Apple-specific and somewhat bizarre as they changed the
1077 # define in bind 8 for some reason.
1079 if test x"$have_resolver" != xyes ; then
1081 [whether I can make the resolver usable with BIND_8_COMPAT])
1082 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define BIND_8_COMPAT
1083 #include <sys/types.h>
1084 #include <netinet/in.h>
1085 #include <arpa/nameser.h>
1086 #include <resolv.h>]],
1087 [[unsigned char answer[PACKETSZ];
1088 res_query("foo.bar",C_IN,T_A,answer,PACKETSZ);
1089 dn_skipname(0,0); dn_expand(0,0,0,0,0);
1090 ]])],[have_resolver=yes ; need_compat=yes])
1091 AC_MSG_RESULT($have_resolver)
1095 if test x"$have_resolver" = xyes ; then
1096 AC_DEFINE(HAVE_SYSTEM_RESOLVER,1,[The system's resolver is usable.])
1097 DNSLIBS="$DNSLIBS $LIBS"
1098 if test x"$need_compat" = xyes ; then
1099 AC_DEFINE(BIND_8_COMPAT,1,[an Apple OSXism])
1101 if test "$use_libdns" = yes; then
1102 show_tor_support=yes
1104 elif test "$use_libdns" = yes; then
1105 show_tor_support=yes
1109 *** The system's DNS resolver is not usable.
1110 *** Dirmngr functionality is limited.
1112 show_tor_support="${show_tor_support} (no system resolver)"
1115 if test "$have_w32_system" = yes; then
1116 if test "$use_libdns" = yes; then
1117 DNSLIBS="$DNSLIBS -liphlpapi"
1121 LIBS=$_dns_save_libs
1130 # Note that running the check changes the variable
1131 # gnupg_have_ldap from "n/a" to "no" or "yes".
1134 AC_HELP_STRING([--disable-ldap],[disable LDAP support]),
1135 [if test "$enableval" = "no"; then gnupg_have_ldap=no; fi])
1137 if test "$gnupg_have_ldap" != "no" ; then
1138 if test "$build_dirmngr" = "yes" ; then
1139 GNUPG_CHECK_LDAP($NETLIBS)
1140 AC_CHECK_LIB(lber, ber_free,
1141 [ LBER_LIBS="$LBER_LIBS -llber"
1142 AC_DEFINE(HAVE_LBER,1,
1143 [defined if liblber is available])
1149 if test "$gnupg_have_ldap" = "no"; then
1152 *** Building without LDAP support.
1153 *** No CRL access or X.509 certificate search available.
1157 AM_CONDITIONAL(USE_LDAP, [test "$gnupg_have_ldap" = yes])
1158 if test "$gnupg_have_ldap" = yes ; then
1159 AC_DEFINE(USE_LDAP,1,[Defined if LDAP is support])
1164 if test "$use_ldapwrapper" = yes; then
1165 AC_DEFINE(USE_LDAPWRAPPER,1, [Build dirmngr with LDAP wrapper process])
1167 AM_CONDITIONAL(USE_LDAPWRAPPER, test "$use_ldapwrapper" = yes)
1173 # Check for sendmail
1175 # This isn't necessarily sendmail itself, but anything that gives a
1176 # sendmail-ish interface to the outside world. That includes Exim,
1177 # Postfix, etc. Basically, anything that can handle "sendmail -t".
1178 AC_ARG_WITH(mailprog,
1179 AC_HELP_STRING([--with-mailprog=NAME],
1180 [use "NAME -t" for mail transport]),
1182 if test x"$with_mailprog" = xyes ; then
1183 AC_PATH_PROG(SENDMAIL,sendmail,,$PATH:/usr/sbin:/usr/libexec:/usr/lib)
1184 elif test x"$with_mailprog" != xno ; then
1185 AC_MSG_CHECKING([for a mail transport program])
1186 AC_SUBST(SENDMAIL,$with_mailprog)
1187 AC_MSG_RESULT($with_mailprog)
1192 # Construct a printable name of the OS
1196 PRINTABLE_OS_NAME="W32CE"
1199 PRINTABLE_OS_NAME="MingW32"
1202 PRINTABLE_OS_NAME="Cygwin"
1204 i?86-emx-os2 | i?86-*-os2*emx )
1205 PRINTABLE_OS_NAME="OS/2"
1208 PRINTABLE_OS_NAME="MSDOS/DJGPP"
1212 PRINTABLE_OS_NAME="GNU/Linux"
1215 PRINTABLE_OS_NAME=`uname -s || echo "Unknown"`
1218 AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME",
1219 [A human readable text with the name of the OS])
1223 # Checking for iconv
1225 if test "$require_iconv" = yes; then
1231 AC_SUBST(LTLIBICONV)
1238 # This is "GNU gnupg" - The project-id script from gettext
1241 AC_MSG_NOTICE([checking for gettext])
1243 AM_GNU_GETTEXT_VERSION([0.17])
1244 if test "$try_gettext" = yes; then
1245 AM_GNU_GETTEXT([external],[need-ngettext])
1247 # gettext requires some extra checks. These really should be part of
1248 # the basic AM_GNU_GETTEXT macro. TODO: move other gettext-specific
1249 # function checks to here.
1251 AC_CHECK_FUNCS(strchr)
1254 USE_INCLUDED_LIBINTL=no
1255 BUILD_INCLUDED_LIBINTL=no
1258 AC_SUBST(USE_INCLUDED_LIBINTL)
1259 AC_SUBST(BUILD_INCLUDED_LIBINTL)
1263 # We use HAVE_LANGINFO_CODESET in a couple of places.
1266 # Checks required for our use of locales
1273 if test "$selinux_support" = yes ; then
1274 AC_DEFINE(ENABLE_SELINUX_HACKS,1,[Define to enable SELinux support])
1279 # Checks for header files.
1281 AC_MSG_NOTICE([checking for header files])
1283 AC_CHECK_HEADERS([string.h unistd.h langinfo.h termio.h locale.h getopt.h \
1284 pty.h utmp.h pwd.h inttypes.h signal.h sys/select.h \
1285 stdint.h signal.h util.h libutil.h termios.h \
1286 ucred.h sys/sysmacros.h sys/mkdev.h])
1292 # Checks for typedefs, structures, and compiler characteristics.
1294 AC_MSG_NOTICE([checking for system characteristics])
1303 gl_HEADER_SYS_SOCKET
1306 AC_SEARCH_LIBS([inet_addr], [nsl])
1308 AC_ARG_ENABLE(endian-check,
1309 AC_HELP_STRING([--disable-endian-check],
1310 [disable the endian check and trust the OS provided macros]),
1311 endiancheck=$enableval,endiancheck=yes)
1313 if test x"$endiancheck" = xyes ; then
1317 # fixme: we should get rid of the byte type
1318 GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
1319 GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
1320 GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
1321 GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
1322 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
1324 AC_CHECK_SIZEOF(unsigned short)
1325 AC_CHECK_SIZEOF(unsigned int)
1326 AC_CHECK_SIZEOF(unsigned long)
1327 AC_CHECK_SIZEOF(unsigned long long)
1329 AC_CHECK_SIZEOF(time_t,,[[
1331 #if TIME_WITH_SYS_TIME
1332 # include <sys/time.h>
1335 # if HAVE_SYS_TIME_H
1336 # include <sys/time.h>
1342 GNUPG_TIME_T_UNSIGNED
1345 if test "$ac_cv_sizeof_unsigned_short" = "0" \
1346 || test "$ac_cv_sizeof_unsigned_int" = "0" \
1347 || test "$ac_cv_sizeof_unsigned_long" = "0"; then
1348 AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
1353 # Checks for library functions.
1355 AC_MSG_NOTICE([checking for library functions])
1356 AC_CHECK_DECLS(getpagesize)
1360 AC_CHECK_FUNCS([strerror strlwr tcgetattr mmap canonicalize_file_name])
1361 AC_CHECK_FUNCS([strcasecmp strncasecmp ctermid times gmtime_r strtoull])
1362 AC_CHECK_FUNCS([setenv unsetenv fcntl ftruncate inet_ntop])
1363 AC_CHECK_FUNCS([canonicalize_file_name])
1364 AC_CHECK_FUNCS([gettimeofday getrusage getrlimit setrlimit clock_gettime])
1365 AC_CHECK_FUNCS([atexit raise getpagesize strftime nl_langinfo setlocale])
1366 AC_CHECK_FUNCS([waitpid wait4 sigaction sigprocmask pipe getaddrinfo])
1367 AC_CHECK_FUNCS([ttyname rand ftello fsync stat lstat])
1368 AC_CHECK_FUNCS([memicmp stpcpy strsep strlwr strtoul memmove stricmp strtol \
1369 memrchr isascii timegm getrusage setrlimit stat setlocale \
1370 flockfile funlockfile getpwnam getpwuid \
1371 getenv inet_pton strpbrk])
1373 # On some systems (e.g. Solaris) nanosleep requires linking to librl.
1374 # Given that we use nanosleep only as an optimization over a select
1375 # based wait function we want it only if it is available in libc.
1377 AC_SEARCH_LIBS([nanosleep], [],
1378 [AC_DEFINE(HAVE_NANOSLEEP,1,
1379 [Define to 1 if you have the `nanosleep' function in libc.])])
1383 # See whether libc supports the Linux inotify interface
1386 AC_CHECK_FUNCS([inotify_init])
1391 if test "$have_android_system" = yes; then
1392 # On Android ttyname is a stub but prints an error message.
1393 AC_DEFINE(HAVE_BROKEN_TTYNAME,1,
1394 [Defined if ttyname does not work properly])
1397 AC_CHECK_TYPES([struct sigaction, sigset_t],,,[#include <signal.h>])
1399 # Dirmngr requires mmap on Unix systems.
1400 if test $ac_cv_func_mmap != yes -a $mmap_needed = yes; then
1401 AC_MSG_ERROR([[Sorry, the current implementation requires mmap.]])
1406 # Check for the getsockopt SO_PEERCRED, etc.
1408 AC_CHECK_MEMBERS([struct ucred.pid, struct ucred.cr_pid, struct sockpeercred.pid], [], [], [#include <sys/types.h>
1409 #include <sys/socket.h> ])
1412 AC_CHECK_FUNCS([getpeerucred])
1418 GNUPG_FUNC_MKDIR_TAKES_ONE_ARG
1421 # Sanity check regex. Tests adapted from mutt.
1423 AC_MSG_CHECKING([whether regular expression support is requested])
1424 AC_ARG_ENABLE(regex,
1425 AC_HELP_STRING([--disable-regex],
1426 [do not handle regular expressions in trust signatures]),
1427 use_regex=$enableval, use_regex=yes)
1428 AC_MSG_RESULT($use_regex)
1430 if test "$use_regex" = yes ; then
1431 _cppflags="${CPPFLAGS}"
1432 _ldflags="${LDFLAGS}"
1434 AC_HELP_STRING([--with-regex=DIR],[look for regex in DIR]),
1436 if test -d "$withval" ; then
1437 CPPFLAGS="${CPPFLAGS} -I$withval/include"
1438 LDFLAGS="${LDFLAGS} -L$withval/lib"
1442 # Does the system have regex functions at all?
1443 AC_SEARCH_LIBS([regcomp], [regex])
1444 AC_CHECK_FUNC(regcomp, gnupg_cv_have_regex=yes, gnupg_cv_have_regex=no)
1446 if test $gnupg_cv_have_regex = no; then
1449 if test x"$cross_compiling" = xyes; then
1450 AC_MSG_WARN([cross compiling; assuming regexp libray is not broken])
1452 AC_CACHE_CHECK([whether your system's regexp library is broken],
1453 [gnupg_cv_regex_broken],
1457 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); }],
1458 gnupg_cv_regex_broken=no, gnupg_cv_regex_broken=yes, gnupg_cv_regex_broken=yes))
1460 if test $gnupg_cv_regex_broken = yes; then
1461 AC_MSG_WARN([your regex is broken - disabling regex use])
1466 CPPFLAGS="${_cppflags}"
1467 LDFLAGS="${_ldflags}"
1470 if test "$use_regex" != yes ; then
1471 AC_DEFINE(DISABLE_REGEX,1, [Define to disable regular expression support])
1473 AM_CONDITIONAL(DISABLE_REGEX, test x"$use_regex" != xyes)
1478 # Do we have zlib? Must do it here because Solaris failed
1479 # when compiling a conftest (due to the "-lz" from LIBS).
1480 # Note that we combine zlib and bzlib2 in ZLIBS.
1482 if test "$use_zip" = yes ; then
1483 _cppflags="${CPPFLAGS}"
1484 _ldflags="${LDFLAGS}"
1486 [ --with-zlib=DIR use libz in DIR],[
1487 if test -d "$withval"; then
1488 CPPFLAGS="${CPPFLAGS} -I$withval/include"
1489 LDFLAGS="${LDFLAGS} -L$withval/lib"
1493 AC_CHECK_HEADER(zlib.h,
1494 AC_CHECK_LIB(z, deflateInit2_,
1497 AC_DEFINE(HAVE_ZIP,1, [Defined if ZIP and ZLIB are supported])
1499 CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}),
1500 CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags})
1505 # Check whether we can support bzip2
1507 if test "$use_bzip2" = yes ; then
1508 _cppflags="${CPPFLAGS}"
1509 _ldflags="${LDFLAGS}"
1511 AC_HELP_STRING([--with-bzip2=DIR],[look for bzip2 in DIR]),
1513 if test -d "$withval" ; then
1514 CPPFLAGS="${CPPFLAGS} -I$withval/include"
1515 LDFLAGS="${LDFLAGS} -L$withval/lib"
1519 # Checking alongside stdio.h as an early version of bzip2 (1.0)
1520 # required stdio.h to be included before bzlib.h, and Solaris 9 is
1521 # woefully out of date.
1522 if test "$withval" != no ; then
1523 AC_CHECK_HEADER(bzlib.h,
1524 AC_CHECK_LIB(bz2,BZ2_bzCompressInit,
1527 ZLIBS="$ZLIBS -lbz2"
1528 AC_DEFINE(HAVE_BZIP2,1,
1529 [Defined if the bz2 compression library is available])
1531 CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}),
1532 CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags},[#include <stdio.h>])
1535 AM_CONDITIONAL(ENABLE_BZIP2_SUPPORT,test x"$have_bz2" = "xyes")
1539 # Check for readline support
1540 GNUPG_CHECK_READLINE
1543 if test "$development_version" = yes; then
1544 AC_DEFINE(IS_DEVELOPMENT_VERSION,1,
1545 [Defined if this is not a regular release])
1548 if test "$USE_MAINTAINER_MODE" = "yes"; then
1549 AC_DEFINE(MAINTAINER_MODE,1,
1550 [Defined if this build is in maintainer mode])
1553 AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes)
1557 # Add some extra libs here so that previous tests don't fail for
1558 # mysterious reasons - the final link step should bail out.
1559 # W32SOCKLIBS is also defined so that if can be used for tools not
1560 # requiring any network stuff but linking to code in libcommon which
1561 # tracks in winsock stuff (e.g. init_common_subsystems).
1562 if test "$have_w32_system" = yes; then
1563 if test "$have_w32ce_system" = yes; then
1566 W32SOCKLIBS="-lws2_32"
1568 NETLIBS="${NETLIBS} ${W32SOCKLIBS}"
1572 AC_SUBST(W32SOCKLIBS)
1575 # Setup gcc specific options
1578 AC_MSG_NOTICE([checking for cc features])
1579 if test "$GCC" = yes; then
1581 mycflags_save=$CFLAGS
1583 # Check whether gcc does not emit a diagnositc for unknown -Wno-*
1584 # options. This is the case for gcc >= 4.6
1585 AC_MSG_CHECKING([if gcc ignores unknown -Wno-* options])
1586 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1587 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6 )
1589 #endif]],[])],[_gcc_silent_wno=yes],[_gcc_silent_wno=no])
1590 AC_MSG_RESULT($_gcc_silent_wno)
1592 # Note that it is okay to use CFLAGS here because these are just
1593 # warning options and the user should have a chance of overriding
1595 if test "$USE_MAINTAINER_MODE" = "yes"; then
1596 mycflags="$mycflags -O3 -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
1597 mycflags="$mycflags -Wformat -Wno-format-y2k -Wformat-security"
1598 if test x"$_gcc_silent_wno" = xyes ; then
1601 AC_MSG_CHECKING([if gcc supports -Wno-missing-field-initializers])
1602 CFLAGS="-Wno-missing-field-initializers"
1603 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
1604 [_gcc_wopt=yes],[_gcc_wopt=no])
1605 AC_MSG_RESULT($_gcc_wopt)
1607 if test x"$_gcc_wopt" = xyes ; then
1608 mycflags="$mycflags -W -Wno-sign-compare"
1609 mycflags="$mycflags -Wno-missing-field-initializers"
1612 AC_MSG_CHECKING([if gcc supports -Wdeclaration-after-statement])
1613 CFLAGS="-Wdeclaration-after-statement"
1614 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],_gcc_wopt=yes,_gcc_wopt=no)
1615 AC_MSG_RESULT($_gcc_wopt)
1616 if test x"$_gcc_wopt" = xyes ; then
1617 mycflags="$mycflags -Wdeclaration-after-statement"
1620 AC_MSG_CHECKING([if gcc supports -Wlogical-op and -Wvla])
1621 CFLAGS="-Wlogical-op -Wvla"
1622 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],_gcc_wopt=yes,_gcc_wopt=no)
1623 AC_MSG_RESULT($_gcc_wopt)
1624 if test x"$_gcc_wopt" = xyes ; then
1625 mycflags="$mycflags -Wlogical-op -Wvla"
1629 mycflags="$mycflags -Wall"
1632 if test x"$_gcc_silent_wno" = xyes ; then
1635 AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign])
1636 CFLAGS="-Wno-pointer-sign"
1637 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
1638 [_gcc_psign=yes],[_gcc_psign=no])
1639 AC_MSG_RESULT($_gcc_psign)
1641 if test x"$_gcc_psign" = xyes ; then
1642 mycflags="$mycflags -Wno-pointer-sign"
1645 AC_MSG_CHECKING([if gcc supports -Wpointer-arith])
1646 CFLAGS="-Wpointer-arith"
1647 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],_gcc_psign=yes,_gcc_psign=no)
1648 AC_MSG_RESULT($_gcc_psign)
1649 if test x"$_gcc_psign" = xyes ; then
1650 mycflags="$mycflags -Wpointer-arith"
1653 CFLAGS="$mycflags $mycflags_save"
1654 if test "$use_libdns" = yes; then
1655 # dirmngr/dns.{c,h} require C99 and GNU extensions. */
1656 USE_C99_CFLAGS="-std=gnu99"
1660 AC_SUBST(USE_C99_CFLAGS)
1664 # This is handy for debugging so the compiler doesn't rearrange
1665 # things and eliminate variables.
1667 AC_ARG_ENABLE(optimization,
1668 AC_HELP_STRING([--disable-optimization],
1669 [disable compiler optimization]),
1670 [if test $enableval = no ; then
1671 CFLAGS=`echo $CFLAGS | sed s/-O[[1-9]]\ /-O0\ /g`
1675 # Configure option --enable-all-tests
1677 AC_MSG_CHECKING([whether "make check" shall run all tests])
1678 AC_ARG_ENABLE(all-tests,
1679 AC_HELP_STRING([--enable-all-tests],
1680 [let "make check" run all tests]),
1681 run_all_tests=$enableval, run_all_tests=no)
1682 AC_MSG_RESULT($run_all_tests)
1683 if test "$run_all_tests" = "yes"; then
1684 AC_DEFINE(RUN_ALL_TESTS,1,
1685 [Defined if "make check" shall run all tests])
1689 # We do not want support for the GNUPG_BUILDDIR environment variable
1690 # in a released version. However, our regression tests suite requires
1691 # this and thus we build with support for it during "make distcheck".
1692 # This configure option implements this along with the top Makefile's
1693 # AM_DISTCHECK_CONFIGURE_FLAGS.
1695 gnupg_builddir_envvar=no
1696 AC_ARG_ENABLE(gnupg-builddir-envvar,,
1697 gnupg_builddir_envvar=$enableval)
1698 if test x"$gnupg_builddir_envvar" = x"yes"; then
1699 AC_DEFINE(ENABLE_GNUPG_BUILDDIR_ENVVAR, 1,
1700 [This is only used with "make distcheck"])
1706 CFLAGS="$CFLAGS $CFLAGS_orig"
1709 # Decide what to build
1712 build_scdaemon_extra=""
1713 if test "$build_scdaemon" = "yes"; then
1714 if test $have_libusb = no; then
1715 build_scdaemon_extra="without internal CCID driver"
1717 if test -n "$build_scdaemon_extra"; then
1718 build_scdaemon_extra="(${build_scdaemon_extra})"
1724 # Set variables for use by automake makefiles.
1726 AM_CONDITIONAL(BUILD_GPG, test "$build_gpg" = "yes")
1727 AM_CONDITIONAL(BUILD_GPGSM, test "$build_gpgsm" = "yes")
1728 AM_CONDITIONAL(BUILD_AGENT, test "$build_agent" = "yes")
1729 AM_CONDITIONAL(BUILD_SCDAEMON, test "$build_scdaemon" = "yes")
1730 AM_CONDITIONAL(BUILD_G13, test "$build_g13" = "yes")
1731 AM_CONDITIONAL(BUILD_DIRMNGR, test "$build_dirmngr" = "yes")
1732 AM_CONDITIONAL(BUILD_DOC, test "$build_doc" = "yes")
1733 AM_CONDITIONAL(BUILD_SYMCRYPTRUN, test "$build_symcryptrun" = "yes")
1734 AM_CONDITIONAL(BUILD_GPGTAR, test "$build_gpgtar" = "yes")
1735 AM_CONDITIONAL(BUILD_WKS_TOOLS, test "$build_wks_tools" = "yes")
1737 AM_CONDITIONAL(ENABLE_CARD_SUPPORT, test "$card_support" = yes)
1738 AM_CONDITIONAL(NO_TRUST_MODELS, test "$use_trust_models" = no)
1739 AM_CONDITIONAL(USE_TOFU, test "$use_tofu" = yes)
1742 # Set some defines for use gpgconf.
1744 if test "$build_gpg" = yes ; then
1745 AC_DEFINE(BUILD_WITH_GPG,1,[Defined if GPG is to be build])
1747 if test "$build_gpgsm" = yes ; then
1748 AC_DEFINE(BUILD_WITH_GPGSM,1,[Defined if GPGSM is to be build])
1750 if test "$build_agent" = yes ; then
1751 AC_DEFINE(BUILD_WITH_AGENT,1,[Defined if GPG-AGENT is to be build])
1753 if test "$build_scdaemon" = yes ; then
1754 AC_DEFINE(BUILD_WITH_SCDAEMON,1,[Defined if SCDAEMON is to be build])
1756 if test "$build_dirmngr" = yes ; then
1757 AC_DEFINE(BUILD_WITH_DIRMNGR,1,[Defined if SCDAEMON is to be build])
1759 if test "$build_g13" = yes ; then
1760 AC_DEFINE(BUILD_WITH_G13,1,[Defined if G13 is to be build])
1765 # Define Name strings
1767 AC_DEFINE_UNQUOTED(GNUPG_NAME, "GnuPG", [The name of the project])
1769 AC_DEFINE_UNQUOTED(GPG_NAME, "gpg", [The name of the OpenPGP tool])
1770 AC_DEFINE_UNQUOTED(GPG_DISP_NAME, "GnuPG", [The displayed name of gpg])
1772 AC_DEFINE_UNQUOTED(GPGSM_NAME, "gpgsm", [The name of the S/MIME tool])
1773 AC_DEFINE_UNQUOTED(GPGSM_DISP_NAME, "GPGSM", [The displayed name of gpgsm])
1775 AC_DEFINE_UNQUOTED(GPG_AGENT_NAME, "gpg-agent", [The name of the agent])
1776 AC_DEFINE_UNQUOTED(GPG_AGENT_DISP_NAME, "GPG Agent",
1777 [The displayed name of gpg-agent])
1779 AC_DEFINE_UNQUOTED(SCDAEMON_NAME, "scdaemon", [The name of the scdaemon])
1780 AC_DEFINE_UNQUOTED(SCDAEMON_DISP_NAME, "SCDaemon",
1781 [The displayed name of scdaemon])
1783 AC_DEFINE_UNQUOTED(DIRMNGR_NAME, "dirmngr", [The name of the dirmngr])
1784 AC_DEFINE_UNQUOTED(DIRMNGR_DISP_NAME, "DirMngr",
1785 [The displayed name of dirmngr])
1787 AC_DEFINE_UNQUOTED(G13_NAME, "g13", [The name of the g13 tool])
1788 AC_DEFINE_UNQUOTED(G13_DISP_NAME, "G13", [The displayed name of g13])
1790 AC_DEFINE_UNQUOTED(GPGCONF_NAME, "gpgconf", [The name of the gpgconf tool])
1791 AC_DEFINE_UNQUOTED(GPGCONF_DISP_NAME, "GPGConf",
1792 [The displayed name of gpgconf])
1794 AC_DEFINE_UNQUOTED(GPGTAR_NAME, "gpgtar", [The name of the gpgtar tool])
1796 AC_DEFINE_UNQUOTED(GPG_AGENT_SOCK_NAME, "S.gpg-agent",
1797 [The name of the agent socket])
1798 AC_DEFINE_UNQUOTED(GPG_AGENT_EXTRA_SOCK_NAME, "S.gpg-agent.extra",
1799 [The name of the agent socket for remote access])
1800 AC_DEFINE_UNQUOTED(GPG_AGENT_BROWSER_SOCK_NAME, "S.gpg-agent.browser",
1801 [The name of the agent socket for browsers])
1802 AC_DEFINE_UNQUOTED(GPG_AGENT_SSH_SOCK_NAME, "S.gpg-agent.ssh",
1803 [The name of the agent socket for ssh])
1804 AC_DEFINE_UNQUOTED(DIRMNGR_INFO_NAME, "DIRMNGR_INFO",
1805 [The name of the dirmngr info envvar])
1806 AC_DEFINE_UNQUOTED(SCDAEMON_SOCK_NAME, "S.scdaemon",
1807 [The name of the SCdaemon socket])
1808 AC_DEFINE_UNQUOTED(DIRMNGR_SOCK_NAME, "S.dirmngr",
1809 [The name of the dirmngr socket])
1810 AC_DEFINE_UNQUOTED(DIRMNGR_DEFAULT_KEYSERVER,
1811 "hkps://hkps.pool.sks-keyservers.net",
1812 [The default keyserver for dirmngr to use, if none is explicitly given])
1814 AC_DEFINE_UNQUOTED(GPGEXT_GPG, "gpg", [The standard binary file suffix])
1816 if test "$have_w32_system" = yes; then
1817 AC_DEFINE_UNQUOTED(GNUPG_REGISTRY_DIR, "\\\\Software\\\\GNU\\\\GnuPG",
1818 [The directory part of the W32 registry keys])
1823 # Provide information about the build.
1825 BUILD_REVISION="mym4_revision"
1826 AC_SUBST(BUILD_REVISION)
1827 AC_DEFINE_UNQUOTED(BUILD_REVISION, "$BUILD_REVISION",
1828 [GIT commit id revision used to build this package])
1831 BUILD_VERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./'`
1833 BUILD_VERSION="${BUILD_VERSION}mym4_revision_dec"
1834 BUILD_FILEVERSION=`echo "${BUILD_VERSION}" | tr . ,`
1835 AC_SUBST(BUILD_VERSION)
1836 AC_SUBST(BUILD_FILEVERSION)
1838 AC_ARG_ENABLE([build-timestamp],
1839 AC_HELP_STRING([--enable-build-timestamp],
1840 [set an explicit build timestamp for reproducibility.
1841 (default is the current time in ISO-8601 format)]),
1842 [if test "$enableval" = "yes"; then
1843 BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
1845 BUILD_TIMESTAMP="$enableval"
1847 BUILD_HOSTNAME="$ac_hostname"],
1848 [BUILD_TIMESTAMP="<none>"
1849 BUILD_HOSTNAME="<anon>"])
1850 AC_SUBST(BUILD_TIMESTAMP)
1851 AC_DEFINE_UNQUOTED(BUILD_TIMESTAMP, "$BUILD_TIMESTAMP",
1852 [The time this package was configured for a build])
1853 AC_SUBST(BUILD_HOSTNAME)
1857 # Print errors here so that they are visible all
1858 # together and the user can acquire them all together.
1861 if test "$have_gpg_error" = "no"; then
1865 *** You need libgpg-error to build this program.
1866 ** This library is for example available at
1867 *** https://gnupg.org/ftp/gcrypt/libgpg-error
1868 *** (at least version $NEED_GPG_ERROR_VERSION is required.)
1871 if test "$have_libgcrypt" = "no"; then
1875 *** You need libgcrypt to build this program.
1876 ** This library is for example available at
1877 *** https://gnupg.org/ftp/gcrypt/libgcrypt/
1878 *** (at least version $NEED_LIBGCRYPT_VERSION (API $NEED_LIBGCRYPT_API) is required.)
1881 if test "$have_libassuan" = "no"; then
1885 *** You need libassuan to build this program.
1886 *** This library is for example available at
1887 *** https://gnupg.org/ftp/gcrypt/libassuan/
1888 *** (at least version $NEED_LIBASSUAN_VERSION (API $NEED_LIBASSUAN_API) is required).
1891 if test "$have_ksba" = "no"; then
1895 *** You need libksba to build this program.
1896 *** This library is for example available at
1897 *** https://gnupg.org/ftp/gcrypt/libksba/
1898 *** (at least version $NEED_KSBA_VERSION using API $NEED_KSBA_API is required).
1901 if test "$gnupg_have_ldap" = yes; then
1902 if test "$have_w32ce_system" = yes; then
1904 *** Note that CeGCC might be broken, a package fixing this is:
1905 *** http://files.kolab.org/local/windows-ce/
1906 *** source/wldap32_0.1-mingw32ce.orig.tar.gz
1907 *** binary/wldap32-ce-arm-dev_0.1-1_all.deb
1911 if test "$have_npth" = "no"; then
1915 *** It is now required to build with support for the
1916 *** New Portable Threads Library (nPth). Please install this
1917 *** library first. The library is for example available at
1918 *** https://gnupg.org/ftp/gcrypt/npth/
1919 *** (at least version $NEED_NPTH_VERSION (API $NEED_NPTH_API) is required).
1923 if test "$require_iconv" = yes; then
1924 if test "$am_func_iconv" != yes; then
1928 *** The system does not provide a working iconv function. Please
1929 *** install a suitable library; for example GNU Libiconv which is
1931 *** https://ftp.gnu.org/gnu/libiconv/
1936 if test "$use_ccid_driver" = yes; then
1937 if test "$have_libusb" != yes; then
1941 *** You need libusb to build the internal ccid driver. Please
1942 *** install a libusb suitable for your system.
1947 if test "$die" = "yes"; then
1950 *** Required libraries not found. Please consult the above messages
1951 *** and install them before running configure again.
1957 AC_CONFIG_FILES([ m4/Makefile
1973 tests/gpgscm/Makefile
1974 tests/openpgp/Makefile
1975 tests/migrations/Makefile
1976 tests/gpgsm/Makefile
1977 tests/gpgme/Makefile
1978 tests/pkits/Makefile
1979 g10/gpg.w32-manifest
1987 GnuPG v${VERSION} has been configured as follows:
1989 Revision: mym4_revision (mym4_revision_dec)
1990 Platform: $PRINTABLE_OS_NAME ($host)
1993 S/MIME: $build_gpgsm
1995 Smartcard: $build_scdaemon $build_scdaemon_extra
1997 Dirmngr: $build_dirmngr
1998 Gpgtar: $build_gpgtar
1999 WKS tools: $build_wks_tools
2001 Protect tool: $show_gnupg_protect_tool_pgm
2002 LDAP wrapper: $show_gnupg_dirmngr_ldap_pgm
2003 Default agent: $show_gnupg_agent_pgm
2004 Default pinentry: $show_gnupg_pinentry_pgm
2005 Default scdaemon: $show_gnupg_scdaemon_pgm
2006 Default dirmngr: $show_gnupg_dirmngr_pgm
2008 Dirmngr auto start: $dirmngr_auto_start
2009 Readline support: $gnupg_cv_have_readline
2010 LDAP support: $gnupg_have_ldap
2011 TLS support: $use_tls_library
2012 TOFU support: $use_tofu
2013 Tor support: $show_tor_support
2015 if test x"$use_regex" != xyes ; then
2017 Warning: No regular expression support available.
2018 OpenPGP trust signatures won't work.
2019 gpg-check-pattern will not be built.
2022 if test "x${gpg_config_script_warn}" != x; then
2024 Warning: Mismatches between the target platform and the
2025 to be used libraries have been detected for:
2026 ${gpg_config_script_warn}
2027 Please check above for more warning messages.