emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MinGW build on master fails with Error 127


From: Óscar Fuentes
Subject: Re: MinGW build on master fails with Error 127
Date: Sat, 24 Dec 2022 16:31:57 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Sat, 24 Dec 2022 15:18:02 +0100
>> Cc: emacs-devel@gnu.org
>> From: Loreno Heer <helohe@bluewin.ch>
>> 
>> I did and if I understand it correctly they basically say that they did
>> some change but it is now up to emacs to change the build behavior:
>> 
>> https://github.com/msys2/MINGW-packages/issues/14573#issuecomment-1364532147
>
> Are you building Emacs on Windows 7?  If yes, I understand what they
> are saying: that MinGW64 no longer supports Windows 7.

Please note that MinGW-w64 and MSYS2 (which includes MINGW-packages) are
different projects. MSYS2 builds, packages and distributes MinGW-w64.
MSYS2 decided to bump _WIN32_WINNT in our build scripts, which has
implications for Emacs (see below) but that's independent of what
MinGW-w64 actually, officially supports.

> If you build on a later version of Windows, then I don't understand
> what they are saying:
>
>   As examples mentioned on #14452 illustrate, a package can support
>   Win7 fine but if we say to its build system that we target >Win7 the
>   resulting binary may be incompatible with Win7. This means in
>   practice that Emacs (or any other software) can't rely on using our
>   packages as runtime dependencies for supporting Win7.

I wrote the text you quote above, so I'll explain.

Some packages (including the MinGW-w64 runtime) implement compile-time
conditionals for preferring certain APIs over others depending on the
target OS version. So once we start distributing binary packages built
with the bumped _WIN32_WINNT value, some Emacs dependencies may fail to
run on Windows 7.

Which is basically what you say here:

> Emacs will support MS-Windows versions as old as Windows 9X, as long
> as the MinGW headers and runtime support those versions.  If your
> MinGW supports only Windows versions newer than some version N, then
> Emacs cannot magically overcome this limitation, and will also support
> only versions of Windows newer than N.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]