Merge branch 'msvc' into maint
[platform/upstream/automake.git] / tests / ccnoco.test
1 #! /bin/sh
2 # Copyright (C) 2001, 2002, 2008  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 # Test to make sure we can compile when the compiler doesn't
18 # understand `-c -o'.
19
20 required=gcc
21 . ./defs || Exit 1
22
23 cat > configure.1 << 'END'
24 AC_INIT(a.c)
25 AM_INIT_AUTOMAKE(nonesuch, 0.23)
26 AC_PROG_CC
27 AM_PROG_CC_C_O
28 AC_OUTPUT(Makefile)
29 END
30
31 # This one makes sure that $CC can be used after AM_PROG_CC_C_O.
32 cat > configure.3 << 'END'
33 AC_INIT(a.c)
34 AM_INIT_AUTOMAKE(nonesuch, 0.23)
35 AC_PROG_CC
36 AM_PROG_CC_C_O
37 $CC -v > Hi 2>&1 || exit 1
38 AC_OUTPUT(Makefile)
39 END
40
41 cat > Makefile.am << 'END'
42 bin_PROGRAMS = wish
43 wish_SOURCES = a.c
44 # Make sure we need something strange.
45 wish_CFLAGS = -g
46 END
47
48 cat > a.c << 'END'
49 #include <stdio.h>
50
51 int main ()
52 {
53    printf ("hi\n");
54 }
55 END
56
57 cat > Mycomp << 'END'
58 #!/bin/sh
59
60 case " "$* in
61  *\ -c*\ -o* | *\ -o*\ -c*)
62     exit 1
63     ;;
64 esac
65
66 exec gcc "$@"
67 END
68
69 chmod +x Mycomp
70
71 set -e
72
73
74 # Ignore user CFLAGS.
75 CFLAGS=
76 export CFLAGS
77
78 for conf in configure.1 configure.3; do
79    cp $conf configure.in
80
81    $ACLOCAL
82    $AUTOCONF
83    $AUTOMAKE --copy --add-missing
84
85    rm -rf build
86    mkdir build
87    cd build
88
89    # Make sure the compiler doesn't understand `-c -o'
90    CC=`pwd`/../Mycomp
91    export CC
92
93    ../configure
94    $MAKE
95
96    cd ..
97 done