mingw32 gcc
========================================================================
GCC is the GNU Compiler Collection, a fairly portable optimizing
compiler.

This MinGW port generates 32-bit code for Windows, and should run on any
32- or 64-bit Windows operating system.

No local patches were used.

Local customizations were limited to:
* Specific command-line options for configure and make,
* moving a few files after "make install",
* replacing redundant executables by a wrapper.
For details, see the build script.

New features:
-------------

* The Ada language is back in this release.

See also: http://gcc.gnu.org/gcc-4.6/changes.html

General Notes:
--------------

* Unless the -fno-keep-inline-dllexport compiler flag is given, inline
  functions decorated with __declspec(dllexport) are always generated
  and included in object files. This also applies to methods defined in
  classes decorated with __declspec(dllexport).

  This may cause a general increase in object size, since many copies of
  dllexport'd inline function and methods end up in object files.

  To avoid this, do:
  
  1) Compile all sources with -fno-keep-inline-dllexport.
  
  2) Compile a separate dummy source file, that includes all headers, with
  -fkeep-inline-dllexport.

  This will generate all dllexported inline methods
  and functions, just once. The resulting DLL size should not be affected,
  but the object size and the link time should be reduced.

* Shared libgcc: If all modules are linked with -shared-libgcc,
  exceptions can be thrown across DLL boundaries.  Note that this is
  the default for all languages other than C. To disable this, use
  -static-libgcc.

* Shared libstdc++: By default, C++ modules are linked with a DLL version
  of libstdc++. To use the static version, use the -static-libstdc++ flag.
  Note: When building and using DLLs, it is best in general not to use
  static libraries, to avoid the issue of having multiple copies of shared
  data. This applies to static libstdc++ as well.

* Translations into your language! See share\locale for a list of
  codes.  Unpack the translation archive in c:\MinGW and set the LANG
  environment variable to the code of your preferred language.


Known Issues:
-------------

* The Java language is absent, pending resolution of build issues.
  The last mingw.org release offering Java was 4.4.0.

* The translation archive, when used, must be unpacked in c:\MinGW.

* The path "\mingw\include" on the current drive is always searched for
  header files, regardless of where the compiler is installed. Likewise,
  the path "\mingw\lib" is always searched for libraries. So, if you want
  to keep multiple installations separated, better not to use
  "\mingw" on any drive.

========================================================================

Package Description:
 
  C Language (required)
    gcc-core-4.6.2-1-mingw32-bin.tar.lzma

  C++ Language
    gcc-c++-4.6.2-1-mingw32-bin.tar.lzma

  Ada Language
    gcc-ada-4.6.2-1-mingw32-bin.tar.lzma

  Fortran Language
    gcc-fortran-4.6.2-1-mingw32-bin.tar.lzma

  Objective C/C++ Language
    gcc-objc-4.6.2-1-mingw32-bin.tar.lzma

  Shared C Runtime
    libgcc-4.6.2-1-mingw32-dll-1.tar.lzma

  Shared C++ Runtime
    libstdc++-4.6.2-1-mingw32-dll-6.tar.lzma

  Shared Ada Runtime
    libgnat-4.6.2-1-mingw32-dll-4.6.tar.lzma

  Shared Fortran Runtime 
    libgfortran-4.6.2-1-mingw32-dll-3.tar.lzma

  Shared Objective C/C++ Runtime
    libobjc-4.6.2-1-mingw32-dll-2.tar.lzma

  Shared library for OpenMP support
    libgomp-4.6.2-1-mingw32-dll-1.tar.lzma

  Shared library for stack protection support	
    libssp-4.6.2-1-mingw32-dll-0.tar.lzma

  Shared library for quad-precision math
    libquadmath-4.6.2-1-mingw32-dll-0.tar.lzma

  GCC Documentation
    gcc-4.6.2-1-mingw32-doc.tar.lzma

  Translations
    gcc-4.6.2-1-mingw32-lang.tar.lzma

  License Information
    gcc-4.6.2-1-mingw32-lic.tar.lzma

========================================================================

Runtime requirements:
  binutils-2.21.53-1-mingw32-bin.tar.lzma
  libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
  libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
  libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
  libpthreadgc-2.9.0-mingw32-pre-20110507-2-dll-2.tar.lzma
  mingwrt-3.20-mingw32-dev.tar.gz
  mingwrt-3.20-mingw32-dll.tar.gz
  pthreads-w32-2.9.0-mingw32-pre-20110507-2-dev.tar.lzma
  w32api-3.17-2-mingw32-dev.tar.lzma


