com php-src: implement basic binary tools sdk version check: win32/build/buildconf.js win32/build/confutils.js
[email protected] (Anatol Belski)
| Newsgroups | php.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: e0f68ae1441bac063e2a72b980f1ddfee596ea25 Author: Anatol Belski <[email protected]> Fri, 31 Mar 2017 01:36:19 +0200 Parents: 695f29b7d5622d89b2b2e667acf556f13c274f99 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=e0f68ae1441bac063e2a72b980f1ddfee596ea25 Log: implement basic binary tools sdk version check Changed paths: M win32/build/buildconf.js M win32/build/confutils.js Diff: diff --git a/win32/build/buildconf.js b/win32/build/buildconf.js index b7e964e..dc2a656 100644 --- a/win32/build/buildconf.js +++ b/win32/build/buildconf.js @@ -244,6 +244,8 @@ for (i = 0; i < calls.length; i++) { } C.WriteBlankLines(1); +C.WriteLine("check_binary_tools_sdk();"); +C.WriteBlankLines(1); C.WriteLine("STDOUT.WriteLine(\"PHP Version: \" + PHP_VERSION_STRING);"); C.WriteLine("STDOUT.WriteBlankLines(1);"); C.WriteLine("conf_process_args();"); @@ -257,4 +259,5 @@ C.WriteBlankLines(1); C.Write(file_get_contents("win32/build/configure.tail")); B.WriteLine("@echo off"); -B.WriteLine("cscript /nologo configure.js %*"); \ No newline at end of file +B.WriteLine("cscript /nologo configure.js %*"); + diff --git a/win32/build/confutils.js b/win32/build/confutils.js index 4560895..4db2a7c 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -3345,3 +3345,23 @@ function SETUP_OPENSSL(target, path_to_check, common_name, use_env, add_dir_part return ret; } +function check_binary_tools_sdk() +{ + var BIN_TOOLS_SDK_VER_MAJOR = 0; + var BIN_TOOLS_SDK_VER_MINOR = 0; + var BIN_TOOLS_SDK_VER_PATCH = 0; + + var out = execute("cmd /c phpsdk_version"); + + if (out.match(/PHP SDK (\d+)\.(\d+)\.(\d+).*/)) { + BIN_TOOLS_SDK_VER_MAJOR = parseInt(RegExp.$1); + BIN_TOOLS_SDK_VER_MINOR = parseInt(RegExp.$2); + BIN_TOOLS_SDK_VER_PATCH = parseInt(RegExp.$3); + } + + /* Basic test, extend by need. */ + if (BIN_TOOLS_SDK_VER_MAJOR < 2) { + ERROR("Incompatible binary tools version. Please consult https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2"); + } +} +