Skip to content

Commit ffab987

Browse files
authored
Update MSVC compiler version detection (#14810)
As of Visual Studio 2015, the major version of the compiler (`cl.exe`) is 19, and the minor version increases by steps of 10. However, the latest Visual Studio 2022 release has the version `19.40`, so that Visual Studio version is not properly detected. This is not a big deal regarding the reported compiler version (`php -v` etc.), but the filenames of the builds would no longer match the expectations (instead of `vs17` there is now `19.40.33811` or another build number). This implies that the files would have to be renamed manually to be properly handled by windows.php.net (or that code would have to be adapted). Therefore we update the version detection to detect all versions < 1950 as Visual Studio 2022, assuming that "For major releases, the minor version increases by 10."[1] still holds in the future. [1] <https://learn.microsoft.com/en-us/cpp/overview/compiler-versions?view=msvc-170#visual-studio-2017-and-later>
1 parent ae42053 commit ffab987

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

win32/build/confutils.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3104,7 +3104,7 @@ function toolset_get_compiler_name(short)
31043104

31053105
version = probe_binary(PHP_CL).substr(0, 5).replace('.', '');
31063106

3107-
if (version >= 1940) {
3107+
if (version >= 1950) {
31083108
return name;
31093109
} else if (version >= 1930) {
31103110
name = short ? "VS17" : "Visual C++ 2022";

0 commit comments

Comments
 (0)