Skip to content

Releases: redpanda-cpp/mingw-lite

15.2.0-r6

17 Jan 17:59

Choose a tag to compare

TL;DR

For most cases, you can use mingw64-ucrt-15.2.0-r6.tar.zst or .7z.

To enable shared runtime libraries, copy $prefix/lib/shared/* to $prefix/.

To build apps for Windows 11, which forces x86-64-v2 micro architecture level, you can use mingw64_v2-ucrt-15.2.0-r6.tar.zst or .7z for better performance.

Archives

  • mingw<profile>-<version>.tar.zst, .7z: native compiler.
    • These are what you need.
  • x-mingw<profile>-<version>.tar.zst: cross compiler.
    • Running on Ubuntu 24.04 x86-64.
    • For internal use and downstream integration.
  • xmake-mingw<profile>-<version>.7z: Xmake.

Profiles

Main profiles:

Profile Arch CRT Thread Exception Min. OS
64-mcf x86-64 ucrt mcf seh NT 6.1 (7)
64-win32 x86-64 ucrt win32 seh NT 6.0 (Vista)
64-ucrt x86-64 ucrt posix seh NT 5.2 (2003)
64-msvcrt x86-64 msvcrt posix seh NT 5.2 (2003)
32-mcf pentium4 ucrt mcf dwarf NT 6.1 (7)
32-win32 pentium4 ucrt win32 dwarf NT 6.0 (Vista)
32-ucrt pentium4 ucrt posix dwarf NT 5.1 (XP)
32-msvcrt pentium4 msvcrt posix dwarf NT 5.1 (XP)

Profile variants for better performance:

Profile variant Arch CRT Thread Exception Min. OS
64_v2-mcf x86-64-v2 ucrt mcf seh NT 6.1 (7)
64_v2-win32 x86-64-v2 ucrt win32 seh NT 6.0 (Vista)
64_v2-ucrt x86-64-v2 ucrt posix seh NT 5.2 (2003)
64_v2-msvcrt x86-64-v2 msvcrt posix seh NT 5.2 (2003)

Profile variant for earlier Windows versions:

Profile variant Arch CRT Thread Exception Min. OS
32-msvcrt_win2000 pentium4 msvcrt posix dwarf NT 5.0 (2000)
32_686-msvcrt_win98 i686 msvcrt posix dwarf NT 4.0, 4.10 (98)
32_486-msvcrt_win98 i486 msvcrt posix dwarf NT 4.0, 4.10 (98)

Component Versions

  • Binutils: 2.45.1
  • GCC: 15.2.0
  • GDB: 17.1
  • GNU Make: 4.4.1
  • MCF Gthread: 2.1-ga.1
  • MinGW-w64: 13.0.0
  • pkgconf: 2.5.1

Changes Since 15.1.0-r0

15.2.0-r6

  • Upgrade GDB to 17.1.
  • Fix the build logic that causes GCC still links static libgcc when shared libraries exist.
  • Fix GCC’s tooldir for finding Binutils.
    • Previously, invoking GCC without prepending it to PATH would fail (cannot find Binutils); or even worse, “succeeded” with wrong Binutils (from other toolchain in PATH).

15.2.0-r5

BREAKING changes:

  • The __FILE__ macro is now expanded to UTF-8 encoded string.
    • This fixes __FILE__ with -fexec-charset=<whatever>.
    • This MAY break plain printf("%s", __FILE__) without specifying execution charset, which accidentally works without UTF-8 manifest support (i.e. Windows 7).
  • The UTF-8 manifest is now conforming.
    • It is compatible with all Windows versions, and thus is applied to all profiles.
    • This MAY break IDEs that determine the encoding by inspecting the manifest.

Other changes:

  • Restore Windows 9x support.
    • Profile variants *_winnt40 are now migrated to *_win98.
  • Upgrade Binutils to 2.45.1.
  • Workaround GDB step over failure in ostream::operator<< by disabling tail call optimization in affected functions.
  • Add shared runtime libraries (to profiles that target Windows NT ≥ 5.1).
    • The toolchains are kept static by default.
    • To enable shared runtime libraries, copy $prefix/lib/shared/* to $prefix/.
  • Workaround CRT bugs in “double translation” that causes sanity-draining console output (e.g. “版本” → “苞纡柄菌”).
  • With the fix of UTF-8 manifest conformance, the main profiles are now extended to support Windows NT 5.2 (2003) and 5.1 (XP).
    • The profile variant 32-msvcrt_win2000 is now deprecated. It will be kept in current release branches (15, 14, 13) until EOL, and instantly removed in branch 16.

15.2.0-r4

  • Fix GDB XML support.
  • Fix gdbserver listening port display on Windows 2000 or earlier.
  • Fix Binutils error when loading bfd plugins.
  • Fix duplicated files when extracting zstd-compressed tarball with 7z.

15.2.0-r3

  • Make pkgconf default to static link.

15.2.0-r2

  • Add pkgconf (for upcoming library packages).

15.2.0-r1

  • Enable OpenMP.

15.2.0-r0

  • Upgrade GCC to 15.2.0.
  • Upgrade Binutils to 2.45.
  • Enable Fortran support in cross compiler.
  • Reorganize micro architecture.
    • “mingw64_v2” profiles added with -march=x86-64-v2 (sse4.2, 2008) and -O2 (instead of -Os).
    • “mingw32” profiles now built with -march=pentium4 (sse2, 2000) and -mfpmath=sse.
    • “mingw32_686” and “mingw32_486” profiles added with -march=i686 (cmov, 1995) and -march=i486 (atomic, 1989) respectively (legacy OS only).

15.1.0-r3

  • Fix libintl auto-detection failure in Binutils and GNU Make.
  • Upgrade MinGW-w64 to 13.0.0.

15.1.0-r2

  • Restore Windows NT 4.0 support.
  • Fix libintl cache invalidation bug.
  • Xmake is now moved to a separate package.

15.1.0-r1

  • Upgrade MCF Gthread to 2.1-ga.1.
  • Rewrite libintl for Windows to enable NLS for Binutils and GNU Make.
  • The cross compiler is now organized by package.
  • 7z archives are added back.
  • The UTF-8 manifest is added to all executables (that target Windows Vista or later).
  • Xmake is now moved away from the default prefix to lib/xmake. (It will be moved to a separate package in the future.)

14.3.0-r6

17 Jan 18:49

Choose a tag to compare

release 15.2.0-r6, 14.3.0-r6, 13.4.0-r6

13.4.0-r6

17 Jan 18:17

Choose a tag to compare

release 15.2.0-r6, 14.3.0-r6, 13.4.0-r6

16-20260111-r0

13 Jan 09:20

Choose a tag to compare

16-20260111-r0 Pre-release
Pre-release
bump gcc to 16-20260111

15.2.0-r5

08 Dec 12:27

Choose a tag to compare

TL;DR

For most cases, you can use mingw64-ucrt-15.2.0-r5.tar.zst or .7z.

To enable shared runtime libraries, copy $prefix/lib/shared/* to $prefix/.

To build apps for Windows 11, which forces x86-64-v2 micro architecture level, you can use mingw64_v2-ucrt-15.2.0-r5.tar.zst or .7z for better performance.

Archives

  • mingw<profile>-<version>.tar.zst, .7z: native compiler.
    • These are what you need.
  • x-mingw<profile>-<version>.tar.zst: cross compiler.
    • Running on Ubuntu 24.04 x86-64.
    • For internal use and downstream integration.
  • xmake-mingw<profile>-<version>.7z: Xmake.

Profiles

Main profiles:

Profile Arch CRT Thread Exception Min. OS
64-mcf x86-64 ucrt mcf seh NT 6.1 (7)
64-win32 x86-64 ucrt win32 seh NT 6.0 (Vista)
64-ucrt x86-64 ucrt posix seh NT 5.2 (2003)
64-msvcrt x86-64 msvcrt posix seh NT 5.2 (2003)
32-mcf pentium4 ucrt mcf dwarf NT 6.1 (7)
32-win32 pentium4 ucrt win32 dwarf NT 6.0 (Vista)
32-ucrt pentium4 ucrt posix dwarf NT 5.1 (XP)
32-msvcrt pentium4 msvcrt posix dwarf NT 5.1 (XP)

Profile variants for better performance:

Profile variant Arch CRT Thread Exception Min. OS
64_v2-mcf x86-64-v2 ucrt mcf seh NT 6.1 (7)
64_v2-win32 x86-64-v2 ucrt win32 seh NT 6.0 (Vista)
64_v2-ucrt x86-64-v2 ucrt posix seh NT 5.2 (2003)
64_v2-msvcrt x86-64-v2 msvcrt posix seh NT 5.2 (2003)

Profile variant for earlier Windows versions:

Profile variant Arch CRT Thread Exception Min. OS
32-msvcrt_win2000 pentium4 msvcrt posix dwarf NT 5.0 (2000)
32_686-msvcrt_win98 i686 msvcrt posix dwarf NT 4.0, 4.10 (98)
32_486-msvcrt_win98 i486 msvcrt posix dwarf NT 4.0, 4.10 (98)

Component Versions

  • Binutils: 2.45.1
  • GCC: 15.2.0
  • GDB: 16.3
  • GNU Make: 4.4.1
  • MCF Gthread: 2.1-ga.1
  • MinGW-w64: 13.0.0
  • pkgconf: 2.5.1

Changes Since 15.1.0-r0

15.2.0-r5

BREAKING changes:

  • The __FILE__ macro is now expanded to UTF-8 encoded string.
    • This fixes __FILE__ with -fexec-charset=<whatever>.
    • This MAY break plain printf("%s", __FILE__) without specifying execution charset, which accidentally works without UTF-8 manifest support (i.e. Windows 7).
  • The UTF-8 manifest is now conforming.
    • It is compatible with all Windows versions, and thus is applied to all profiles.
    • This MAY break IDEs that determine the encoding by inspecting the manifest.

Other changes:

  • Restore Windows 9x support.
    • Profile variants *_winnt40 are now migrated to *_win98.
  • Upgrade Binutils to 2.45.1.
  • Workaround GDB step over failure in ostream::operator<< by disabling tail call optimization in affected functions.
  • Add shared runtime libraries (to profiles that target Windows NT ≥ 5.1).
    • The toolchains are kept static by default.
    • To enable shared runtime libraries, copy $prefix/lib/shared/* to $prefix/.
  • Workaround CRT bugs in “double translation” that causes sanity-draining console output (e.g. “版本” → “苞纡柄菌”).
  • With the fix of UTF-8 manifest conformance, the main profiles are now extended to support Windows NT 5.2 (2003) and 5.1 (XP).
    • The profile variant 32-msvcrt_win2000 is now deprecated. It will be kept in current release branches (15, 14, 13) until EOL, and instantly removed in branch 16.

15.2.0-r4

  • Fix GDB XML support.
  • Fix gdbserver listening port display on Windows 2000 or earlier.
  • Fix Binutils error when loading bfd plugins.
  • Fix duplicated files when extracting zstd-compressed tarball with 7z.

15.2.0-r3

  • Make pkgconf default to static link.

15.2.0-r2

  • Add pkgconf (for upcoming library packages).

15.2.0-r1

  • Enable OpenMP.

15.2.0-r0

  • Upgrade GCC to 15.2.0.
  • Upgrade Binutils to 2.45.
  • Enable Fortran support in cross compiler.
  • Reorganize micro architecture.
    • “mingw64_v2” profiles added with -march=x86-64-v2 (sse4.2, 2008) and -O2 (instead of -Os).
    • “mingw32” profiles now built with -march=pentium4 (sse2, 2000) and -mfpmath=sse.
    • “mingw32_686” and “mingw32_486” profiles added with -march=i686 (cmov, 1995) and -march=i486 (atomic, 1989) respectively (legacy OS only).

15.1.0-r3

  • Fix libintl auto-detection failure in Binutils and GNU Make.
  • Upgrade MinGW-w64 to 13.0.0.

15.1.0-r2

  • Restore Windows NT 4.0 support.
  • Fix libintl cache invalidation bug.
  • Xmake is now moved to a separate package.

15.1.0-r1

  • Upgrade MCF Gthread to 2.1-ga.1.
  • Rewrite libintl for Windows to enable NLS for Binutils and GNU Make.
  • The cross compiler is now organized by package.
  • 7z archives are added back.
  • The UTF-8 manifest is added to all executables (that target Windows Vista or later).
  • Xmake is now moved away from the default prefix to lib/xmake. (It will be moved to a separate package in the future.)

14.3.0-r5

08 Dec 12:42

Choose a tag to compare

disable host LTO when building shared runtime library

13.4.0-r5

08 Dec 12:55

Choose a tag to compare

disable host LTO when building shared runtime library

16-20251130-r0

01 Dec 08:05

Choose a tag to compare

16-20251130-r0 Pre-release
Pre-release
bump gcc to 16-20251130

16-20251019-r0

20 Oct 14:00

Choose a tag to compare

16-20251019-r0 Pre-release
Pre-release
bump gcc to 16-20251019

15.2.0-r4

01 Oct 18:07

Choose a tag to compare

Quick Links

For most cases, you can use mingw64-ucrt-15.2.0-r4.tar.zst or .7z.

To build apps for Windows 11, which forces x86-64-v2 micro architecture level, you can use mingw64_v2-ucrt-15.2.0-r4.tar.zst or .7z for better performance.

Archives

  • mingw<profile>-<version>.tar.zst, .7z: native compiler.
    • These are what you need.
  • x-mingw<profile>-<version>.tar.zst: cross compiler.
    • Running on Ubuntu 24.04 x86-64.
    • For internal use and downstream integration.
  • xmake-mingw<profile>-<version>.7z: Xmake.
    • Available for the profile variants that target Windows NT < 6.0.

Profiles

Main profiles:

Profile Arch CRT Thread Exception Min. OS
64-mcf x86-64 ucrt mcf seh Windows 7 (NT 6.1)
64-win32 x86-64 ucrt win32 seh Windows Vista (NT 6.0)
64-ucrt x86-64 ucrt posix seh Windows Vista (NT 6.0)
64-msvcrt x86-64 msvcrt posix seh Windows Vista (NT 6.0)
32-mcf pentium4 ucrt mcf dwarf Windows 7 (NT 6.1)
32-win32 pentium4 ucrt win32 dwarf Windows Vista (NT 6.0)
32-ucrt pentium4 ucrt posix dwarf Windows Vista (NT 6.0)
32-msvcrt pentium4 msvcrt posix dwarf Windows Vista (NT 6.0)

Profile variants for better performance:

Profile variant Arch CRT Thread Exception Min. OS
64_v2-mcf x86-64-v2 ucrt mcf seh Windows 7 (NT 6.1)
64_v2-win32 x86-64-v2 ucrt win32 seh Windows Vista (NT 6.0)
64_v2-ucrt x86-64-v2 ucrt posix seh Windows Vista (NT 6.0)
64_v2-msvcrt x86-64-v2 msvcrt posix seh Windows Vista (NT 6.0)

Profile variant for earlier Windows versions:

Profile variant Arch CRT Thread Exception Min. OS
32-msvcrt_win2000 pentium4 msvcrt posix dwarf Windows 2000 (NT 5.0)
32_686-msvcrt_winnt40 i686 msvcrt posix dwarf Windows NT 4.0
32_486-msvcrt_winnt40 i486 msvcrt posix dwarf Windows NT 4.0

Component Versions

  • Binutils: 2.45
  • GCC: 15.2.0
  • GDB: 16.3
  • GNU Make: 4.4.1
  • MCF Gthread: 2.1-ga.1
  • MinGW-w64: 13.0.0
  • pkgconf: 2.5.1

Changes Since 15.1.0-r0

15.2.0-r4

  • Fix GDB XML support.
  • Fix gdbserver listening port display on Windows 2000 or earlier.
  • Fix Binutils error when loading bfd plugins.
  • Fix duplicated files when extracting zstd-compressed tarball with 7z.

15.2.0-r3

  • Make pkgconf default to static link.

15.2.0-r2

  • Add pkgconf (for upcoming library packages).

15.2.0-r1

  • Enable OpenMP.

15.2.0-r0

  • Upgrade GCC to 15.2.0.
  • Upgrade Binutils to 2.45.
  • Enable Fortran support in cross compiler.
  • Reorganize micro architecture.
    • “mingw64_v2” profiles added with -march=x86-64-v2 (sse4.2, 2008) and -O2 (instead of -Os).
    • “mingw32” profiles now built with -march=pentium4 (sse2, 2000) and -mfpmath=sse.
    • “mingw32_686” and “mingw32_486” profiles added with -march=i686 (cmov, 1995) and -march=i486 (atomic, 1989) respectively (legacy OS only).

15.1.0-r3

  • Fix libintl auto-detection failure in Binutils and GNU Make.
  • Upgrade MinGW-w64 to 13.0.0.

15.1.0-r2

  • Restore Windows NT 4.0 support.
  • Fix libintl cache invalidation bug.
  • Xmake is now moved to a separate package.

15.1.0-r1

  • Upgrade MCF Gthread to 2.1-ga.1.
  • Rewrite libintl for Windows to enable NLS for Binutils and GNU Make.
  • The cross compiler is now organized by package.
  • 7z archives are added back.
  • The UTF-8 manifest is added to all executables (that target Windows Vista or later).
  • Xmake is now moved away from the default prefix to lib/xmake. (It will be moved to a separate package in the future.)