doc: Add documentation about all CRT DLL libraries and download links
Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-doc/howto-build/crt-libraries.txt b/mingw-w64-doc/howto-build/crt-libraries.txt
new file mode 100644
index 0000000..f2cf677
--- /dev/null
+++ b/mingw-w64-doc/howto-build/crt-libraries.txt
@@ -0,0 +1,179 @@
+CRT Libraries Compatibility Table
+
+ i386 i386 i386 i386 i386 i386 i386 i386 i386 i386 i386 i486 i686 i686 i686 i686
+x86-32 crtdll msvcrt10 msvcrt1x msvcrt20 msvcrt2x msvcrt40 msvcrt msvcr70 msvcr71 msvcr80 msvcr90 msvcr100 msvcr110 msvcr120 msvcr120_app api-ms-win-crt-*.dll
+Windows NT 3.1 I R R R R - - - - - - - - - - -
+Windows 3.1/3.11 Win32s 1.1 I RX RX RS - - - - - - - - - - - -
+Windows 3.1/3.11 Win32s 1.30 I RX RX RS - RS - - - - - - - - - -
+Windows NT 3.5 I R R R R R R(5.0) - - - - - - - - -
+Windows NT 3.51 I R R R R R R(6.0) R R - - - - - - -
+Windows 95 I R R R R R R(6.0) R R - - - - - - -
+Windows 95 OSR1 I R R I R R R(6.0) R R - - - - - - -
+Windows 95 OSR2 I R R I R I R(6.0) R R - - - - - - -
+Windows NT 4.0 I R R I R I I(4.2)/R(6.0) R R - - - - - - -
+Windows 98 I R R I R I I(5.0)/R(6.0) R R R - - - - - -
+Windows 98 SE I R R I R I I(6.0) R R R - - - - - -
+Windows ME I R R I R I I(*) R R R - - - - - -
+Windows 2000 I R R I R I I(*) R R R R - - - - -
+Windows XP I R R I R I I(*) R R R R - - - - -
+Windows Server 2003 I R R I R I I(*) R R R R - - - - -
+Windows XP SP2 I R R I R I I(*) R R R R R R R - R(2019/16.7)
+Windows XP x64 / Server 2003 SP1 I R R I R I I(*) R R R R R R R - R(2019/16.7)
+Windows Vista / Server 2008 I R R I R I I(*) R R R R R R R - W
+Windows Server Core 2008 - R R R R I I(*) R R R R R R R - W
+Windows 7 / Server 2008 R2 I R R I R I I(*) R R R R R R R - W
+Windows Server Core 2008 R2 - R R R R I I(*) R R R R R R R - W
+Windows 8 / Server 2012 I R R I R I I(*) R R R R R R R - W
+Windows Server Core 2012 - R R R R I I(*) R R R R R R R - W
+Windows 8.1 / Server 2012 R2 I R R I R I I(*) R R R R R R R R W
+Windows Server Core 2012 R2 - R R R R I I(*) R R R R R R R R W
+Windows 10 / Server 2016/2019/2022 I R R I R I I(*) R R R R R R R R I
+Windows Server Core 2016/2019/2022 - R R R R I I(*) R R R R R R R R I
+Windows 11 / Server 2025 I R R I R I I(*) R R R R R R R R I
+Windows Server Core 2025 - R R R R I I(*) R R R R R R R R I
+
+amd64 crtdll msvcrt10 msvcrt1x msvcrt20 msvcrt2x msvcrt40 msvcrt msvcr70 msvcr71 msvcr80 msvcr90 msvcr100 msvcr110 msvcr120 msvcr120_app api-ms-win-crt-*.dll
+Windows XP x64 / Server 2003 SP1 - - - - - - I(*) - - R R R R R - R(2019/16.7)
+Windows Vista / Server 2008 - - - - - - I(*) - - R R R R R - W
+Windows 7 / Server 2008 R2 - - - - - - I(*) - - R R R R R - W
+Windows 8 / Server 2012 - - - - - - I(*) - - R R R R R - W
+Windows 8.1 / Server 2012 R2 - - - - - - I(*) - - R R R R R R W
+Windows 10 / Server 2016/2019/2022 - - - - - - I(*) - - R R R R R R I
+Windows 11 / Server 2025 - - - - - - I(*) - - R R R R R R I
+
+arm32 crtdll msvcrt10 msvcrt1x msvcrt20 msvcrt2x msvcrt40 msvcrt msvcr70 msvcr71 msvcr80 msvcr90 msvcr100 msvcr110 msvcr120 msvcr120_app api-ms-win-crt-*.dll
+Windows RT 8.0 - - - - - - I(*) - - - - - R R - W
+Windows RT 8.1 - - - - - - I(*) - - - - - R R R W
+Windows 10 - - - - - - I(*) - - - - - R R R I
+Windows 11 (up to 23H2) - - - - - - I(*) - - - - - R R R I
+Windows 11 (24H2 and new) - - - - - - - - - - - - - - - -
+
+arm64 crtdll msvcrt10 msvcrt1x msvcrt20 msvcrt2x msvcrt40 msvcrt msvcr70 msvcr71 msvcr80 msvcr90 msvcr100 msvcr110 msvcr120 msvcr120_app api-ms-win-crt-*.dll
+Windows 10 - - - - - - I(*) - - - - - - - - I
+Windows 11 - - - - - - I(*) - - - - - - - - I
+
+Legend:
+I = included in windows system
+R = available via redistributable package
+W = available via windows update
+X = unstable, single process only, crashes with multiple processes
+S = special Win32s build required
+- = incompatible, cannot be loaded because of missing kernel32.dll symbols, or unavailable for that arch
+I(...) = system version, unspecified means the latest one, (*) means newer version than the last released redistributable version, see mingw-w64 msvcrt.def.in file for more details
+R(...) = highest compatible version
+
+Notes:
+msvcr100.dll and up on x86-32 are using cmpxchg and xadd instructions which require i486+ CPU
+msvcr110.dll and up on x86-32 are using cmov instruction which requires i686+ (Pentium Pro) CPU
+Windows Server Core system variants do not include crtdll.dll and msvcrt20.dll like Full system variants
+Windows 11 24H2 on arm64 dropped support for running arm32 binaries
+
+
+Download links for redistributable CRT libraries:
+
+msvcrt10.dll
+info: https://web.archive.org/web/20071230043653/http://support.microsoft.com/kb/112299
+info: https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/115082
+i386: https://archive.org/download/ms-vc110-pro-nt/MSVCNT.ISO/MSVCNT/BIN/MSVCRT10.DLL
+
+msvcrt1x.dll (Increased File Handle Libraries)
+info: https://web.archive.org/web/20080325074500/http://support.microsoft.com/kb/124519
+i386: https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com/Softlib/MSLFILES/VCNTXF.EXE (unpack MSVCRT1X.DLL)
+
+msvcrt20.dll 2.0
+info: https://web.archive.org/web/20080212191047/http://support.microsoft.com/kb/125476
+i386: https://archive.org/download/ms-vc20/MSVC20.ISO/MSVC20/REDIST/MSVCRT20.DLL
+win32s: https://archive.org/download/ms-vc20/MSVC20.ISO/WIN32S/REDIST/MSVCRT20.DLL
+
+msvcrt20.dll 2.1
+info: https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/166009
+info: https://web.archive.org/web/20080212191047/http://support.microsoft.com/kb/125476
+i386: https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com/Softlib/MSLFILES/MSVCRT.EXE (unpack MSVCRT20.DLL)
+win32s: https://archive.org/download/ms-vc21/MSVC21.ISO/WIN32S/REDIST/MSVCRT20.DLL
+
+msvcrt2x.dll 2.0 (Increased File Handle Libraries)
+info: https://web.archive.org/web/20080325074051/http://support.microsoft.com/kb/124520
+i386: https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com/Softlib/MSLFILES/VC20XF.EXE (unpack MSVCRT2X.DLL)
+
+msvcrt2x.dll 2.1 (Increased File Handle Libraries)
+info: https://web.archive.org/web/20080325074051/http://support.microsoft.com/kb/124520
+i386: https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com/Softlib/MSLFILES/VC22XF.EXE (unpack MSVCRT2X.DLL)
+
+msvcrt40.dll 4.0
+info: https://web.archive.org/web/20080212191047/http://support.microsoft.com/kb/125476
+i386: https://archive.org/download/msvc4x/MSVC40.iso/MSDEV/REDIST/MSVCRT40.DLL
+win32s: https://archive.org/download/msvc4x/MSVC40.iso/WIN32S/REDIST/MSVCRT40.DLL
+
+msvcrt40.dll 4.1
+info: https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/166009
+info: https://web.archive.org/web/20080212191047/http://support.microsoft.com/kb/125476
+i386: https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com/Softlib/MSLFILES/MSVCRT.EXE (unpack MSVCRT40.DLL)
+win32s: https://archive.org/download/MSDN_July_1996_Disc_2_Visual_C_4.1/MSDN_July_1996_Disc_2_Visual_C%2B%2B_4.1.iso/WIN32S/REDIST/MSVCRT40.DLL
+
+msvcrt.dll 4.2
+info: https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/166009
+i386: https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com/Softlib/MSLFILES/MSVCRT.EXE (unpack MSVCRT.DLL)
+
+msvcrt.dll 5.0 SP3
+info: https://web.archive.org/web/20020806184019/https://msdn.microsoft.com/vstudio/downloads/updates/sp/vs97/full.asp
+i386: https://web.archive.org/web/20020204033650/https://download.microsoft.com/download/vstudio97ent/sp3/full/win98/en-us/vssp3_4.cab (unpack VS97_SP3/all/vc/redist/msvcrt.dll)
+
+msvcrt.dll 6.0 SP6
+info: https://web.archive.org/web/20050115071027/https://www.microsoft.com/downloads/details.aspx?FamilyID=8ecec2b4-9118-4a63-8dbd-b34547ad2c62&displaylang=en
+info: https://web.archive.org/web/20210415060834/https://www.microsoft.com/en-us/download/details.aspx?id=17822
+i386: https://web.archive.org/web/20200803212944/https://download.microsoft.com/download/e/2/8/e2843736-feff-4188-a9e0-87c06db3c6bd/Vs6sp6S1.exe (unpack and run vcredist.exe)
+
+msvcr70.dll (part of Microsoft .NET Framework Redistributable 1.0)
+info: https://web.archive.org/web/20020408132835/https://msdn.microsoft.com/downloads/sample.asp?url=/MSDN-FILES/027/001/829/msdncompositedoc.xml
+info: https://web.archive.org/web/20210724095114/https://www.microsoft.com/en-us/download/details.aspx?id=96
+i386: https://web.archive.org/web/20210224143637/https://download.microsoft.com/download/e/b/2/eb247c2a-e6b3-4694-98a2-b27111d233dd/dotnetredist.exe
+(may require manual tripple CAB unpack: dotnetredist.exe --> dotnetfx.exe --> netfx.msi --> msvcr70.dll)
+
+msvcr71.dll (part of Microsoft .NET Framework Version 1.1 Redistributable Package)
+info: https://web.archive.org/web/20040712111741/https://www.microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=en
+info: https://web.archive.org/web/20210505033913/https://www.microsoft.com/en-us/download/details.aspx?id=26
+i386: https://web.archive.org/web/20210505032023/https://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe
+(may require manual double CAB unpack: dotnetfx.exe --> netfx.msi --> msvcr71.dll)
+
+msvcr80.dll
+info: https://www.microsoft.com/en-us/download/details.aspx?id=26347
+i386: https://download.microsoft.com/download/8/b/4/8b42259f-5d70-43f4-ac2e-4b208fd8d66a/vcredist_x86.EXE
+amd64: https://download.microsoft.com/download/8/b/4/8b42259f-5d70-43f4-ac2e-4b208fd8d66a/vcredist_x64.EXE
+
+msvcr90.dll
+info: https://www.microsoft.com/en-us/download/details.aspx?id=26368
+i386: https://download.microsoft.com/download/5/d/8/5d8c65cb-c849-4025-8e95-c3966cafd8ae/vcredist_x86.exe
+amd64: https://download.microsoft.com/download/5/d/8/5d8c65cb-c849-4025-8e95-c3966cafd8ae/vcredist_x64.exe
+
+msvcr100.dll
+info: https://www.microsoft.com/en-us/download/details.aspx?id=26999
+i486: https://download.microsoft.com/download/1/6/5/165255e7-1014-4d0a-b094-b6a430a6bffc/vcredist_x86.exe
+amd64: https://download.microsoft.com/download/1/6/5/165255e7-1014-4d0a-b094-b6a430a6bffc/vcredist_x64.exe
+
+msvcr110.dll
+info: https://www.microsoft.com/en-us/download/details.aspx?id=30679
+i686: https://download.microsoft.com/download/1/6/b/16b06f60-3b20-4ff2-b699-5e9b7962f9ae/VSU_4/vcredist_x86.exe
+amd64: https://download.microsoft.com/download/1/6/b/16b06f60-3b20-4ff2-b699-5e9b7962f9ae/VSU_4/vcredist_x64.exe
+arm32: https://download.microsoft.com/download/1/6/b/16b06f60-3b20-4ff2-b699-5e9b7962f9ae/VSU4/vcredist_arm.exe
+
+msvcr120.dll
+info: https://www.microsoft.com/en-us/download/details.aspx?id=40784
+i686: https://download.microsoft.com/download/2/e/6/2e61cfa4-993b-4dd4-91da-3737cd5cd6e3/vcredist_x86.exe
+amd64: https://download.microsoft.com/download/2/e/6/2e61cfa4-993b-4dd4-91da-3737cd5cd6e3/vcredist_x64.exe
+arm32: https://download.microsoft.com/download/2/e/6/2e61cfa4-993b-4dd4-91da-3737cd5cd6e3/vcredist_arm.exe
+
+msvcr120_app.dll
+info: https://devblogs.microsoft.com/cppblog/c-runtime-for-sideloaded-windows-8-1-apps/
+i686 + amd64 + arm32: https://download.microsoft.com/download/5/f/0/5f0f8404-9329-44a9-8176-ed6f7f746f25/vclibs_redist_packages.zip
+
+api-ms-win-crt-*.dll Windows Update KB2999226 for Windows Vista / Server 2008, Windows 7 / Server 2008 R2, Windows 8 / Server 2012 and Windows 8.1 / Server 2012 R2
+info: https://support.microsoft.com/help/2999226
+info: https://www.microsoft.com/en-us/download/details.aspx?id=48234
+i686 + amd64 + arm32: https://download.microsoft.com/download/c/5/d/c5d68aa1-f62e-422a-9084-4ad85ceb8d4d/WindowsUCRT.zip
+
+api-ms-win-crt-*.dll Microsoft Visual C++ Redistributable for Visual Studio 2019 16.7 package (with UCRT version 14.27.29114.0)
+i686: https://download.visualstudio.microsoft.com/download/pr/56f631e5-4252-4f28-8ecc-257c7bf412b8/D305BAA965C9CD1B44EBCD53635EE9ECC6D85B54210E2764C8836F4E9DEFA345/VC_redist.x86.exe
+amd64: https://download.visualstudio.microsoft.com/download/pr/722d59e4-0671-477e-b9b1-b8da7d4bd60b/591CBE3A269AFBCC025681B968A29CD191DF3C6204712CBDC9BA1CB632BA6068/VC_redist.x64.exe
+
+Note:
+Microsoft Visual C++ Redistributable for Visual Studio 2019 16.7 package (with UCRT version 14.27.29114.0) is really the latest UCRT compatible package for Windows XP SP2/SP3 and Windows XP x64 SP1/SP2 and Windows Server 2003 SP1/SP2 systems. There is available redistributable Visual Studio 2019 16.8 Preview 2 package (with UCRT version 14.28.29213.0) which has higher build number than the 16.7 version, but it is only beta preview version and moreover it was released before the final 16.7 release. So the last released version compatible with those systems is really 16.7 version.