skeeto / w64devkit

Portable C and C++ Development Kit for x64 (and x86) Windows
The Unlicense
2.66k stars 185 forks source link

Windows XP 64-bit #106

Open WindowsRocks opened 5 months ago

WindowsRocks commented 5 months ago

The newest versions are broken on Windows XP 64-bit. I do see a build for Windows XP 32-bit and I was wondering if a separate build could be made for Windows XP 64-bit. Perhaps for at least several releases of w64devkit. Windows XP is getting old at this point and I don't expect it to be supported forever.

I say a separate build for Windows XP 64-bit because it's possible that fixing the main 64-bit build might cause problems for newer versions of Windows.

WindowsRocks commented 5 months ago

I'd assume that since there's a build for 32-bit Windows XP that a build for 64-bit Windows XP would be doable. Both versions would have the same APIs.

skeeto commented 5 months ago

I don't feel Windows XP x64 is important enough to warrant disabling features in the standard build nor to produce a dedicated official build. However, it is simple build one yourself. You need the second and third hunks from src/variant-i686.patch. The first targets Windows XP when building w64devkit itself (--with-default-win32-winnt=0x0501), and the second disables GCC's UTF-8 manifest. Apply those two changes to your Dockerfile then build w64devkit the normal way.

$ cp src/variant-i686.patch xp-x64.patch $ vi xp-x64.patch # delete all hunks except 2nd and 3rd $ patch -p1 <xp-x64.patch $ docker build -t xp-x64 . $ docker run --rm xp-x64 >w64devkit-xp-x64.zip