From 2fde3afffb5c20ffca896de913436f72d6c30e01 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Fri, 2 Dec 2022 11:56:40 +1100 Subject: [PATCH 1/5] ext/json: add php_json_scanner_defs.h as make target To prevent build failures like: make: *** No rule to make target '/code/master/ext/json/php_json_scanner_defs.h', needed by 'ext/json/json_scanner.lo'. Stop. --- ext/json/Makefile.frag | 4 ++-- ext/json/Makefile.frag.w32 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/json/Makefile.frag b/ext/json/Makefile.frag index f5fe3c33065..d9b8f1349a5 100644 --- a/ext/json/Makefile.frag +++ b/ext/json/Makefile.frag @@ -1,5 +1,5 @@ -$(srcdir)/json_scanner.c: $(srcdir)/json_scanner.re +$(srcdir)/json_scanner.c $(srcdir)/php_json_scanner_defs.h: $(srcdir)/json_scanner.re $(srcdir)/json_parser.tab.h @$(RE2C) $(RE2C_FLAGS) -t $(srcdir)/php_json_scanner_defs.h --no-generation-date -bci -o $@ $(srcdir)/json_scanner.re -$(srcdir)/json_parser.tab.c: $(srcdir)/json_parser.y +$(srcdir)/json_parser.tab.c $(srcdir)/json_parser.tab.h: $(srcdir)/json_parser.y @$(YACC) $(YFLAGS) --defines -l $(srcdir)/json_parser.y -o $@ diff --git a/ext/json/Makefile.frag.w32 b/ext/json/Makefile.frag.w32 index 1463eda70b7..75250626dce 100644 --- a/ext/json/Makefile.frag.w32 +++ b/ext/json/Makefile.frag.w32 @@ -1,5 +1,5 @@ -ext\json\json_scanner.c: ext\json\json_scanner.re +ext\json\json_scanner.c ext\json\php_json_scanner_defs.h: ext\json\json_scanner.re ext\json\json_parser.tab.h $(RE2C) $(RE2C_FLAGS) -t ext/json/php_json_scanner_defs.h --no-generation-date -bci -o ext/json/json_scanner.c ext/json/json_scanner.re -ext\json\json_parser.tab.c: ext\json\json_parser.y +ext\json\json_parser.tab.c ext\json\json_parser.tab.h: ext\json\json_parser.y $(BISON) --defines -l ext/json/json_parser.y -o ext/json/json_parser.tab.c From e83cda0887f8f9a243b42eb4e808b45c5f138cf8 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Fri, 2 Dec 2022 13:37:40 +1100 Subject: [PATCH 2/5] ext/Zend: zend_language_scanner_defs.h as make target --- Zend/Makefile.frag | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/Makefile.frag b/Zend/Makefile.frag index 1e0dc92803d..054a63bf60a 100644 --- a/Zend/Makefile.frag +++ b/Zend/Makefile.frag @@ -5,7 +5,7 @@ $(builddir)/zend_language_scanner.lo: $(srcdir)/zend_language_parser.h $(builddir)/zend_ini_scanner.lo: $(srcdir)/zend_ini_parser.h -$(srcdir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l +$(srcdir)/zend_language_scanner.c $(srcdir)/zend_language_scanner_defs.h: $(srcdir)/zend_language_scanner.l @(cd $(top_srcdir); $(RE2C) $(RE2C_FLAGS) --no-generation-date --case-inverted -cbdFt Zend/zend_language_scanner_defs.h -oZend/zend_language_scanner.c Zend/zend_language_scanner.l) $(srcdir)/zend_language_parser.h: $(srcdir)/zend_language_parser.c From 2b3fa5edacea1af3bf6e915d65d8d36ac5e26689 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Tue, 6 Dec 2022 09:26:46 +1100 Subject: [PATCH 3/5] zend win32 RE2C header files to Make targets and generated_files like zend_ini_parser.h, list zend_ini_scanner_defs.h and zend_language_scanner_defs.h. Add all these files to generated_files so they don't get missed. --- win32/build/Makefile | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/win32/build/Makefile b/win32/build/Makefile index 9d063549113..64dc71660a0 100644 --- a/win32/build/Makefile +++ b/win32/build/Makefile @@ -59,14 +59,17 @@ all: generated_files $(EXT_TARGETS) $(PECL_TARGETS) $(SAPI_TARGETS) build_dirs: $(BUILD_DIR) $(BUILD_DIRS_SUB) $(BUILD_DIR_DEV) !if $(RE2C) == "" -generated_files: build_dirs Zend\zend_ini_parser.c \ +generated_files: build_dirs \ + Zend\zend_ini_parser.c Zend\zend_ini_parser.h \ Zend\zend_language_parser.c \ sapi\phpdbg\phpdbg_parser.c \ $(PHPDEF) $(MCFILE) !else -generated_files: build_dirs Zend\zend_ini_parser.c \ - Zend\zend_language_parser.c Zend\zend_ini_scanner.c \ - Zend\zend_language_scanner.c \ +generated_files: build_dirs \ + Zend\zend_ini_parser.c Zend\zend_ini_parser.h \ + Zend\zend_language_parser.c \ + Zend\zend_ini_scanner.c Zend\zend_ini_scanner_defs.h \ + Zend\zend_language_scanner.c Zend\zend_language_scanner_defs.h \ sapi\phpdbg\phpdbg_parser.c sapi\phpdbg\phpdbg_lexer.c \ $(PHPDEF) $(MCFILE) !endif @@ -87,10 +90,10 @@ sapi\phpdbg\phpdbg_parser.c sapi\phpdbg\phpdbg_parser.h: sapi\phpdbg\phpdbg_pars $(BISON) --output=sapi/phpdbg/phpdbg_parser.c -v -d sapi/phpdbg/phpdbg_parser.y !if $(RE2C) != "" -Zend\zend_ini_scanner.c: Zend\zend_ini_scanner.l +Zend\zend_ini_scanner.c Zend\zend_ini_scanner_defs.h: Zend\zend_ini_scanner.l $(RE2C) $(RE2C_FLAGS) --no-generation-date --case-inverted -cbdFt Zend/zend_ini_scanner_defs.h -oZend/zend_ini_scanner.c Zend/zend_ini_scanner.l -Zend\zend_language_scanner.c: Zend\zend_language_scanner.l +Zend\zend_language_scanner.c Zend\zend_language_scanner_defs.h: Zend\zend_language_scanner.l $(RE2C) $(RE2C_FLAGS) --no-generation-date --case-inverted -cbdFt Zend/zend_language_scanner_defs.h -oZend/zend_language_scanner.c Zend/zend_language_scanner.l sapi\phpdbg\phpdbg_lexer.c: sapi\phpdbg\phpdbg_lexer.l From 4f731fa2ecd646e8792b18c0ea0ac1e24e8ee561 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Fri, 17 Feb 2023 15:55:55 +0000 Subject: [PATCH 4/5] Fix php_json_scanner_defs.h target in ext/json/Makefile.frag --- ext/json/Makefile.frag | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/json/Makefile.frag b/ext/json/Makefile.frag index d9b8f1349a5..45687a11b7b 100644 --- a/ext/json/Makefile.frag +++ b/ext/json/Makefile.frag @@ -1,5 +1,5 @@ $(srcdir)/json_scanner.c $(srcdir)/php_json_scanner_defs.h: $(srcdir)/json_scanner.re $(srcdir)/json_parser.tab.h - @$(RE2C) $(RE2C_FLAGS) -t $(srcdir)/php_json_scanner_defs.h --no-generation-date -bci -o $@ $(srcdir)/json_scanner.re + @$(RE2C) $(RE2C_FLAGS) -t $(srcdir)/php_json_scanner_defs.h --no-generation-date -bci -o $(srcdir)/json_scanner.c $(srcdir)/json_scanner.re $(srcdir)/json_parser.tab.c $(srcdir)/json_parser.tab.h: $(srcdir)/json_parser.y - @$(YACC) $(YFLAGS) --defines -l $(srcdir)/json_parser.y -o $@ + @$(YACC) $(YFLAGS) --defines -l $(srcdir)/json_parser.y -o $(srcdir)/json_parser.tab.c From a9e4f5184412013c973224530c78281a7a2a8dfb Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Fri, 17 Feb 2023 16:36:43 +0000 Subject: [PATCH 5/5] Update NEWS with scanner and parser build fixes --- NEWS | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/NEWS b/NEWS index 9cc8620f9f5..7bb57d67e97 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,7 @@ PHP NEWS . Fixed bug GH-10437 (Segfault/assertion when using fibers in shutdown function after bailout). (trowski) . Fixed SSA object type update for compound assignment opcodes. (nielsdos) + . Fixed language scanner generation build. (Daniel Black) - Curl: . Fixed deprecation warning at compile time. (Max Kellermann) @@ -30,6 +31,10 @@ PHP NEWS . Fixed bug GH-10315 (FPM unknown child alert not valid). (Jakub Zelenka) . Fixed bug GH-10385 (FPM successful config test early exit). (nielsdos) +- JSON: + . Fixed JSON scanner and parser generation build. + (Daniel Black, Jakub Zelenka) + - Opcache: . Fix incorrect page_size check. (nielsdos)