Skip to content

Commit

Permalink
maint: fix the generation of the synclines for bison's parser.
Browse files Browse the repository at this point in the history
* tests/bison.in: Import from master the changes that make
this script generate synclines that are independant of the
builddir/srcdir user's set up.
  • Loading branch information
akimd committed May 6, 2012
1 parent 45aab21 commit db0054f
Showing 1 changed file with 34 additions and 2 deletions.
36 changes: 34 additions & 2 deletions tests/bison.in
Expand Up @@ -17,7 +17,39 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

abs_top_srcdir='@abs_top_srcdir@'
abs_top_builddir='@abs_top_builddir@'
: ${PERL=perl}

# 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).
for i
do
case $i in
*/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\.}{"parse-gram.}g;' \
-e 's{".*/(parse-gram\.y)"}{"$1"}g;' \
y.tab.[ch]
fi
;;
esac
done

exit $status

# Local Variables:
# mode: shell-script
# End:

0 comments on commit db0054f

Please sign in to comment.