Hash :
a45c6364
Author :
Date :
2011-10-29T12:15:59
maint-mode: fix botched configure messages This change fixes automake bug#9890. * m4/maintainer.m4 (AM_MAINTAINER_MODE): Fix the "checking ..." configure message related to the enabling/disabling of maintainer mode. * tests/help-maintainer.test: Renamed ... * tests/maintmode-configure-msg.test: ... to this, and extended to cover the fixed bug. Also, since we are at it, make grepping of configure help screens stricter, and throw in some few other changes to reduce code duplication and enhance readability. * tests/Makefile.am (TESTS): Update. * THANKS: Update with Zack's new e-mail address. Report and initial patch by Zack Weinberg, test cases added by Stefano Lattarini.
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 69 70 71 72 73 74 75 76 77 78 79
#! /bin/sh
# Copyright (C) 2010, 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/>.
# Make sure that our macro `AM_MAINTAINER_MODE' adds proper text to
# the configure help screen. Also make sure the "checking ..." messages
# related to the enabling/disabling of maintainer mode are correct (see
# automake bug#9890).
. ./defs || Exit 1
set -e
set_maintmode ()
{
rm -rf autom4te*.cache # Just to be sure not to use a stale cache.
echo "AC_INIT([$me], [1.0])" > configure.in
case $1 in
DEFAULT) echo AM_MAINTAINER_MODE;;
*) echo "AM_MAINTAINER_MODE([$*])";;
esac >> configure.in
}
check_configure_message_with ()
{
answer=$1; shift
./configure ${1+"$@"} >stdout || { cat stdout; Exit 1; }
cat stdout
grep "^checking whether to enable maintainer-specific.*\\.\\.\\. $answer$" stdout
test `grep -c 'checking.*maint' stdout` -eq 1
:
}
set_maintmode "DEFAULT"
$ACLOCAL
$AUTOCONF --force
./configure --help >stdout || { cat stdout; Exit 1; }
cat stdout
grep '^ *--enable-maintainer-mode.* enable make rules' stdout
check_configure_message_with "no"
check_configure_message_with "yes" --enable-maintainer-mode
set_maintmode "disable"
$AUTOCONF --force
./configure --help >stdout || { cat stdout; Exit 1; }
cat stdout
grep '^ *--enable-maintainer-mode.* enable make rules' stdout
check_configure_message_with "no"
check_configure_message_with "yes" --enable-maintainer-mode
set_maintmode "enable"
$AUTOCONF --force
./configure --help >stdout || { cat stdout; Exit 1; }
cat stdout
grep '^ *--disable-maintainer-mode.* disable make rules' stdout
check_configure_message_with "yes"
check_configure_message_with "no" --disable-maintainer-mode
: