See <http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00173.html>. OK to apply to HEAD? Also branch-1-10?
I'm wondering a bit whether we risk clashes wrt. file name extensions here. OpenOffice uses extensions matching .sx? but AFAIK no plain .sx (yet). Does anybody know whether w32 has a default action for these? Searching the net, I found these programs using files matching *.sx: SAS Stat Studio Program Source Code Stradx None of these look like more likely candidates for Automake. Cheers, Ralf 2007-10-01 Ralf Wildenhues <[EMAIL PROTECTED]> * automake.in: Treat extension .sx also like preprocessed assembler (.S), following GCC. * NEWS: Update. * doc/automake.texi (Assembly Support) (Unified Parallel C Support): Adjust. * tests/asm3.test: New test. * tests/Makefile.am: Update. Index: NEWS =================================================================== RCS file: /cvs/automake/automake/NEWS,v retrieving revision 1.331 diff -u -r1.331 NEWS --- NEWS 22 Jul 2007 08:48:17 -0000 1.331 +++ NEWS 1 Oct 2007 18:33:40 -0000 @@ -19,6 +19,8 @@ - For files with extension .f90 or .f95, the flag $(FCFLAGS_f9x) computed by AC_FC_SRCEXT is now honored in compile rules. + - Files with extension .sx are also treated as preprocessed assembler. + * Miscellaneous changes: - Automake is licensed under GPLv3+. `automake --add-missing' will Index: automake.in =================================================================== RCS file: /cvs/automake/automake/automake.in,v retrieving revision 1.1649 diff -u -r1.1649 automake.in --- automake.in 30 Sep 2007 04:18:20 -0000 1.1649 +++ automake.in 1 Oct 2007 18:33:43 -0000 @@ -861,7 +861,7 @@ 'compiler' => 'CPPASCOMPILE', 'compile_flag' => '-c', 'output_flag' => '-o', - 'extensions' => ['.S'], + 'extensions' => ['.S', '.sx'], # With assembly we still use the C linker. '_finish' => \&lang_c_finish); cvs diff: Diffing doc Index: doc/automake.texi =================================================================== RCS file: /cvs/automake/automake/doc/automake.texi,v retrieving revision 1.171 diff -u -r1.171 automake.texi --- doc/automake.texi 19 Aug 2007 07:46:52 -0000 1.171 +++ doc/automake.texi 1 Oct 2007 18:33:52 -0000 @@ -6035,7 +6035,7 @@ Automake includes some support for assembly code. There are two forms of assembler files: normal (@file{*.s}) and preprocessed by @code{CPP} -(@file{*.S}). +(@file{*.S} or @file{*.sx}). @vindex CCAS @vindex CCASFLAGS @@ -6055,7 +6055,7 @@ @code{CCAS} to the C compiler and @code{CCASFLAGS} to the C compiler flags), but you are free to define these variables by other means. -Only the suffixes @file{.s} and @file{.S} are recognized by +Only the suffixes @file{.s}, @file{.S}, and @file{.sx} are recognized by @command{automake} as being files containing assembly code. Index: tests/Makefile.am =================================================================== RCS file: /cvs/automake/automake/tests/Makefile.am,v retrieving revision 1.623 diff -u -r1.623 Makefile.am --- tests/Makefile.am 16 Aug 2007 23:47:09 -0000 1.623 +++ tests/Makefile.am 1 Oct 2007 18:33:52 -0000 @@ -57,6 +57,7 @@ ar2.test \ asm.test \ asm2.test \ +asm3.test \ autohdr.test \ autohdr2.test \ autohdr3.test \ --- /dev/null 2007-09-29 14:18:42.220064750 +0200 +++ tests/asm3.test 2007-10-01 20:32:54.000000000 +0200 @@ -0,0 +1,139 @@ +#! /bin/sh +# Copyright (C) 2001, 2002, 2003, 2006, 2007 Free Software Foundation, +# Inc. +# +# This file is part of GNU Automake. +# +# GNU Automake is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Automake is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Automake; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. + +# Test of basic preprocessed assembly functionality with extension .sx. + +. ./defs || exit 1 + +set -e + +cat > Makefile.am << 'END' +noinst_PROGRAMS = maude +maude_SOURCES = maude.sx +END + +: > maude.sx + +# Should fail because we need CC and CCAS. +echo 1 +cat > configure.in << 'END' +AC_INIT +AM_INIT_AUTOMAKE(nonesuch, nonesuch) +AC_SUBST(CCASFLAGS) +AC_OUTPUT(Makefile) +END + +$ACLOCAL +AUTOMAKE_fails +grep AM_PROG_AS stderr + +# On fast machines the autom4te.cache created during the above run of +# $AUTOMAKE is likely to have the same time stamp as the configure.in +# created below; thus causing traces for the old configure.in to be +# used. We could do `$sleep', but it's faster to erase the +# directory. (Erase autom4te*.cache, not autom4te.cache, because some +# bogus installations of Autoconf use a versioned cache.) +rm -rf autom4te*.cache + +# We still need CCAS. +echo 2 +cat > configure.in << 'END' +AC_INIT +AM_INIT_AUTOMAKE(nonesuch, nonesuch) +AC_PROG_CC +AC_SUBST(CCASFLAGS) +AC_OUTPUT(Makefile) +END + +$ACLOCAL +AUTOMAKE_fails +grep CCAS stderr +grep AM_PROG_AS stderr + +rm -rf autom4te*.cache + +# We need CCASFLAGS. +echo 3 +cat > configure.in << 'END' +AC_INIT +AM_INIT_AUTOMAKE(nonesuch, nonesuch) +CCAS='$(CC)' +AC_SUBST(CCAS) +AC_PROG_CC +AC_OUTPUT(Makefile) +END + +$ACLOCAL +AUTOMAKE_fails +grep CCASFLAGS stderr +grep AM_PROG_AS stderr + +rm -rf autom4te*.cache + +# We need dependency tracking. +echo 4 +cat > configure.in << 'END' +AC_INIT +AM_INIT_AUTOMAKE(nonesuch, nonesuch) +CCAS='$(CC)' +AC_SUBST(CCAS) +AC_PROG_CC +AC_SUBST(CCASFLAGS) +AC_OUTPUT(Makefile) +END + +$ACLOCAL +AUTOMAKE_fails +grep AM_PROG_AS stderr + +rm -rf autom4te*.cache + +# We have every needed, expect a success. +echo 5 +cat > configure.in << 'END' +AC_INIT +AM_INIT_AUTOMAKE(nonesuch, nonesuch) +CCAS='$(CC)' +AC_SUBST(CCAS) +AC_PROG_CC +_AM_DEPENDENCIES(CCAS) +AC_SUBST(CCASFLAGS) +AC_OUTPUT(Makefile) +END + +$ACLOCAL +$AUTOMAKE + +rm -rf autom4te*.cache + +# We have every needed, expect a success. +echo 6 +cat > configure.in << 'END' +AC_INIT +AM_INIT_AUTOMAKE(nonesuch, nonesuch) +AM_PROG_AS +AC_OUTPUT(Makefile) +END + +$ACLOCAL +$AUTOMAKE + +exit 0