I working on the subobj2 dir issue. This is unrelated, just on the way :)
Index: ChangeLog
from Akim Demaille <[EMAIL PROTECTED]>
* automake.in (Language): Set config_vars for yacc, yaccxx, lex,
lexxx, asm.
(&lang_c_finish, &lang_yacc_finish, &lang_lex_finish): Simplify.
(&lang_asm_finish): Remove, set asm's finisher to C's one.
Index: automake.in
--- automake.in Wed, 09 May 2001 20:15:15 +0200 akim (am/f/39_automake.i 1.266.1.5 755)
+++ automake.in Sat, 12 May 2001 10:44:57 +0200 akim (am/f/39_automake.i 1.266.1.5 755)
@@ -858,11 +858,13 @@ sub initialize_per_input ()
register_language ('name' => 'yacc',
'Name' => 'Yacc',
'ansi' => 1,
+ 'config_vars' => ['YACC'],
'derived_autodep' => 'yes',
'extensions' => ['y'],
'_finish' => \&lang_yacc_finish);
register_language ('name' => 'yaccxx',
'Name' => 'Yacc (C++)',
+ 'config_vars' => ['YACC'],
'linker' => 'CXXLINK',
'derived_autodep' => 'yes',
'extensions' => ['y++', 'yy', 'yxx', 'ypp'],
@@ -872,11 +874,13 @@ sub initialize_per_input ()
register_language ('name' => 'lex',
'Name' => 'Lex',
'ansi' => 1,
+ 'config_vars' => ['LEX'],
'derived_autodep' => 'yes',
'extensions' => ['l'],
'_finish' => \&lang_lex_finish);
register_language ('name' => 'lexxx',
'Name' => 'Lex (C++)',
+ 'config_vars' => ['LEX'],
'linker' => 'CXXLINK',
'derived_autodep' => 'yes',
'extensions' => ['l++', 'll', 'lxx', 'lpp'],
@@ -885,6 +889,8 @@ sub initialize_per_input ()
# Assembler.
register_language ('name' => 'asm',
'Name' => 'Assembler',
+ 'config_vars' => ['AS', 'ASFLAGS'],
+
'flags' => 'ASFLAGS',
# Users can set AM_ASFLAGS to includes DEFS, INCLUDES,
# or anything else required. They can also set AS.
@@ -892,7 +898,9 @@ sub initialize_per_input ()
'compiler' => 'ASCOMPILE',
'compile_flag' => '-c',
'extensions' => ['s', 'S'],
- '_finish' => \&lang_asm_finish);
+
+ # With assembly we still use the C linker.
+ '_finish' => \&lang_c_finish);
# Fortran 77
register_language ('name' => 'f77',
@@ -1610,12 +1618,10 @@ sub handle_languages
foreach my $var (@{$lang->config_vars})
{
- if (!exists $configure_vars{$var})
- {
- am_error ($lang->Name
- . " source seen but `$var' not defined in"
- . " `$configure_ac'");
- }
+ am_error ($lang->Name
+ . " source seen but `$var' not defined in"
+ . " `$configure_ac'")
+ if !exists $configure_vars{$var};
}
# The compiler's flag must be a configure variable.
@@ -4999,29 +5005,8 @@ sub lang_c_finish
# Use a sneaky little hack to make it print nicely.
&pretty_print_rule ('', '', @objects, ':', '$(ANSI2KNR)');
}
-
- if (! defined $configure_vars{'CC'})
- {
- # FIXME: line number.
- &am_error ("C source seen but `CC' not defined in `$configure_ac'");
- }
}
-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
@@ -5087,10 +5072,6 @@ sub lang_yacc_finish
}
$output_rules .= "\n";
- if (! defined $configure_vars{'YACC'})
- {
- &am_error ("yacc source seen but `YACC' not defined in `$configure_ac'");
- }
if (&variable_defined ('YACCFLAGS'))
{
&am_line_error ('YACCFLAGS',
@@ -5130,10 +5111,6 @@ sub lang_lex_finish
push (@maintainer_clean_files, "${1}.${cname}");
}
- if (! defined $configure_vars{'LEX'})
- {
- &am_error ("lex source seen but `LEX' not defined in `$configure_ac'");
- }
if (! $seen_decl_yytext)
{
&am_error ("lex source seen but `AC_DECL_YYTEXT' not in `$configure_ac'");