]> git.saurik.com Git - bison.git/blobdiff - tests/bison.in
grammar: free the association tracking graph
[bison.git] / tests / bison.in
index 5d609bf50e42f715da8f9772661bf102d50856b6..5c5881f773a00c15758d20cfb82f9c2529500f7f 100644 (file)
@@ -2,7 +2,7 @@
 # @configure_input@
 # Wrapper around a non installed bison to make it work as an installed one.
 
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 
 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
 export BISON_PKGDATADIR
+
 $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;'   \
+      # We are called by ylwrap which (if it's an old version) 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\.[chy])"}{"src/$1"}g;'       \
+                -e 's{GRAM_Y_TAB_H}{GRAM_SRC_PARSE_GRAM_H}g;'           \
            y.tab.[ch]
     fi
     ;;