automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

accept .sx as synonymous to .S


From: Ralf Wildenhues
Subject: accept .sx as synonymous to .S
Date: Mon, 1 Oct 2007 20:36:44 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

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  <address@hidden>

        * 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]