Implement conditional AC_CONFIG_FILES: AM_COND_IF.
[automake/plouj.git] / tests / cond39.test
blob93f0363fd114b2cf18322bc5b71167b94879cddd
1 #!/bin/sh
2 # Copyright (C) 2008 Free Software Foundation, Inc.
4 # This file is part of GNU Automake.
6 # GNU Automake is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3, or (at your option)
9 # any later version.
11 # GNU Automake is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with Automake; see the file COPYING. If not, write to
18 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 # Boston, MA 02110-1301, USA.
21 # Build either as CONFIG_FILE or as PROGRAM.
23 . ./defs
24 set -e
26 cat >>configure.in <<'END'
27 AC_PROG_CC
28 AM_CONDITIONAL([COND], [test "$COND" = true])
29 AM_COND_IF([COND], [],
30 [AC_CONFIG_FILES([prog], [chmod 755 prog])])
31 AC_OUTPUT
32 END
34 cat >Makefile.am <<'END'
35 if COND
36 bin_PROGRAMS = prog
37 prog_SOURCES = prog.c
38 else
39 # FIXME: the next line is still needed to get automake to output the
40 # bin_PROGRAMS above in the right condition only.
41 prog:
42 bin_SCRIPTS = prog
43 CLEANFILES = prog
44 endif
45 END
47 cat >prog.c <<'END'
48 int main () { return 42; }
49 END
51 cat >prog.in <<'END'
52 #! /bin/sh
53 bindir='@bindir@'
54 echo "hi, this is $0, and bindir is $bindir"
55 END
57 $ACLOCAL
58 $AUTOCONF
59 $AUTOMAKE --add-missing
61 ./configure COND=true
62 $MAKE 2>stderr
63 cat stderr
64 grep 'overriding commands' stderr && exit 1
65 ./prog && exit 1
66 $MAKE clean
67 $MAKE
68 ./prog && exit 1
69 $MAKE distclean
71 ./configure COND=false
72 $MAKE 2>stderr
73 cat stderr
74 grep 'overriding commands' stderr && exit 1
75 ./prog
76 $MAKE clean
77 $MAKE
78 ./prog