Build requirements:
  MinGW Compiler
    binutils-2.21.53-1-mingw32-bin.tar.lzma
    gcc-ada-4.5.2-1-mingw32-bin.tar.lzma
    gcc-core-4.5.2-1-mingw32-bin.tar.lzma
    libgcc-4.5.2-1-mingw32-dll-1.tar.lzma
    libgnat-4.5.2-1-mingw32-dll-4_5.tar.lzma
    libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
    libgmpxx-5.0.1-1-mingw32-dll-4.tar.lzma
    libgomp-4.5.2-1-mingw32-dll-1.tar.lzma
    libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
    libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
    libpthread-2.8.0-3-mingw32-dll-2.tar.lzma
    libssp-4.5.2-1-mingw32-dll-0.tar.lzma
    mingwrt-3.20-mingw32-dev.tar.gz
    mingwrt-3.20-mingw32-dll.tar.gz
    pthreads-w32-2.9.0-mingw32-pre-20110507-2-dev.tar.lzma
    w32api-3.17-2-mingw32-dev.tar.lzma

  Development Tools and Dependent Libraries
    gettext-0.18.1.1-2-mingw32-dev.tar.lzma
    gmp-5.0.1-1-mingw32-dev.tar.lzma
    libgettextpo-0.18.1.1-2-mingw32-dll-0.tar.lzma
    libexpat-2.0.1-1-mingw32-dll-1.tar.gz
    libiconv-1.14-2-mingw32-dev.tar.lzma
    libiconv-1.14-2-mingw32-dll-2.tar.lzma
    libintl-0.18.1.1-2-mingw32-dll-8.tar.lzma
    libstdc++-4.5.2-1-mingw32-dll-6.tar.lzma
    mpc-0.8.1-1-mingw32-dev.tar.lzma
    mpfr-2.4.1-1-mingw32-dev.tar.lzma

  MSYS Environment
    bash-3.1.17-4-msys-1.0.16-bin.tar.lzma
    bison-2.4.2-1-msys-1.0.13-bin.tar.lzma
    bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma
    coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
    diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma
    findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
    flex-2.5.35-2-msys-1.0.13-bin.tar.lzma
    gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
    grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
    gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma
    less-436-2-msys-1.0.13-bin.tar.lzma
    libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma
    libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
    libexpat-2.0.1-1-msys-1.0.13-dll-1.tar.lzma
    libgdbm-1.8.3-3-msys-1.0.13-dll-3.tar.lzma
    libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
    libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
    liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma
    libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
    libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
    libxml2-2.7.6-1-msys-1.0.13-dll-2.tar.lzma
    m4-1.4.14-1-msys-1.0.13-bin.tar.lzma
    make-3.81-3-msys-1.0.13-bin.tar.lzma
    msysCORE-1.0.17-1-msys-1.0.17-bin.tar.lzma
    msysCORE-1.0.17-1-msys-1.0.17-doc.tar.lzma
    msysCORE-1.0.17-1-msys-1.0.17-ext.tar.lzma
    msysCORE-1.0.17-1-msys-1.0.17-lic.tar.lzma
    perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
    sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
    tar-1.23-1-msys-1.0.13-bin.tar.lzma
    termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
    texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma
    xz-5.0.3-1-msys-1.0.17-bin.tar.lzma
    zlib-1.2.5-1-msys-1.0.17-dll.tar.lzma

Canonical homepage:
  http://gcc.gnu.org/

Canonical download:
  ftp://ftp.gnu.org/gnu/gcc/
  
License:
  GPLv3+, LGPLv3+, GPLv3+ plus runtime exception

Languages:
  Ada/C/C++/Fortran/Objective-C

========================================================================

Build instructions:

1) Unpack gcc-4.6.2-1-mingw32-src.tar.lzma
2) Install the build requirements.
2.1) If you have mingw-get in PATH, you can use as a shorcut:
        ./pkgbuild -e build_dep
     But note: this will not install the exact same versions of the
     packages listed above, but their latest versions.
2.2) MinGW should be installed in c:/mingw.
2.3) In the MSYS build shell, you should issue:
        mount /mingw /mingw
3) In the MSYS build shell, run <path-to-source>/pkgbuild
4) To generate the test results, run <path-to-source>/pkgbuild -e check
   Currently, this must be done under Cygwin, since the dejagnu tool is
   required.

See <path-to-source>/pkgbuild -h for further options.

========================================================================

---------- gcc-4.6.2-1 ----------- 2011 Dec 21 -----------
* New upstream release.
* Re-enable Ada.

---------- gcc-4.6.1-2 ----------- 2011 Sep 15 -----------
* Re-enable LTO.

---------- gcc-4.6.1-1 ----------- 2011 Sep 14 -----------
* New upstream release.
* Remove Ada, pending resolution of build issues.
* Do not ship .la files.
* Add build-time option to download source.
* Source is unpacked in a package-specific directory.

---------- gcc-4.5.2-1 ----------- 2011 Jan 12 -----------
* New upstream release.
* Build script can invoke mingw-get for installing the build requirements. 
* Warn about using static libstdc++ with DLLs.
* No need to move libobjc-2.dll to /bin anymore (fixed upstream).
* Fix missing symbols in the Objective C run-time library.
* Update build instructions.

---------- gcc-4.5.0-1 ----------- 2010 Apr 19 -----------
* New upstream release.
* Warn about increase in object size due to dllexported inline functions.
* libobjc does not need -no-undefined anymore (fixed upstream).

---------- gcc-4.5.0_20100311-2 -- 2010 Mar 18 -----------
* Fixed a missing include path.

---------- gcc-4.5.0_20100311-1 -- 2010 Mar 13 -----------
* New snapshot.
