Merge branch 'msvc' into maint
[platform/upstream/automake.git] / tests / pluseq5.test
1 #! /bin/sh
2 # Copyright (C) 1999, 2001, 2002, 2003, 2010 Free Software Foundation,
3 # Inc.
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2, or (at your option)
8 # any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18 # Test for another `+=' problem.  Report from Brian Jones.
19
20 . ./defs || Exit 1
21
22 set -e
23
24 cat >> configure.in << 'END'
25 AM_CONDITIONAL([CHECK], [true])
26 END
27
28 cat > Makefile.am << 'END'
29 if CHECK
30 INCLUDES = abc
31 endif
32 INCLUDES += def
33 END
34
35 $ACLOCAL
36 AUTOMAKE_fails
37
38 # We expect the following diagnostic:
39 #
40 # Makefile.am:4: Cannot apply `+=' because `INCLUDES' is not defined in
41 # Makefile.am:4: the following conditions:
42 # Makefile.am:4:   !CHECK
43 # Makefile.am:4: Either define `INCLUDES' in these conditions, or use
44 # Makefile.am:4: `+=' in the same conditions as the definitions.
45
46 # Is !CHECK mentioned?
47 grep ':.*!CHECK$' stderr
48 # Is there only one missing condition?
49 test `grep ':  ' stderr | wc -l` = 1
50
51 # By the way, Automake should suggest using AM_CPPFLAGS,
52 # because INCLUDES is an obsolete name.
53 grep AM_CPPFLAGS stderr
54
55 # A way to suppress the obsolete warning is to use
56 # -Wno-obsolete:
57 echo 'AUTOMAKE_OPTIONS = -Wno-obsolete' >> Makefile.am
58 AUTOMAKE_fails
59 grep AM_CPPFLAGS stderr && Exit 1
60 # !CHECK should still be mentioned.
61 grep ':.*!CHECK$' stderr
62
63 :