Always put auxiliary code files in the same dir as other output files.

* src/files.c (compute_file_name_parts): When the user specifies
--output but not --file-prefix, extract the directory prefix from the
file prefix not from the grammar file name.  This affects the location
of files like location.hh generated by the C++ skeleton.  The includes
in the other output files require this fix.
* tests/output.at (AT_CHECK_OUTPUT): Automatically create directories
for expected output files.
(Output files): Add a test for the above.
This commit is contained in:
Joel E. Denny
2008-10-30 15:35:01 -04:00
parent 4af432ba25
commit cae5057f47
3 changed files with 25 additions and 4 deletions

View File

@@ -267,7 +267,9 @@ compute_file_name_parts (void)
if (spec_file_prefix)
{
/* If --file-prefix=foo was specified, ALL_BUT_TAB_EXT = `foo'. */
dir_prefix = xstrndup (grammar_file, base - grammar_file);
dir_prefix =
xstrndup (spec_file_prefix,
last_component (spec_file_prefix) - spec_file_prefix);
all_but_tab_ext = xstrdup (spec_file_prefix);
}
else if (yacc_flag)