Looking for the latest version? Download tdm-gcc-4.9.2.exe (31.9 MB)
Home / Sources / TDM Sources
Name Modified Size Downloads / Week Status
Parent folder
Totals: 3 Items   50.5 kB 13
Previous 2013-10-06 1010 weekly downloads
README-gcc-tdm-src.txt 2014-12-08 4.7 kB 44 weekly downloads
gcc-4.9.2-tdmsrc-1.zip 2014-12-08 45.8 kB 99 weekly downloads
===== TDM-GCC Source Distribution README ===== >>>>> LICENSE All of the files in this package are released into the public domain without warranty, and may be freely used, modified, and redistributed. >>>>> 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/defstatic.patch] Make static versions of libgcc and libstdc++ the default, instead of the shared versions * [gcc/dw2.patch] Modify the GCC version string when building the DW2 unwinding flavor * [gcc/eh_shmem.patch] Allow exceptions from DLLs without shared GCC libraries * [gcc/lfs.patch] Enable large file support in libstdc++ * [gcc/libatomic-cygming.patch] Enable building libatomic for mingw* targets * [gcc/libgcceh.patch] Reintegrate libgcc_eh into libgcc * [gcc/libgomp.patch] Allow libgomp to interoperate with user-generated pthreads * [gcc/libs64.patch] Append "_64" to names of 64-bit runtime DLLs * [gcc/make-rel-pref.patch] A patch to fix make_relative_prefix() semantics and a little-encountered relocation bug * [gcc/more-gnattools.patch] Enable building gnatdll for mingw* targets * [gcc/mutex-leak.patch] Fix memory leak when using C++11 mutexes * [gcc/relocate.patch] Make GCC fully relocatable, not searching any fixed paths that aren't relative to the current installation path * [gcc/threads.patch] Support winpthreads for the 32-bit mingw32 target and use a static version of winpthreads * [gcc/windows-lrealpath.patch] Allow forward slashes in libiberty as path separators on Windows 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] * ./tdm32.sh 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] * ./tdm64.sh * 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>. * ./tdm64.sh gdb-pkg-install
Source: README-gcc-tdm-src.txt, updated 2014-12-08