mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
22c249347e
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.
37 lines
1.1 KiB
Bash
Executable File
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
|