Tag
Hash :
1c41f7f3
Author :
Date :
2002-05-20T20:42:02
* automake.in (conditional_implies_one_of): Rename as ... (conditional_implies_any): ... this. * tests/pluseq9.test: Exercise another case with the new `C' variable. Suggested by Raja R Harinath.
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
#! /bin/sh
# Test the += diagnostics.
. $srcdir/defs || exit 1
cat >>configure.in <<EOF
AM_CONDITIONAL(COND1, true)
AM_CONDITIONAL(COND2, true)
AM_CONDITIONAL(COND3, true)
EOF
cat > Makefile.am << 'END'
if COND1
C = c
if COND2
A = a
B = aa
C += cc
else
A = b
B = bb
endif
A += c
else
A = d
endif
A += e
if COND3
A += f
B = cc
endif
B += dd
END
$ACLOCAL || exit 1
$AUTOMAKE 2>stderr && exit 1
cat stderr # for debugging
# We expect the following diagnostic:
#
# Makefile.am:19: Cannot apply `+=' because `B' is not defined in
# Makefile.am:19: the following conditions:
# Makefile.am:19: COND3_FALSE
# Makefile.am:19: COND1_FALSE COND2_FALSE
# Makefile.am:19: COND1_FALSE COND2_TRUE
# Makefile.am:19: Either define `B' in these conditions, or use
# Makefile.am:19: `+=' in the same conditions as the definitions.
#
# It would be nice if Automake could print only COND3_FALSE and
# COND1_FALSE (merging the last two conditions), so we'll support
# this case in the check too.
# Are COND3_FALSE and COND1_FALSE mentioned?
grep ':.*COND3_FALSE$' stderr || exit 1
grep ':.*COND1_FALSE' stderr || exit 1
# Make sure there are no more than three missing conditions.
test `grep ': ' stderr | wc -l` -le 3 || exit 1
: