diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-01-11 18:26:03 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-01-11 18:47:42 +0100 |
commit | b670a66a6ac1ee8ef25dc48a26e477812c2dbacf (patch) | |
tree | d18b61e871f50512ee49fed36ef30c0fde0f1be6 /Makefile.am | |
parent | 10790d08f071a91160bbaeabab7fd8a8d23e5a55 (diff) | |
download | automake-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 'Makefile.am')
-rw-r--r-- | Makefile.am | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index ab98df708..64e9d4869 100644 --- a/Makefile.am +++ b/Makefile.am @@ -446,6 +446,17 @@ EXTRA_DIST += t/ax/shell-no-trail-bslash.in CLEANFILES += t/ax/shell-no-trail-bslash noinst_SCRIPTS += t/ax/shell-no-trail-bslash +t/ax/cc-no-c-o: t/ax/cc-no-c-o.in Makefile + $(AM_V_at)rm -f $@ $@-t + $(AM_V_GEN)in=t/ax/cc-no-c-o.in \ + && $(MKDIR_P) t/ax \ + && $(do_subst) <$(srcdir)/$$in >$@-t \ + && chmod a+x $@-t + $(generated_file_finalize) +EXTRA_DIST += t/ax/cc-no-c-o.in +CLEANFILES += t/ax/cc-no-c-o +noinst_SCRIPTS += t/ax/cc-no-c-o + runtest: t/ax/runtest.in Makefile $(AM_V_at)rm -f $@ $@-t $(AM_V_GEN)in=t/ax/runtest.in \ @@ -518,6 +529,17 @@ check-no-trailing-backslash-in-recipes: CONFIG_SHELL='$(abs_top_builddir)/t/ax/shell-no-trail-bslash' .PHONY: check-no-trailing-backslash-in-recipes +# Some compilers out there (hello, MSVC) still choke on "-c -o" being +# passed together on the command line. Run the whole testsuite faking +# the presence of such a compiler, to help catch regressions that would +# otherwise only present themselves later "in the wild". See also the +# long discussion about automake bug#13378. +check-cc-no-c-o: + $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) check \ + CC='$(abs_top_builddir)/t/ax/cc-no-c-o' \ + GNU_CC='$(abs_top_builddir)/t/ax/cc-no-c-o' +.PHONY: check-cc-no-c-o + ## Checking the list of tests. test_subdirs = t t/pm contrib/t include $(srcdir)/t/CheckListOfTests.am |