From 246b27921b5dc34f367d879402725784aaee2494 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 1 Mar 2017 18:40:05 +0100 Subject: [PATCH] build: Add kludge for "make distcheck" in a release build. * configure.ac: New option --enable-gnupg-builddir-envvar. (ENABLE_GNUPG_BUILDDIR_ENVVAR): New ac_define. * common/homedir.c (gnupg_set_builddir_from_env): Consider ENABLE_GNUPG_BUILDDIR_ENVVAR. * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Rename to ... (AM_DISTCHECK_CONFIGURE_FLAGS): this to be future proof. Add option --enable-gnupg-builddir-envvar. -- Our regression test suite makes use of the envvar GNUPG_BUILDDIR. Now the code in gnupg for evaluating this envvar is only included in a development version (that is one with a "-betaNNN" suffix). For a real release the envvar is not considered. However during a "make distcheck" a "make check" is done for the build directory. Without defining that envar we would try to run binaries in the install directory ("_inst" sub-directory) which are not yet installed at that time. Signed-off-by: Werner Koch --- Makefile.am | 3 ++- common/homedir.c | 2 +- configure.ac | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index e220f8b87..71e691afd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,7 +19,8 @@ ## Process this file with automake to produce Makefile.in ACLOCAL_AMFLAGS = -I m4 -DISTCHECK_CONFIGURE_FLAGS = --enable-symcryptrun --enable-g13 \ +AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gnupg-builddir-envvar \ + --enable-symcryptrun --enable-g13 \ --enable-gpg2-is-gpg --enable-gpgtar --enable-wks-tools --disable-ntbtls GITLOG_TO_CHANGELOG=gitlog-to-changelog diff --git a/common/homedir.c b/common/homedir.c index 6b40bb6bf..3055a322e 100644 --- a/common/homedir.c +++ b/common/homedir.c @@ -914,7 +914,7 @@ gnupg_set_builddir (const char *newdir) static void gnupg_set_builddir_from_env (void) { -#ifdef IS_DEVELOPMENT_VERSION +#if defined(IS_DEVELOPMENT_VERSION) || defined(ENABLE_GNUPG_BUILDDIR_ENVVAR) if (gnupg_build_directory) return; diff --git a/configure.ac b/configure.ac index 1733c5ad7..4b9ceca2f 100644 --- a/configure.ac +++ b/configure.ac @@ -1692,6 +1692,21 @@ AC_ARG_ENABLE(optimization, CFLAGS=`echo $CFLAGS | sed s/-O[[1-9]]\ /-O0\ /g` fi]) +# +# We do not want support for the GNUPG_BUILDDIR environment variable +# in a released version. However, our regression tests suite requires +# this and thus we build with support for it during "make distcheck". +# This configure option implements this along with the top Makefile's +# AM_DISTCHECK_CONFIGURE_FLAGS. +# +gnupg_builddir_envvar=no +AC_ARG_ENABLE(gnupg-builddir-envvar,, + gnupg_builddir_envvar=$enableval) +if test x"$gnupg_builddir_envvar" = x"yes"; then + AC_DEFINE(ENABLE_GNUPG_BUILDDIR_ENVVAR, 1, + [This is only used with "make distcheck"]) +fi + # # Add user CFLAGS. #