INSTALLING 64-BIT AND 32-BIT GCC 8.3 EXECUTABLES THAT CAN COMPILE TO 64-BIT AND 32-BIT CODE, RESPECTIVELY (MY FOLDER STRUCTURE). It appears that the Mingw64 team is not as committed to the automated builds, as they have not posted an update to the personal builds folder since May 2018. (I started a sourceforge discussion thread on the topic which offers some explanations. So I used a different build this time for gcc 8.3. This distribution takes up about 475 MiB of disk space. Apr 4, 2019 (last updated Sep 10, 2019) ----------- 1. Download this distro: a. x86_64-w64-mingw32-8.3.0-crt-6.0.0-multilib.7z Folder: Ray Linn's gcc 8.x builds (available from http://sourceforge.net/projects/mingw-w64) 2. Extract the distro under a root folder like "d:\mingw" 3. Move to d:\mingw (or whatever the intall folder is) and run the gosetup.bat script from that folder. Make sure make.exe, rsxnt.dll, and floatmod.exe are in d:\mingw before running the script if you want those files (floatmod.exe is required for the script to run successfully). The install script will create a directory structure like so: d:\mingw +- include (from \mingw\include and \mingw\x86_64-w64-mingw32\include) +- libexec (from \mingw\libexec) +- lib64 (from \mingw\lib and \mingw\x86_64-w64-mingw32\lib) +- lib32 (from \mingw\x86_64-w64-mingw32\lib32) +- bin (from \mingw\bin and \mingw\x86_64-w64-mingw32\bin) 4. Optimizations a. One-pass max: -Ofast -flto -fomit-frame-pointer -momit-leaf-frame-pointer -fgraphite-identity -floop-interchange -floop-block -floop-parallelize-all -ftree-loop-distribution -ftree-parallelize-loops=2 -pthread -m64 -Wall b. Profile generate: -Ofast -flto -fomit-frame-pointer -momit-leaf-frame-pointer -fgraphite-identity -floop-interchange -floop-block -pthread -floop-parallelize-all -ftree-parallelize-loops=4 -ftree-loop-distribution -march=native -m64 -Wall -fprofile-generate=d:\gcc_profiles c. Profile use: -Ofast -flto -fomit-frame-pointer -momit-leaf-frame-pointer -fgraphite-identity -floop-interchange -floop-block -pthread -floop-parallelize-all -ftree-parallelize-loops=4 -ftree-loop-distribution -march=native -m64 -Wall -fprofile-use=d:\gcc_profiles 5. Script mingw.bat to set environment/path. Usage: mingw 64 or mingw 32 @echo off if not "%1"=="" goto envset echo "Usage: mingw 32|64" goto end :envset set MINGW=d:\mingw set MYINCLUDE=d:\my_include set MYLIB=d:\my_libs\mingw%1 set GCCVER=8.3.0 rem rem Remove all other C compilers from path. You can remove the -u swithces rem if you are not using any other C compilers. Change the drive letters to rem match yuor system rem repath -u c:\tcc* -u *\Intel\Composer* -u *Visual* -u *watcom* -u c:\mingw* -u d:\mingw* -e %MINGW%\bin call _repath.bat del _repath.bat set c_include_dir=%MYINCLUDE% set c_include_path=%MYINCLUDE%;%MINGW%\include\x64;%MINGW%\include;%MINGW%\include\ddk set cplus_include_path=%MYINCLUDE%;%MINGW%\include\c++\x%1;%MINGW%\include\c++;%MINGW%\include\c++\backward;%MINGW%\include\x64;%MINGW%\include set library_path=%MYLIB%;%MINGW%\lib%1 set libdir= set exedir=c:\bin%1 set cc=gcc set cpp=g++ set f77=gcc set cflags=-Ofast -m%1 -Wall gcc -v :end