beb02daae29e4bef0a8cd9a1d6b0c3fe30fdc276
[platform/upstream/automake.git] / t / ccnoco4.sh
1 #! /bin/sh
2 # Copyright (C) 2001-2013 Free Software Foundation, Inc.
3 #
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.
8 #
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.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Check that Automake-generated C compilation rules don't mistakenly
18 # use the "-c -o" options combination unconditionally (even with losing
19 # compilers) when the 'subdir-objects' is used but sources are only
20 # present in the top-level directory.  Reported by Nick Bowler in the
21 # discussion on automake bug#13378:
22 # <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
23 # <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>
24
25 required=gcc # For cc-no-c-o.
26 . test-init.sh
27
28 cat >> configure.ac << 'END'
29 AC_PROG_CC
30 $CC --version; $CC -v; # For debugging.
31 AC_OUTPUT
32 END
33
34 cat > Makefile.am << 'END'
35 AUTOMAKE_OPTIONS = subdir-objects
36 bin_PROGRAMS = foo bar
37 bar_SOURCES = foo.c
38 END
39
40 echo 'int main (void) { return 0; }' > foo.c
41
42 # Make sure the compiler doesn't understand '-c -o'
43 CC=$am_testaux_builddir/cc-no-c-o; export CC
44
45 $ACLOCAL
46 $AUTOCONF
47 $AUTOMAKE --copy --add-missing
48
49 ./configure
50 $MAKE
51 $MAKE distcheck
52
53 :