diff options
-rw-r--r-- | ext/json/config.w32 | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ext/json/config.w32 b/ext/json/config.w32 index 996b86829d..c37d9a9025 100644 --- a/ext/json/config.w32 +++ b/ext/json/config.w32 @@ -5,7 +5,18 @@ ARG_ENABLE("json", "JavaScript Object Serialization support", "yes"); if (PHP_JSON != "no") { EXTENSION('json', 'json.c', PHP_JSON_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); + + if (!FSO.FileExists("ext/json/json_scanner.c")) { + STDOUT.WriteLine("Generating ext/json/json_scanner.c"); + STDOUT.WriteLine(execute(PATH_PROG("re2c") + " -t ext/json/php_json_scanner_defs.h --no-generation-date -bci -o ext/json/json_scanner.c ext/json/json_scanner.re")); + } + if (!FSO.FileExists("ext/json/json_parser.tab.c")) { + STDOUT.WriteLine("Generating ext/json/json_parser.tab.c"); + STDOUT.WriteLine(execute(PATH_PROG("bison") + " --defines -l ext/json/json_parser.y -o ext/json/json_parser.tab.c")); + } + ADD_SOURCES(configure_module_dirname, "json_encoder.c json_parser.tab.c json_scanner.c", "json"); + PHP_INSTALL_HEADERS("ext/json/", "php_json.h"); } |