Adjust synclines in src/parse-gram.[ch].

* tests/bison.in: Do some magic (including working around issues
	with ylwrap) when this wrapper is used to compile
	src/parse-gram.y.
This commit is contained in:
Akim Demaille
2009-09-03 14:10:17 +02:00
parent 82db7cdb69
commit f4c75eaf2a
4 changed files with 152 additions and 113 deletions

View File

@@ -2,7 +2,39 @@
# @configure_input@
# Wrapper around a non installed bison to make it work as an installed one.
abs_top_srcdir='@abs_top_srcdir@'
abs_top_builddir='@abs_top_builddir@'
# Use the shipped files, not those installed.
BISON_PKGDATADIR='@abs_top_srcdir@/data'
BISON_PKGDATADIR=$abs_top_srcdir/data
export BISON_PKGDATADIR
exec $PREBISON '@abs_top_builddir@/src/bison' ${1+"$@"}
$PREBISON "$abs_top_builddir/src/bison" ${1+"$@"}
status=$?
# As a special dark magic, if we are actually using this wrapper to
# compile Bison's src/parse-gram.y, post-process the synclines to
# avoid dependencies on the user's set up (srcdir vs. builddir).
PERL=perl
for i
do
case $i in
*/src/parse-gram.y)
if $PERL --version >/dev/null; then
# We are called by ylwrap which still uses y.tab.*, and
# post-processes the synclines on y.tab.c itself. Don't let it
# do it. Besides, it leaves "parse-gram.y" as the source,
# dropping the src/ part.
perl -pi -e 's{"y\.tab\.}{"src/parse-gram.}g;' \
-e 's{".*/(parse-gram\.y)"}{"src/$1"}g;' \
y.tab.[ch]
fi
;;
esac
done
exit $status
# Local Variables:
# mode: shell-script
# End: