On 31.12.2020 21:31, Martin Storsjö wrote:
On Thu, 31 Dec 2020, Jacek Caban wrote:

Yes, but the critical part is the very first sentence, which says that 'you can specify which versions of Windows your code can run on.'. Note the difference between *can* and *need*. When using mingw-w64 with its defaults, you essentially *need* to do that if you're working on a modern application. That article is about changing the value, not about the meaning of its default value. The current difference between 'can' and 'need' comes from toolchain defaults and all we need to do to be precisely compatible with mentioned documentation is to change the default to win10, like authors of this documentation did in their SDK.

Fair enough, yes, that's a correct distinction to make here I guess.

I guess that was the core part of my doubts regarding this, so with that cleared, I won't object to this change.

I still think there's a risk that it'll break (or more subtly, affect) a handful of projects (I need to revisit VLC's configure, for instance), so some general headsup to e.g. the msys2 project probably is warranted though.


FWIW, I think that the attached patch should do the right thing on VLC (but I don't really have setup to test it). If I'd choose the way to handle it myself, I'd set it always to win10 and have separated macro like VLC_MIN_WIN32 which I'd use internally, but current use should be perfectly fine with something like the patch.


It sounds lime msys2 will not be affected. I don't mind waiting with committing this patch if helps. I only think that it would be good to commit relatively early in release cycle so that we have time to address feedback.


I also faintly remember somebody suggesting that we'd formally drop support for XP altogether.


FWIW, that sounds about right to me, but I didn't want to make this change about dropping XP support. I guess that what we're missing is some form of discussion and formalizing it, if that's the consensus.

Yeah, that's probably a separate discussion. And before doing it, I guess we should quantify what we actually gain from it, instead of just doing it for the sake of doing it. Being able to rely on more features in msvcrt.dll (for setups that use it) probably would be one thing.


I'd be tempted to consider defaulting to UCRT, but I realize that it has serious compatibility implications. If we decided to do it, it would make msvcrt.dll setup much less important (and maybe even a way to keep optional compatibility with older Windows). It seems to me that llvm-mingw is successful defaulting to UCRT, do you think it makes sense for upstream default?


Thanks,

Jacek

diff --git a/configure.ac b/configure.ac
index 96e47b1969..45b26bf8f7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -264,11 +264,6 @@ case "${host_os}" in
     AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
       [[#ifdef _WIN32_WINNT
        # error _WIN32_WINNT already defined
-       #else
-       # include <windows.h>
-       # if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0601
-       #  error _WIN32_WINNT toolchain default high enough
-       # endif
        #endif
       ]],[[;]])
     ],[
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to