* automake.in: Treat extension .sx also like preprocessed
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 9 Oct 2007 20:02:57 +0000 (20:02 +0000)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 9 Oct 2007 20:02:57 +0000 (20:02 +0000)
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.

ChangeLog
NEWS
automake.in
doc/automake.texi
tests/Makefile.am
tests/Makefile.in
tests/asm3.test [new file with mode: 0755]

index 8b30515..3f117fd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2007-10-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * 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.
+
 2007-10-09  Jim Meyering  <meyering@redhat.com>
 
        Add lzma compression support.
diff --git a/NEWS b/NEWS
index 2e08a8f..1c3b789 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -19,6 +19,8 @@ New in 1.10a:
   - 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:
 
   - "make dist" can now create lzma-compressed tarballs.
index 234947b..3c47cc1 100755 (executable)
@@ -861,7 +861,7 @@ register_language ('name' => 'cppasm',
                   '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);
index 805a2b8..3b5dc2d 100644 (file)
@@ -6035,7 +6035,7 @@ The command used to actually link a Unified Parallel C program.
 
 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 @@ The autoconf macro @code{AM_PROG_AS} will define @code{CCAS} and
 @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 436de63..5d61ae7 100644 (file)
@@ -57,6 +57,7 @@ ar.test \
 ar2.test \
 asm.test \
 asm2.test \
+asm3.test \
 autohdr.test \
 autohdr2.test \
 autohdr3.test \
index 6654ca9..b9367bf 100644 (file)
@@ -190,6 +190,7 @@ ar.test \
 ar2.test \
 asm.test \
 asm2.test \
+asm3.test \
 autohdr.test \
 autohdr2.test \
 autohdr3.test \
diff --git a/tests/asm3.test b/tests/asm3.test
new file mode 100755 (executable)
index 0000000..6463f00
--- /dev/null
@@ -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