| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 
ARG_WITH("v8js", "for V8 Javascript Engine", "no");function v8js_zeroPad(num, places) {  var zero = places - num.toString().length + 1;  return Array(+(zero > 0 && zero)).join("0") + num;}if (PHP_V8JS != "no") {	if (CHECK_LIB("winmm.lib", "v8js") &&			CHECK_HEADER_ADD_INCLUDE("v8.h", "CFLAGS_V8JS")) {		ADD_FLAG("CFLAGS_V8JS", "/EHcs");		ADD_FLAG("CFLAGS_V8JS", "/D _ALLOW_KEYWORD_MACROS");		ADD_FLAG("CFLAGS_V8JS", "/D __STDC_LIMIT_MACROS");		// defaults		var v8major = 5;		var v8minor = 8;		var v8build = 301;		var v8patch = 0;		var v8pinc = search_paths("v8-version.h", php_usual_include_suspects, null);		if (typeof(v8pinc) == "string") {			var v8versionh = file_get_contents(v8pinc + '\\v8-version.h');			if (v8versionh.match(/#define V8_MAJOR_VERSION ([0-9]*)/i)) {				v8major = RegExp.$1;			}			if (v8versionh.match(/#define V8_MINOR_VERSION ([0-9]*)/i)) {				v8minor = RegExp.$1;			}			if (v8versionh.match(/#define V8_BUILD_NUMBER ([0-9]*)/i)) {				v8build = RegExp.$1;			}			if (v8versionh.match(/#define V8_PATCH_LEVEL ([0-9]*)/i)) {				v8patch = RegExp.$1;			}		} else {			WARNING("Could not parse v8-version.h");		}		var v8api = v8major + v8js_zeroPad(v8minor, 3) + v8js_zeroPad(v8build, 3);		var v8ver = v8major + "." + v8minor + "." + v8build + "." + v8patch;		if (v8api >= 5005000) {			CHECK_LIB("v8.dll.lib", "v8js");			CHECK_LIB("v8_libplatform.dll.lib", "v8js");			CHECK_LIB("v8_libbase.dll.lib", "v8js");			ADD_FLAG("CFLAGS_V8JS", "/D BUILDING_V8_PLATFORM_SHARED");			// #define _STRING_ to disable #include <string> in v8-platform.h and avoid			// C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string(671):			//   error C2143: syntax error: missing ';' before 'namespace'			//   (compiling source file ext\v8js\v8js_v8.cc)			ADD_FLAG("CFLAGS_V8JS", "/D _STRING_");		} else if (v8api >= 5002000) {			CHECK_LIB("v8.dll.lib", "v8js");			// created by 'cd obj\v8_libplatform && lib /out:v8_libplatform.lib *.obj'			CHECK_LIB("v8_libplatform.lib", "v8js");			// created by 'cd obj\v8_libbase && lib /out:v8_libbase.lib *.obj'			CHECK_LIB("v8_libbase.lib", "v8js");		} else {			CHECK_LIB("v8.lib", "v8js");			CHECK_LIB("v8_libplatform.lib", "v8js");			CHECK_LIB("v8_libbase.lib", "v8js");		}		if (v8api >= 5003000) {			// For SymLoadModule64 e.a.			// #include <dbghelp.h> in src\base\win32-headers.h			// Adds dependency on dbghelp.dll			CHECK_LIB("dbghelp.lib", "v8js");		}		if (v8api >= 5004000) {			// For PathRemoveFileSpecW in v8_libbase.lib(stack_trace_win)			CHECK_LIB("Shlwapi.lib", "v8js");		}		AC_DEFINE("PHP_V8_API_VERSION", v8api, "", false);		AC_DEFINE("PHP_V8_VERSION", v8ver, "", true);		// AC_DEFINE("PHP_V8_EXEC_PATH", "C:\\php\\bin\\v8.dll", "", true);		EXTENSION("v8js", "v8js_array_access.cc v8js_class.cc v8js_commonjs.cc v8js_convert.cc v8js_exceptions.cc v8js_generator_export.cc v8js_main.cc v8js_methods.cc v8js_object_export.cc v8js_timer.cc v8js_v8.cc v8js_v8object_class.cc v8js_variables.cc", "yes");		ADD_FLAG("CFLAGS_BD_EXT_V8JS", "/D ZEND_WIN32_KEEP_INLINE=1 /U ZEND_WIN32_FORCE_INLINE");	} else {		WARNING("v8js not enabled, headers or libs not found");	}}
 |