Home / Sources / TDM Sources / Previous / 4.3.3-tdm-1
Name Modified Size InfoDownloads / Week
Parent folder
gcc-4.3.3-tdm-1-srcbase.zip 2009-02-16 23.9 kB
Totals: 1 Item   23.9 kB 0
===== 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 <http://creativecommons.org/publicdomain/zero/1.0/>.


>>>>> 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]
 * ./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 2015-06-27