Hash :
97600392
Author :
Date :
2011-06-10T12:26:42
distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS * doc/automake.texi (Checking the Distribution): Suggest to use AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to define (in the top-level Makefile.am) extra flags to be passed to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS should be reserved for the user. Add proper `@vindex' directive. Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a subpackage Makefile.am, but the flags in it are passed down to the configure script of the subpackage. * lib/am/distdir.am (distcheck): Also pass the flags in $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation. Update comments. * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS, DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in the environment, they might improperly influence our testsuite. * tests/distcheck-configure-flags.test: New test. * tests/distcheck-configure-flags-am.test: Likewise. * tests/distcheck-configure-flags-subpkg.test: Likewise. * distcheck-hook.test: Likewise. * distcheck-hook2.test: Likewise. * tests/Makefile.am (TESTS): Update. Closes automake bug#8487.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
#! /bin/sh
# Copyright (C) 2011 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Check support for AM_DISTCHECK_CONFIGURE_FLAGS at "make distcheck"
# time, and its interactions with DISTCHECK_CONFIGURE_FLAGS.
. ./defs || Exit 1
set -e
cat >> configure.in << 'END'
AC_ARG_ENABLE([success], [], [success=$enableval], [success=no])
AS_IF([test $success = yes && test "$sentence" = 'it works :-)'],
[:],
[AC_MSG_ERROR([success='$success', sentence='$sentence'])])
AC_OUTPUT
END
unset sentence || :
cat > Makefile.am << 'END'
AM_DISTCHECK_CONFIGURE_FLAGS = --enable-success sentence='it works :-)'
END
$ACLOCAL
$AUTOMAKE
$FGREP '$(DISTCHECK_CONFIGURE_FLAGS)' Makefile.in
$FGREP '$(AM_DISTCHECK_CONFIGURE_FLAGS)' Makefile.in
grep 'DISTCHECK_CONFIGURE_FLAGS.*AM_DISTCHECK_CONFIGURE_FLAGS' Makefile.in \
&& Exit 1
$AUTOCONF
./configure --enable-success sentence='it works :-)'
# The configure call in "make distcheck" should honour
# $(AM_DISTCHECK_CONFIGURE_FLAGS).
$MAKE distcheck
# $(DISTCHECK_CONFIGURE_FLAGS) takes precedence over
# $(AM_DISTCHECK_CONFIGURE_FLAGS)
cat >> Makefile.am << 'END'
AM_DISTCHECK_CONFIGURE_FLAGS += --disable-success
END
$AUTOMAKE Makefile
./config.status Makefile
$MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
cat output
grep "^configure:.* success='no', sentence='it works :-)'" output
$MAKE distcheck DISTCHECK_CONFIGURE_FLAGS="--enable-success=yes"
: