Merge branch 'minor'
[automake.git] / t / cond19.sh
blobecdf014e1ee89d8a27d5c783fb80da2b2c10fa93
1 #! /bin/sh
2 # Copyright (C) 2001-2017 Free Software Foundation, Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <https://www.gnu.org/licenses/>.
17 # Regression test for substitution references to conditional variables.
18 # Report from Richard Boulton.
20 . test-init.sh
22 cat >> configure.ac << 'END'
23 AC_SUBST([CC], [false])
24 AC_SUBST([OBJEXT], [o])
25 AM_CONDITIONAL([COND1], [test "x$CONDITION1" = "xtrue"])
26 AM_CONDITIONAL([COND2], [test "x$CONDITION2" = "xtrue"])
27 AC_OUTPUT
28 END
30 cat > Makefile.am << 'END'
31 bin_PROGRAMS = helldl
33 var1 = dlmain
35 if COND1
36 var2 = $(var1:=.c)
37 else
38 var2 = $(var1:=.c)
39 endif
41 if COND2
42 var3 = $(var2:.c=a.c)
43 var4 = $(var2:.c=b.c)
44 else
45 var3 = $(var2:.c=b.c)
46 var4 = $(var2:.c=a.c)
47 endif
49 helldl_SOURCES = $(var3:.c=1.c) $(var4:.c=2.c)
51 .PHONY: test
52 test:
53 is $(exp) == $(helldl_SOURCES) $(helldl_OBJECTS)
54 END
56 $ACLOCAL
57 $AUTOCONF
58 $AUTOMAKE -a -i
60 CONDITION1=true CONDITION2=true ./configure
61 $MAKE test exp='dlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o'
62 CONDITION1=true CONDITION2=false ./configure
63 $MAKE test exp='dlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o'
64 CONDITION1=false CONDITION2=true ./configure
65 $MAKE test exp='dlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o'
66 CONDITION1=false CONDITION2=false ./configure
67 $MAKE test exp='dlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o'