2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
+ Fix bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and
+ $(FLAGS) precedence.
+ * automake.in: Fix registration of languages "Lex", "Lex (C++)",
+ "Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over
+ $(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS).
+ * tests/Makefile.am (XFAIL_TESTS): Updated accordingly.
+ * NEWS: Updated.
+
New tests, exposing bugs in Automake Yacc/Lex support w.r.t.
$(AM_FLAGS) and $(FLAGS) precedence.
* tests/lflags.test: New test, check that user $(LFLAGS) takes
* Long standing bugs:
+ - Automake variables $(AM_LFLAGS) and $(AM_YFLAGS) took precedence over
+ user variables $(FLAGS) and $(YFLAGS) (respectively). This was in
+ contrast with both reasonable user's expectations and the Automake
+ manual; so the precedence is now the other way round.
+
- On Darwin 9, `pythondir' and `pyexecdir' pointed below `/Library/Python'
even if the `--prefix' argument pointed outside of a system directory.
AM_PATH_PYTHON has been fixed to ignore the value returned from python's
'Name' => 'Yacc',
'config_vars' => ['YACC'],
'flags' => ['YFLAGS'],
- 'compile' => '$(YACC) $(YFLAGS) $(AM_YFLAGS)',
+ 'compile' => '$(YACC) $(AM_YFLAGS) $(YFLAGS)',
'ccer' => 'YACC',
'compiler' => 'YACCCOMPILE',
'extensions' => ['.y'],
'flags' => ['YFLAGS'],
'ccer' => 'YACC',
'compiler' => 'YACCCOMPILE',
- 'compile' => '$(YACC) $(YFLAGS) $(AM_YFLAGS)',
+ 'compile' => '$(YACC) $(AM_YFLAGS) $(YFLAGS)',
'extensions' => ['.y++', '.yy', '.yxx', '.ypp'],
'output_extensions' => sub { (my $ext = $_[0]) =~ tr/y/c/;
return ($ext,) },
'config_vars' => ['LEX'],
'rule_file' => 'lex',
'flags' => ['LFLAGS'],
- 'compile' => '$(LEX) $(LFLAGS) $(AM_LFLAGS)',
+ 'compile' => '$(LEX) $(AM_LFLAGS) $(LFLAGS)',
'ccer' => 'LEX',
'compiler' => 'LEXCOMPILE',
'extensions' => ['.l'],
'config_vars' => ['LEX'],
'rule_file' => 'lex',
'flags' => ['LFLAGS'],
- 'compile' => '$(LEX) $(LFLAGS) $(AM_LFLAGS)',
+ 'compile' => '$(LEX) $(AM_LFLAGS) $(LFLAGS)',
'ccer' => 'LEX',
'compiler' => 'LEXCOMPILE',
'extensions' => ['.l++', '.ll', '.lxx', '.lpp'],