From 76c445dd1d975bb88e9153b8527cac6aa3c58534 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 9 May 2001 00:03:31 +0000 Subject: [PATCH] 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. --- ChangeLog | 6 ++++ automake.in | 29 ++++++++++++++----- tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/asm.test | 73 +++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 103 insertions(+), 7 deletions(-) create mode 100755 tests/asm.test diff --git a/ChangeLog b/ChangeLog index d6eb22de..ab6886c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2001-05-08 Tom Tromey + 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: diff --git a/automake.in b/automake.in index d8aa76c1..91b12155 100755 --- a/automake.in +++ b/automake.in @@ -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 { diff --git a/tests/Makefile.am b/tests/Makefile.am index cc0fa2ea..881d77bc 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -24,6 +24,7 @@ ansi.test \ ansi2.test \ ansi3.test \ ansi4.test \ +asm.test \ auxdir.test \ backsl.test \ backsl2.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 50f3d11c..dc5e675b 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -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 index 00000000..3d816895 --- /dev/null +++ b/tests/asm.test @@ -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 -- 2.43.5