summaryrefslogtreecommitdiff
path: root/t/ccnoco4.sh
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2013-01-11 18:26:03 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2013-01-11 18:47:42 +0100
commitb670a66a6ac1ee8ef25dc48a26e477812c2dbacf (patch)
treed18b61e871f50512ee49fed36ef30c0fde0f1be6 /t/ccnoco4.sh
parent10790d08f071a91160bbaeabab7fd8a8d23e5a55 (diff)
downloadautomake-b670a66a6ac1ee8ef25dc48a26e477812c2dbacf.tar.gz
tests: can fake a compiler not grasping "-c -o" -- globally in all tests
The ability to easily do so will be quite important in upcoming changes about C compilation handling and semantics of the 'subdir-objects' option. Refer to the extensive discussion about automake bug#13378 for more details: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378>. See also commit 'v1.13.1-34-g744cd57' of 2013-01-08, "coverage: compile rules used "-c -o" also with losing compilers". * t/ax/cc-no-c-o.in: New, a "C compiler" that chokes when the '-c' and '-o' options are passed together to it on the command line. * Makefile.am (t/ax/cc-no-c-o): Generate this script from it. (noinst_SCRIPTS, CLEANFILES): Add it. (EXTRA_DIST): Add 't/ax/cc-no-c-o.in'. (check-cc-no-c-o): New target, runs the whole testsuite with 'cc-no-c-o' as the C compiler (bot GNU and non-GNU). * .gitignore: Update. * t/ccnoco.sh: Use the new script instead of duplicating it. * t/ccnoco3.sh: Likewise. * t/ccnoco4.sh: Likewise. * t/self-check-cc-no-c-o.sh: New testsuite self-check. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/ccnoco4.sh')
-rwxr-xr-xt/ccnoco4.sh23
1 files changed, 3 insertions, 20 deletions
diff --git a/t/ccnoco4.sh b/t/ccnoco4.sh
index 73dce9f68..b317fb5b8 100755
--- a/t/ccnoco4.sh
+++ b/t/ccnoco4.sh
@@ -22,7 +22,7 @@
# <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
# <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>
-required=gcc
+required=gcc # For cc-no-c-o.
. test-init.sh
# We deliberately do not call AM_PROG_CC_C_O here.
@@ -40,25 +40,8 @@ END
echo 'int main (void) { return 0; }' > foo.c
-cat > Mycomp << END
-#!/bin/sh
-
-case " \$* " in
- *\ -c*\ -o* | *\ -o*\ -c*)
- exit 1
- ;;
-esac
-
-# Use '$CC', not 'gcc', to honour the compiler chosen
-# by the testsuite setup.
-exec $CC "\$@"
-END
-
-chmod +x Mycomp
-
-# Make sure the compiler doesn't understand '-c -o'.
-CC=$(pwd)/Mycomp
-export CC
+# Make sure the compiler doesn't understand '-c -o'
+CC=$am_testaux_builddir/cc-no-c-o; export CC
$ACLOCAL
$AUTOCONF