win: drop support for the legacy MinGW (#4645)

The OG MinGW has been dead for years, MinGW-w64 has taken its place.
This commit is contained in:
Saúl Ibarra Corretgé 2024-12-12 15:59:30 +01:00 committed by GitHub
parent 7752218db2
commit 16e6e84dcc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 32 additions and 97 deletions

View File

@ -11,7 +11,7 @@
| z/OS | Tier 2 | >= V2R2 | Maintainers: @libuv/zos | | z/OS | Tier 2 | >= V2R2 | Maintainers: @libuv/zos |
| Linux with musl | Tier 2 | musl >= 1.0 | | | Linux with musl | Tier 2 | musl >= 1.0 | |
| Android | Tier 3 | NDK >= r15b | Android 7.0, `-DANDROID_PLATFORM=android-24` | | Android | Tier 3 | NDK >= r15b | Android 7.0, `-DANDROID_PLATFORM=android-24` |
| MinGW | Tier 3 | MinGW32 and MinGW-w64 | | | MinGW | Tier 3 | MinGW-w64 | |
| SunOS | Tier 3 | Solaris 121 and later | | | SunOS | Tier 3 | Solaris 121 and later | |
| Other | Tier 3 | N/A | | | Other | Tier 3 | N/A | |

View File

@ -32,14 +32,6 @@ typedef intptr_t ssize_t;
#include <winsock2.h> #include <winsock2.h>
#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
typedef struct pollfd {
SOCKET fd;
short events;
short revents;
} WSAPOLLFD, *PWSAPOLLFD, *LPWSAPOLLFD;
#endif
#ifndef LOCALE_INVARIANT #ifndef LOCALE_INVARIANT
# define LOCALE_INVARIANT 0x007f # define LOCALE_INVARIANT 0x007f
#endif #endif

View File

@ -4150,40 +4150,35 @@ typedef struct _FILE_STAT_BASIC_INFORMATION {
} FILE_STAT_BASIC_INFORMATION; } FILE_STAT_BASIC_INFORMATION;
#endif #endif
/* MinGW already has a definition for REPARSE_DATA_BUFFER, but mingw-w64 does typedef struct _REPARSE_DATA_BUFFER {
* not. ULONG ReparseTag;
*/ USHORT ReparseDataLength;
#if defined(_MSC_VER) || defined(__MINGW64_VERSION_MAJOR) USHORT Reserved;
typedef struct _REPARSE_DATA_BUFFER { union {
ULONG ReparseTag; struct {
USHORT ReparseDataLength; USHORT SubstituteNameOffset;
USHORT Reserved; USHORT SubstituteNameLength;
union { USHORT PrintNameOffset;
struct { USHORT PrintNameLength;
USHORT SubstituteNameOffset; ULONG Flags;
USHORT SubstituteNameLength; WCHAR PathBuffer[1];
USHORT PrintNameOffset; } SymbolicLinkReparseBuffer;
USHORT PrintNameLength; struct {
ULONG Flags; USHORT SubstituteNameOffset;
WCHAR PathBuffer[1]; USHORT SubstituteNameLength;
} SymbolicLinkReparseBuffer; USHORT PrintNameOffset;
struct { USHORT PrintNameLength;
USHORT SubstituteNameOffset; WCHAR PathBuffer[1];
USHORT SubstituteNameLength; } MountPointReparseBuffer;
USHORT PrintNameOffset; struct {
USHORT PrintNameLength; UCHAR DataBuffer[1];
WCHAR PathBuffer[1]; } GenericReparseBuffer;
} MountPointReparseBuffer; struct {
struct { ULONG StringCount;
UCHAR DataBuffer[1]; WCHAR StringList[1];
} GenericReparseBuffer; } AppExecLinkReparseBuffer;
struct { };
ULONG StringCount; } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
WCHAR StringList[1];
} AppExecLinkReparseBuffer;
};
} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
#endif
typedef struct _IO_STATUS_BLOCK { typedef struct _IO_STATUS_BLOCK {
union { union {
@ -4661,15 +4656,6 @@ typedef NTSTATUS (NTAPI *sNtQueryInformationProcess)
# define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1 # define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1
#endif #endif
#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
typedef struct _OVERLAPPED_ENTRY {
ULONG_PTR lpCompletionKey;
LPOVERLAPPED lpOverlapped;
ULONG_PTR Internal;
DWORD dwNumberOfBytesTransferred;
} OVERLAPPED_ENTRY, *LPOVERLAPPED_ENTRY;
#endif
/* from wincon.h */ /* from wincon.h */
#ifndef ENABLE_INSERT_MODE #ifndef ENABLE_INSERT_MODE
# define ENABLE_INSERT_MODE 0x20 # define ENABLE_INSERT_MODE 0x20

View File

@ -154,47 +154,6 @@ typedef struct _AFD_RECV_INFO {
#define IOCTL_AFD_POLL \ #define IOCTL_AFD_POLL \
_AFD_CONTROL_CODE(AFD_POLL, METHOD_BUFFERED) _AFD_CONTROL_CODE(AFD_POLL, METHOD_BUFFERED)
#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
typedef struct _IP_ADAPTER_UNICAST_ADDRESS_XP {
/* FIXME: __C89_NAMELESS was removed */
/* __C89_NAMELESS */ union {
ULONGLONG Alignment;
/* __C89_NAMELESS */ struct {
ULONG Length;
DWORD Flags;
};
};
struct _IP_ADAPTER_UNICAST_ADDRESS_XP *Next;
SOCKET_ADDRESS Address;
IP_PREFIX_ORIGIN PrefixOrigin;
IP_SUFFIX_ORIGIN SuffixOrigin;
IP_DAD_STATE DadState;
ULONG ValidLifetime;
ULONG PreferredLifetime;
ULONG LeaseLifetime;
} IP_ADAPTER_UNICAST_ADDRESS_XP,*PIP_ADAPTER_UNICAST_ADDRESS_XP;
typedef struct _IP_ADAPTER_UNICAST_ADDRESS_LH {
union {
ULONGLONG Alignment;
struct {
ULONG Length;
DWORD Flags;
};
};
struct _IP_ADAPTER_UNICAST_ADDRESS_LH *Next;
SOCKET_ADDRESS Address;
IP_PREFIX_ORIGIN PrefixOrigin;
IP_SUFFIX_ORIGIN SuffixOrigin;
IP_DAD_STATE DadState;
ULONG ValidLifetime;
ULONG PreferredLifetime;
ULONG LeaseLifetime;
UINT8 OnLinkPrefixLength;
} IP_ADAPTER_UNICAST_ADDRESS_LH,*PIP_ADAPTER_UNICAST_ADDRESS_LH;
#endif
int uv__convert_to_localhost_if_unspecified(const struct sockaddr* addr, int uv__convert_to_localhost_if_unspecified(const struct sockaddr* addr,
struct sockaddr_storage* storage); struct sockaddr_storage* storage);

View File

@ -1329,9 +1329,7 @@ TEST_IMPL(environment_creation) {
} }
} }
if (prev) { /* verify sort order */ if (prev) { /* verify sort order */
#if !defined(__MINGW32__) || defined(__MINGW64_VERSION_MAJOR)
ASSERT_EQ(1, CompareStringOrdinal(prev, -1, str, -1, TRUE)); ASSERT_EQ(1, CompareStringOrdinal(prev, -1, str, -1, TRUE));
#endif
} }
ASSERT(found); /* verify that we expected this variable */ ASSERT(found); /* verify that we expected this variable */
} }
@ -1524,7 +1522,7 @@ TEST_IMPL(spawn_setuid_fails) {
init_process_options("spawn_helper1", fail_cb); init_process_options("spawn_helper1", fail_cb);
options.flags |= UV_PROCESS_SETUID; options.flags |= UV_PROCESS_SETUID;
/* On IBMi PASE, there is no root user. User may grant /* On IBMi PASE, there is no root user. User may grant
* root-like privileges, including setting uid to 0. * root-like privileges, including setting uid to 0.
*/ */
#if defined(__PASE__) #if defined(__PASE__)
@ -1575,7 +1573,7 @@ TEST_IMPL(spawn_setgid_fails) {
init_process_options("spawn_helper1", fail_cb); init_process_options("spawn_helper1", fail_cb);
options.flags |= UV_PROCESS_SETGID; options.flags |= UV_PROCESS_SETGID;
/* On IBMi PASE, there is no root user. User may grant /* On IBMi PASE, there is no root user. User may grant
* root-like privileges, including setting gid to 0. * root-like privileges, including setting gid to 0.
*/ */
#if defined(__MVS__) || defined(__PASE__) #if defined(__MVS__) || defined(__PASE__)