From: Alexandre Duret-Lutz Date: Sun, 10 Oct 2004 15:35:09 +0000 (+0000) Subject: * automake.in (Languages): Split .s (asm) and .S (cppasm) into X-Git-Tag: Release-1-9b~285 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee0d3a5233e53d46323cc2ba8cc5bf74f1679375;p=thirdparty%2Fautomake.git * automake.in (Languages): Split .s (asm) and .S (cppasm) into separate languages. Make cppasm (Preprocessed Assembler) aware of CPPFLAGS, AM_CPPFLAGS. (handle_languages): Fix typo. (lang_cppasm_rewrite): New function. --- diff --git a/ChangeLog b/ChangeLog index 7e406e47d..dd396a044 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2004-10-10 Ralf Corsepius + + * automake.in (Languages): Split .s (asm) and .S (cppasm) into + separate languages. Make cppasm (Preprocessed Assembler) aware + of CPPFLAGS, AM_CPPFLAGS. + (handle_languages): Fix typo. + (lang_cppasm_rewrite): New function. + 2004-09-29 Alexandre Duret-Lutz * tests/subobj9.test: Adjust regexes after previous patch. diff --git a/NEWS b/NEWS index 6b57038b1..385122bd1 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ New in 1.9a: - The rebuild rules for distributed Yacc and Lex output will avoid overwriting existing files if AM_MAINTAINER_MODE and maintainer-mode is not enabled. + + - Preprocessed assembler (*.S) compilation now honnor CPPFLAGS, + AM_CPPFLAGS and per-target _CPPFLAGS, unlike non-preprocessed + assembler (*.s). New in 1.9: diff --git a/automake.in b/automake.in index 2a17076bf..d10118ab9 100755 --- a/automake.in +++ b/automake.in @@ -801,12 +801,28 @@ register_language ('name' => 'asm', 'config_vars' => ['CCAS', 'CCASFLAGS'], 'flags' => ['CCASFLAGS'], - # Users can set AM_ASFLAGS to includes DEFS, INCLUDES, - # or anything else required. They can also set AS. + # Users can set AM_CCASFLAGS to include DEFS, INCLUDES, + # or anything else required. They can also set CCAS. 'compile' => '$(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)', 'compiler' => 'CCASCOMPILE', 'compile_flag' => '-c', - 'extensions' => ['.s', '.S'], + 'extensions' => ['.s'], + + # With assembly we still use the C linker. + '_finish' => \&lang_c_finish); + +# Preprocessed Assembler. +register_language ('name' => 'cppasm', + 'Name' => 'Preprocessed Assembler', + 'config_vars' => ['CCAS', 'CCASFLAGS'], + + 'flags' => ['CCASFLAGS','CPPFLAGS'], + # Users can set AM_ASFLAGS to include DEFS, INCLUDES, + # or anything else required. They can also set CCAS. + 'compile' => '$(CCAS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)', + 'compiler' => 'CPPASCOMPILE', + 'compile_flag' => '-c', + 'extensions' => ['.S'], # With assembly we still use the C linker. '_finish' => \&lang_c_finish); @@ -1386,7 +1402,7 @@ sub handle_languages %transform, %lang); # If the source to a program consists entirely of code from a - # `pure' language, for instance C++ for Fortran 77, then we + # `pure' language, for instance C++ or Fortran 77, then we # don't need the C compiler code. However if we run into # something unusual then we do generate the C code. There are # probably corner cases here that do not work properly. @@ -5190,6 +5206,12 @@ sub lang_asm_rewrite return &lang_sub_obj; } +# Rewrite a single preprocessed assembly file. +sub lang_cppasm_rewrite +{ + return &lang_sub_obj; +} + # Rewrite a single Fortran 77 file. sub lang_f77_rewrite {