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");
+	}
+}
+
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.