summaryrefslogtreecommitdiff
path: root/ext/json/config.w32
blob: 82e470f2eec4b002d3ae85092c542e0cb461a047 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// vim:ft=javascript

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");

	ADD_MAKEFILE_FRAGMENT();

	PHP_INSTALL_HEADERS("ext/json/", "php_json.h php_json_parser.h php_json_scanner.h");
}