Win32: Remove support for original MinGW

The original MinGW distribution appears to no longer be maintained and
should not be used.  Anyone still using MinGW should consider switching
to the MinGW-w64 fork or another actively maintained toolchain.
MinGW-w64 supports 64-bit binaries and provides much newer compilers and
Win32 headers.

Fixes #2540
This commit is contained in:
Camilla Löwy
2024-04-04 17:00:46 +02:00
parent 506c11ba43
commit d1b87143bc
12 changed files with 27 additions and 2885 deletions

View File

@@ -36,9 +36,9 @@ specific to GLFW. It may be a useful companion to this one.
### Installing dependencies {#compile_deps}
The C/C++ development environments in Visual Studio, Xcode and MinGW come with
all necessary dependencies for compiling GLFW, but on Unix-like systems like
Linux and FreeBSD you will need a few extra packages.
The C/C++ development environments in Visual Studio, Xcode and MinGW-w64 come
with all necessary dependencies for compiling GLFW, but on Unix-like systems
like Linux and FreeBSD you will need a few extra packages.
#### Dependencies for Wayland and X11 {#compile_deps_wayland}
@@ -180,7 +180,7 @@ cd path/to/build
make
```
With MinGW, it is `mingw32-make`.
With MinGW-w64, it is `mingw32-make`.
```sh
cd path/to/build
@@ -299,12 +299,12 @@ library. This option is only available when compiling for Linux and other Unix-
systems other than macOS. This is enabled by default.
## Cross-compilation with CMake and MinGW {#compile_mingw_cross}
## Cross-compilation with CMake and MinGW-w64 {#compile_mingw_cross}
Both Cygwin and many Linux distributions have MinGW or MinGW-w64 packages. For
example, Cygwin has the `mingw64-i686-gcc` and `mingw64-x86_64-gcc` packages
for 32- and 64-bit version of MinGW-w64, while Debian GNU/Linux and derivatives
like Ubuntu have the `mingw-w64` package for both.
Both Cygwin and many Linux distributions have MinGW-w64 packages. For example,
Cygwin has the `mingw64-i686-gcc` and `mingw64-x86_64-gcc` packages for 32- and
64-bit version of MinGW-w64, while Debian GNU/Linux and derivatives like Ubuntu
have the `mingw-w64` package for both.
GLFW has CMake toolchain files in the `CMake` subdirectory that set up
cross-compilation of Windows binaries. To use these files you set the
@@ -315,9 +315,9 @@ configuring and generating the build files.
cmake -S path/to/glfw -B path/to/build -D CMAKE_TOOLCHAIN_FILE=path/to/file
```
The exact toolchain file to use depends on the prefix used by the MinGW or
MinGW-w64 binaries on your system. You can usually see this in the /usr
directory. For example, both the Ubuntu and Cygwin MinGW-w64 packages have
The exact toolchain file to use depends on the prefix used by the MinGW-w64
binaries on your system. You can usually see this in the /usr directory. For
example, both the Ubuntu and Cygwin MinGW-w64 packages have
`/usr/x86_64-w64-mingw32` for the 64-bit compilers, so the correct invocation
would be:

View File

@@ -621,11 +621,11 @@ The format of the string is as follows:
- The names of the always supported context creation APIs EGL and OSMesa
- Any additional compile-time options, APIs and (on Windows) what compiler was used
For example, compiling GLFW 3.5 with MinGW as a DLL for Windows, may result in a version string
like this:
For example, compiling GLFW 3.5 with MinGW-64 as a DLL for Windows, may result
in a version string like this:
```c
3.5.0 Win32 WGL Null EGL OSMesa MinGW DLL
3.5.0 Win32 WGL Null EGL OSMesa MinGW-w64 DLL
```
Compiling GLFW as a static library for Linux, with both Wayland and X11 enabled, may

View File

@@ -20,6 +20,15 @@ this.
## Removals {#removals}
### Original MinGW support has been removed {#original_mingw}
Support for the now unmaintained original MinGW distribution has been removed.
This does not apply to the much more capable [MinGW-w64](https://www.mingw-w64.org/),
which remains fully supported. MinGW-w64 can build both 32- and 64-bit binaries, is
actively maintained and available on many platforms.
## New symbols {#new_symbols}
### New functions {#new_functions}