1// $Id$ 2// vim:ft=javascript 3 4ARG_ENABLE("json", "JavaScript Object Serialization support", "yes"); 5 6if (PHP_JSON != "no") { 7 EXTENSION('json', 'json.c', PHP_JSON_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); 8 9 if (!FSO.FileExists("ext/json/json_scanner.c")) { 10 STDOUT.WriteLine("Generating ext/json/json_scanner.c"); 11 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")); 12 } 13 if (!FSO.FileExists("ext/json/json_parser.tab.c")) { 14 STDOUT.WriteLine("Generating ext/json/json_parser.tab.c"); 15 STDOUT.WriteLine(execute(PATH_PROG("bison") + " --defines -l ext/json/json_parser.y -o ext/json/json_parser.tab.c")); 16 } 17 18 ADD_SOURCES(configure_module_dirname, "json_encoder.c json_parser.tab.c json_scanner.c", "json"); 19 20 ADD_MAKEFILE_FRAGMENT(); 21 22 PHP_INSTALL_HEADERS("ext/json/", "php_json.h php_json_parser.h php_json_scanner.h"); 23} 24