]> granicus.if.org Git - php/commitdiff
generate missing json files from config.w32
authorAnatol Belski <ab@php.net>
Mon, 9 Feb 2015 09:12:26 +0000 (10:12 +0100)
committerAnatol Belski <ab@php.net>
Mon, 9 Feb 2015 09:12:26 +0000 (10:12 +0100)
ext/json/config.w32

index 996b86829dee20e9682e6d2c01f1887c64f1e82e..c37d9a9025edac26aae68bbc3399e33f97026e91 100644 (file)
@@ -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");
 }