From 5b9d7160c519a6d49a9d703a20c9c6104cd3b0bf Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Fri, 18 Nov 2016 18:19:47 +0100 Subject: [PATCH] don't fail miserably, when an unknown vc version is used --- win32/build/confutils.js | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/win32/build/confutils.js b/win32/build/confutils.js index 33771f05ad..d68655b59d 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -2610,9 +2610,20 @@ function toolset_setup_compiler() ERROR("Unsupported MS C++ Compiler, VC11 (2011) minimum is required"); } - AC_DEFINE('COMPILER', COMPILER_NAME, "Detected compiler version"); - DEFINE("PHP_COMPILER_SHORT", VC_VERSIONS_SHORT[VCVERS]); - AC_DEFINE('PHP_COMPILER_ID', VC_VERSIONS_SHORT[VCVERS], "Compiler compatibility ID"); + if (undefined == COMPILER_NAME) { + var tmp = probe_binary(PHP_CL); + COMPILER_NAME = "MSVC " + tmp + ", untested"; + + WARNING("Using unknown MSVC version " + tmp); + + AC_DEFINE('COMPILER', COMPILER_NAME, "Detected compiler version"); + DEFINE("PHP_COMPILER_SHORT", tmp); + AC_DEFINE('PHP_COMPILER_ID', tmp, "Compiler compatibility ID"); + } else { + AC_DEFINE('COMPILER', COMPILER_NAME, "Detected compiler version"); + DEFINE("PHP_COMPILER_SHORT", VC_VERSIONS_SHORT[VCVERS]); + AC_DEFINE('PHP_COMPILER_ID', VC_VERSIONS_SHORT[VCVERS], "Compiler compatibility ID"); + } } else if (CLANG_TOOLSET) { CLANGVERS = COMPILER_NUMERIC_VERSION; @@ -2732,8 +2743,15 @@ function toolset_get_compiler_name() var version; if (VS_TOOLSET) { + var name = undefined; + version = probe_binary(PHP_CL).substr(0, 5).replace('.', ''); - return VC_VERSIONS[version]; + + if (undefined != VC_VERSIONS[version]) { + name = VC_VERSIONS[version]; + } + + return name; } else if (CLANG_TOOLSET || ICC_TOOLSET) { var command = 'cmd /c ""' + PHP_CL + '" -v"'; var full = execute(command + '" 2>&1"'); -- 2.50.0