mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-19 09:13:04 +00:00
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:
12
ChangeLog
12
ChangeLog
@@ -1,3 +1,15 @@
|
|||||||
|
2008-10-30 Joel E. Denny <jdenny@ces.clemson.edu>
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
2008-10-29 Joel E. Denny <jdenny@ces.clemson.edu>
|
2008-10-29 Joel E. Denny <jdenny@ces.clemson.edu>
|
||||||
|
|
||||||
* gnulib: Update submodule to HEAD.
|
* gnulib: Update submodule to HEAD.
|
||||||
|
|||||||
@@ -267,7 +267,9 @@ compute_file_name_parts (void)
|
|||||||
if (spec_file_prefix)
|
if (spec_file_prefix)
|
||||||
{
|
{
|
||||||
/* If --file-prefix=foo was specified, ALL_BUT_TAB_EXT = `foo'. */
|
/* 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);
|
all_but_tab_ext = xstrdup (spec_file_prefix);
|
||||||
}
|
}
|
||||||
else if (yacc_flag)
|
else if (yacc_flag)
|
||||||
|
|||||||
@@ -23,9 +23,11 @@ AT_BANNER([[Output file names.]])
|
|||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
m4_define([AT_CHECK_OUTPUT],
|
m4_define([AT_CHECK_OUTPUT],
|
||||||
[AT_SETUP([[Output files: $2 $3 $5]])
|
[AT_SETUP([[Output files: $2 $3 $5]])
|
||||||
case "$1" in
|
for file in $1 $4; do
|
||||||
*/*) mkdir `echo "$1" | sed 's,/.*,,'`;;
|
case "$file" in
|
||||||
esac
|
*/*) mkdir -p `echo "$file" | sed 's,/.*,,'`;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
AT_DATA([$1],
|
AT_DATA([$1],
|
||||||
[[$2
|
[[$2
|
||||||
%%
|
%%
|
||||||
@@ -116,6 +118,11 @@ AT_CHECK_OUTPUT([subdir/foo.yy], [%skeleton "lalr1.cc" %defines %verbose],
|
|||||||
[subdir/foo.cc subdir/foo.hh subdir/foo.output subdir/location.hh subdir/stack.hh subdir/position.hh],
|
[subdir/foo.cc subdir/foo.hh subdir/foo.output subdir/location.hh subdir/stack.hh subdir/position.hh],
|
||||||
[], [AT_CHECK_NO_SUBDIR_PART([subdir/foo])])
|
[], [AT_CHECK_NO_SUBDIR_PART([subdir/foo])])
|
||||||
|
|
||||||
|
AT_CHECK_OUTPUT([gram_dir/foo.yy],
|
||||||
|
[%skeleton "lalr1.cc" %defines %verbose %file-prefix "output_dir/foo"],
|
||||||
|
[],
|
||||||
|
[output_dir/foo.tab.cc output_dir/foo.tab.hh output_dir/foo.output output_dir/location.hh output_dir/stack.hh output_dir/position.hh])
|
||||||
|
|
||||||
|
|
||||||
# AT_CHECK_CONFLICTING_OUTPUT(INPUT-FILE, DIRECTIVES, FLAGS, STDERR,
|
# AT_CHECK_CONFLICTING_OUTPUT(INPUT-FILE, DIRECTIVES, FLAGS, STDERR,
|
||||||
# [EXIT-STATUS])
|
# [EXIT-STATUS])
|
||||||
|
|||||||
Reference in New Issue
Block a user