summaryrefslogtreecommitdiff
path: root/tests/ccnoco.test
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2001-07-18 05:49:46 +0000
committerTom Tromey <tromey@redhat.com>2001-07-18 05:49:46 +0000
commit0066e5961e36c1d9c3a57a772b745192cbdeb59d (patch)
tree04d217a6eb993ff76a2f1749fb6f3e3d4a216842 /tests/ccnoco.test
parent3af311278ecab3a00e0b37d258f987318106c1ed (diff)
downloadautomake-0066e5961e36c1d9c3a57a772b745192cbdeb59d.tar.gz
* tests/Makefile.am (TESTS): Added ccnoco.test.
(XFAIL_TESTS): Likewise. * tests/ccnoco.test: New file.
Diffstat (limited to 'tests/ccnoco.test')
-rwxr-xr-xtests/ccnoco.test93
1 files changed, 93 insertions, 0 deletions
diff --git a/tests/ccnoco.test b/tests/ccnoco.test
new file mode 100755
index 000000000..02329df70
--- /dev/null
+++ b/tests/ccnoco.test
@@ -0,0 +1,93 @@
+#! /bin/sh
+
+# Test to make sure we can compile when the compiler doesn't
+# understand `-c -o'.
+
+. $srcdir/defs || exit 1
+
+cat > configure.1 << 'END'
+AC_INIT(a.c)
+AM_INIT_AUTOMAKE(nonesuch, 0.23)
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_OUTPUT(Makefile)
+END
+
+# This is just like the first one but we reverse the order of
+# the PROG_CC macros. Really these should be equivalent,
+# since AC_PROG_CC_C_O should probably require AC_PROG_CC.
+# (Investigation might show that we should just remove this test.)
+cat > configure.2 << 'END'
+AC_INIT(a.c)
+AM_INIT_AUTOMAKE(nonesuch, 0.23)
+AM_PROG_CC_C_O
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+# This one makes sure that $CC can be used after AM_PROG_CC_C_O.
+cat > configure.3 << 'END'
+AC_INIT(a.c)
+AM_INIT_AUTOMAKE(nonesuch, 0.23)
+AC_PROG_CC
+AM_PROG_CC_C_O
+$CC -v > Hi 2>&1 || exit 1
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = wish
+wish_SOURCES = a.c
+# Make sure we need something strange.
+wish_CFLAGS = -g
+END
+
+cat > a.c << 'END'
+#include <stdio.h>
+
+int main ()
+{
+ printf ("hi\n");
+}
+END
+
+$needs_autoconf
+gcc -v || exit 77
+
+cat > Mycomp << 'END'
+#!/bin/sh
+
+case "$@" in
+ *-c*-o* | *-o*-c*)
+ exit 1
+ ;;
+esac
+
+exec gcc ${1+"$@"}
+END
+
+chmod +x Mycomp
+
+set -e
+
+
+for conf in configure.1 configure.2 configure.3; do
+ cp $conf configure.in
+
+ $ACLOCAL
+ $AUTOCONF
+ $AUTOMAKE --copy --add-missing
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ # Make sure the compiler doesn't understand `-c -o'
+ CC=`pwd`/../Mycomp
+ export CC
+
+ ../configure
+ $MAKE
+
+ cd ..
+done