Download Latest Version tdm64-gcc-5.1.0-2.exe (48.1 MB) Get Updates
Home / Sources / TDM Sources
Name Modified Size InfoDownloads / Week
Parent folder
Previous 2014-12-08
README-gcc-tdm-src.txt 2015-06-27 5.6 kB 2015-06-27 80.9 kB
Totals: 3 Items   86.5 kB 12
===== TDM-GCC Source Distribution README ===== >>>>> COPYING To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty. You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see <>. >>>>> PACKAGE CONTENTS This is the base source distribution for all editions of TDM-GCC. It includes a Makefile with targets for the TDM and TDM64 editions of GCC and all support libraries, .sh script files that invoke the Makefile with appropriate arguments for each TDM-GCC edition, and patches for the following items: GCC: * [gcc/buildsys.patch] Minor build system hacks for building GCC in MSYS * [gcc/make-rel-pref.patch] A patch to fix make_relative_prefix() semantics and a little-encountered relocation bug * [gcc/lfs.patch] Enable large file support in libstdc++ * [gcc/libgomp.patch] Allow libgomp to interoperate with user-generated pthreads * [gcc/libgcceh.patch] Reintegrate libgcc_eh into libgcc * [gcc/defstatic.patch] Make static versions of libgcc and libstdc++ the default, instead of the shared versions * [ada-lfs.patch] Allow Ada to build for older versions of the MSVCRT without a stat64 equivalent. * [ssp-mingw32.patch] Allow libssp to build for older versions of the MSVCRT without CryptAcquireContext. * [gcc/relocate.patch] Make GCC fully relocatable, not searching any fixed paths that aren't relative to the current installation path * [gcc/eh_shmem.patch] Allow exceptions from DLLs without shared GCC libraries * [gcc/threads.patch] Support winpthreads for the 32-bit mingw32 target and use a static version of winpthreads * [gcc/more-gnattools.patch] Enable building gnatdll for mingw* targets * [gcc/windows-lrealpath.patch] Allow forward slashes in libiberty as path separators on Windows * [gcc/mutex-leak.patch] Fix memory leak when using C++11 mutexes * [lto-binary.patch] Fix LTO reader to open files in binary mode * [xmmintrin.patch] Add C++ include guards to xmmintrin.h * [crtbegin.patch] Remove static modifier from __EH_FRAME_BEGIN__ to allow visibility across compilation units * [gnat-implibs.patch] Create import libraries for the DLL versions of libgnat and libgnarl * [mcrtdll.patch] Allow specifying newer MSVCRT versions with -mcrtdll= * [dw2-reg-frame.patch] Prevent DW2 frame register/unregister from getting mistakenly stripped * [gcc/dw2.patch] Modify the GCC version string when building the DW2 unwinding flavor * [gcc/libs64.patch] Append "_64" to names of 64-bit runtime DLLs GMP: * [gmp/gmp-4.3.2-w64.patch] Fixes for GMP 4.x under x86_64-w64-mingw32 winpthreads: * [winpthreads/fullstatic.patch] Add a preprocessor flag to force non-DLL function declarations even in the presence of DLL compilation * [winpthreads/lib64.patch] Append "_64" to name of 64-bit runtime DLL * [winpthreads/mingw32.patch] Make winpthreads buildable for mingw32 * [winpthreads/shmem.patch] Allow sharing pthreads handles among DLLs and EXEs even when compiled statically >>>>> ADDITIONAL REQUIREMENTS In order to duplicate the build process used for TDM's binaries, you will need the following packages: * For the TDM edition, the MinGW project's "binutils", "mingwrt" and "w32api" bin and dev packages * For the TDM64 edition, the GNU binutils sources, the MinGW-w64 project's runtime sources, expat sources, and GDB sources * The GCC source package * The GMP, MPFR, and MPC sources * For support for character sets other than UTF-8, the libiconv sources * For support for the Graphite loop optimizations, the ISL and CLooG sources * For OpenMP and pthreads support, the winpthreads sources from the MinGW-w64 libraries tree All necessary packages are available from the same download site as this package, or from the packages' original download sites. >>>>> BUILD NOTES This TDM-GCC binary distribution was built as a native bootstrap in Windows 7 64-bit using the official MinGW toolchain and the MSYS environment. The build scripts that are included in this source package will therefore probably not work in a different environment (such as Cygwin or GNU/Linux) without some modification. Generally, building GCC consists of first building its support libraries (gmp, mpfr, mpc, isl, cloog, libiconv, and winpthreads), combining these with binutils and the runtime API into the "staging prefix", and then building GCC itself. GCC is built to expect it will be installed to the staging prefix but for the installation step is actually staged into a different directory. Building the TDM edition typically looks like this: * [Extract all sources to /crossdev/src] * [Copy or build a previous MinGW installation to a "build toolchain"] * [Extract the binutils, mingwrt, and w32api bin/dev packages to the prefix] * ./ Building the TDM64 edition typically looks like this: * [Extract all sources to /crossdev/src] * [Copy or build a previous multilib MinGW-w64/GCC installation to a "build toolchain"] * [Ensure the prefix is empty] * ./ * Fix up the staging toolchain by getting rid of the support libraries' headers and .a files and adding the support library DLLs into libexec/gcc/<target>/<version>. * ./ gdb-pkg-install
Source: README-gcc-tdm-src.txt, updated 2015-06-27