]> sourceware.org Git - automake.git/commitdiff
Fix for PR automake/36:
authorTom Tromey <tromey@redhat.com>
Wed, 9 May 2001 00:03:31 +0000 (00:03 +0000)
committerTom Tromey <tromey@redhat.com>
Wed, 9 May 2001 00:03:31 +0000 (00:03 +0000)
* tests/Makefile.am (TESTS): Added asm.test.
* tests/asm.test: New file.
* automake.in (asm): Use ASFLAGS and AS.
(lang_asm_finish): New sub.

ChangeLog
automake.in
tests/Makefile.am
tests/Makefile.in
tests/asm.test [new file with mode: 0755]

index d6eb22dea656f1605efa630807b05db0fb5b19db..ab6886c296d7814857264e62335b860dd01eb007 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2001-05-08  Tom Tromey  <tromey@redhat.com>
 
+       Fix for PR automake/36:
+       * tests/Makefile.am (TESTS): Added asm.test.
+       * tests/asm.test: New file.
+       * automake.in (asm): Use ASFLAGS and AS.
+       (lang_asm_finish): New sub.
+
        * automake.in (read_am_file): Removed debugging code.
 
        For PR automake/149:
index d8aa76c1858a87b0e1ed05fcfdf9fbf0d4265833..91b1215569dc789010ea242ebaadd98dcb866bde 100755 (executable)
@@ -888,15 +888,14 @@ register_language ('name' => 'lexxx',
 # Assembler.
 register_language ('name' => 'asm',
                   'Name' => 'Assembler',
-                  'flags' => 'CFLAGS',
-                  # FIXME: asmflags?
-                  'compile' => '$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)',
-                  # FIXME: a different compiler?
-                  'compiler' => 'COMPILE',
+                  'flags' => 'ASFLAGS',
+                  # Users can set AM_ASFLAGS to includes DEFS, INCLUDES,
+                  # or anything else required.  They can also set AS.
+                  'compile' => '$(AS) $(AM_ASFLAGS) $(ASFLAGS)',
+                  'compiler' => 'ASCOMPILE',
                   'compile_flag' => '-c',
                   'extensions' => ['s', 'S'],
-                  # We need the C code for assembly.
-                  '_finish' => \&lang_c_finish);
+                  '_finish' => \&lang_asm_finish);
 
 # Fortran 77
 register_language ('name' => 'f77',
@@ -5213,6 +5212,22 @@ sub lang_c_finish
     }
 }
 
+sub lang_asm_finish
+{
+    if (! defined $configure_vars{'AS'})
+    {
+       &am_error ("assembly source seen but `AS' not defined");
+    }
+
+    if (! defined $configure_vars{'ASFLAGS'})
+    {
+       &am_error ("assembly source seen but `ASFLAGS' not defined in `$configure_ac'");
+    }
+
+    # Also use the C code, since with assembly we still use the C linker.
+    &lang_c_finish;
+}
+
 # This is a helper for both lex and yacc.
 sub yacc_lex_finish_helper
 {
index cc0fa2ea27b08c0827b622f76ec2f467da8745df..881d77bca1bc80e5622316c3f8e5fb511c034347 100644 (file)
@@ -24,6 +24,7 @@ ansi.test \
 ansi2.test \
 ansi3.test \
 ansi4.test \
+asm.test \
 auxdir.test \
 backsl.test \
 backsl2.test \
index 50f3d11c0ee2c5d4da87b9b87b5f9c5cf8485d65..dc5e675b148b8ade1f20a62d456047e3ad6317f0 100644 (file)
@@ -97,6 +97,7 @@ ansi.test \
 ansi2.test \
 ansi3.test \
 ansi4.test \
+asm.test \
 auxdir.test \
 backsl.test \
 backsl2.test \
diff --git a/tests/asm.test b/tests/asm.test
new file mode 100755 (executable)
index 0000000..3d81689
--- /dev/null
@@ -0,0 +1,73 @@
+#! /bin/sh
+
+# Test of basic assembly functionality
+
+. $srcdir/defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_ARG_PROGRAM
+AC_PROG_INSTALL
+AC_PROG_MAKE_SET
+AC_SUBST(ASFLAGS)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = maude
+maude_SOURCES = maude.s
+END
+
+: > maude.s
+
+# Should fail because we need cc and as.
+echo 1
+$AUTOMAKE && exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_ARG_PROGRAM
+AC_PROG_INSTALL
+AC_PROG_MAKE_SET
+AC_PROG_CC
+AC_SUBST(ASFLAGS)
+AC_OUTPUT(Makefile)
+END
+
+# We still need as.
+echo 2
+$AUTOMAKE && exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_ARG_PROGRAM
+AC_PROG_INSTALL
+AC_PROG_MAKE_SET
+AS='$(CC)'
+AC_SUBST(AS)
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+# We need ASFLAGS.
+echo 3
+$AUTOMAKE && exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_ARG_PROGRAM
+AC_PROG_INSTALL
+AC_PROG_MAKE_SET
+AS='$(CC)'
+AC_SUBST(AS)
+AC_PROG_CC
+AC_SUBST(ASFLAGS)
+AC_OUTPUT(Makefile)
+END
+
+echo 4
+$AUTOMAKE
This page took 0.04373 seconds and 5 git commands to generate.