php-src/genfiles
Peter Kokot 22c249347e Remove ext/json parser files generated by bison
The parser files for ext/json are generated by bison from the *.y file.
Parser files in Zend and sapi/phpdbg already follow such approach of
these files being ignored from tracking in the Git repository and they
are shipped via the release packages later on. This way the end users
still don't need to have bison dependency installed to install PHP.

The genfiles script was refactored to generate the ext/json parser and
lexer files.
2018-10-24 20:13:04 +02:00

37 lines
1.1 KiB
Bash
Executable File

#! /bin/sh
if [ -z $YACC ]; then
YACC="bison"
fi
YACC="$YACC -y -l"
if [ -z $RE2C ]; then
RE2C="re2c"
fi
# Generate Zend parser and lexer files
STD="make -f Zend/Makefile.frag RE2C='$RE2C' RE2C_FLAGS='-i' YACC='$YACC' srcdir=Zend builddir=Zend top_srcdir=."
(eval "$STD Zend/zend_language_parser.c Zend/zend_language_scanner.c Zend/zend_ini_parser.c Zend/zend_ini_scanner.c")
# Generate phpdbg parser and lexer files
STD="make -f sapi/phpdbg/Makefile.frag RE2C='$RE2C' RE2C_FLAGS='-i' YACC='$YACC' srcdir=sapi/phpdbg builddir=sapi/phpdbg top_srcdir=."
(eval "$STD sapi/phpdbg/phpdbg_parser.c sapi/phpdbg/phpdbg_lexer.c")
# Generate json parser and lexer files
STD="make -f ext/json/Makefile.frag RE2C='$RE2C' RE2C_FLAGS='-i' YACC='$YACC' srcdir=ext/json builddir=ext/json top_srcdir=."
(eval "$STD ext/json/json_parser.tab.c ext/json/json_scanner.c")
set -x
CLEANUP_FILES=" \
ext/pdo/pdo_sql_parser.c \
ext/date/lib/parse_date.c \
ext/standard/url_scanner_ex.c \
ext/standard/var_unserializer.c \
"
for f in $CLEANUP_FILES; do
cp $f $f.orig
grep -v '#line ' $f.orig > $f
done