-
Notifications
You must be signed in to change notification settings - Fork 7.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop support for building with old Visual Studio versions #15403
Conversation
`MSC_VER` 1900 refers to Visual Studio 2015[1], and this should be the bare minimum which we support nowadays. If users use an older Visual Studio version, we fail gracefully during `configure`. [1] <https://learn.microsoft.com/en-us/cpp/overview/compiler-versions?view=msvc-170>
`MSC_VER` 1910 refers to Visual Studio 2017 RTW[1], and this should be the bare minimum which we support nowadays. If users use an older Visual Studio version, we fail gracefully during `configure`. [1] <https://learn.microsoft.com/en-us/cpp/overview/compiler-versions?view=msvc-170>
`MSC_VER` 1920 refers to Visual Studio 2019 RTW 16.0[1], and this should be the bare minimum which we support nowadays. If users use an older Visual Studio version, we fail gracefully during `configure`. [1] <https://learn.microsoft.com/en-us/cpp/overview/compiler-versions?view=msvc-170>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This makes sense to me
Oh, just noticed that I forgot to clean up php-src/win32/build/confutils.js Lines 3107 to 3125 in 794ba29
There might be more. I'll have a closer look. |
Indeed, need to check all |
D'oh! That opens up a can of worms, and is probably better adressed on its own (probably multiple PRs). |
…name() Since we error out in `toolset_get_compiler_version()` now, there is even no more need to raise an error here.
The first commit requires users to have at least Visual Studio 2015; the second commit raises that to Visual Studio 2017 RTW; the third commit even raises that to Visual Studio 2019 RTW 16.0.
Note that building with Visual Studio 2017 15.9.64 (latest version) fails on
php-src/ext/bcmath/libbcmath/src/convert.h
Line 22 in d100caa
because the
restrict
keyword is not supported. Thus, if we still want to support Visual Studio 2017, we would need to fix this (and maybe more; I haven't done a full snapshot build).However, I think we should (or even need to) raise the bar even further. Builds with Visual Studio 2019 16.11.38 (latest version) appear to work flawlessly, but I'm not sure whether somewhat older Visual Studio 2019 versions would work (and I don't think I can test this since going back to older Visual Studio 2019 version is impossible, to my knowledge; you don't need to update, but you can't install an older version).
For details regarding the versioning details, see https://learn.microsoft.com/en-us/cpp/overview/compiler-versions?view=msvc-170.