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. Binary incompatibility notice! ------------------------------ The C and C++ ABI changed in GCC 4.7.0, which means in general you can't link together binaries compiled with this version of the compiler and with versions before GCC 4.7.0. In particular: * The option -mms-bitfields is enabled by default, which means the bitfield layout follows the convention of the Microsoft compiler. * C++ class-member functions now follow the __thiscall calling convention. * The compiler now assumes that the caller pops the stack for the implicit arguments pointing to an aggregate return value. This affects functions returning structs by value, like the complex math type. New features: ------------- See http://gcc.gnu.org/gcc-4.7/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. * PATH must be set to the location of the gcc.exe binary. Specifying the full path on the command line doesn't work currently. ======================================================================== Package Description: C Language (required) gcc-core-4.7.2-1-mingw32-bin.tar.lzma C++ Language gcc-c++-4.7.2-1-mingw32-bin.tar.lzma Ada Language gcc-ada-4.7.2-1-mingw32-bin.tar.lzma Fortran Language gcc-fortran-4.7.2-1-mingw32-bin.tar.lzma Objective C/C++ Language gcc-objc-4.7.2-1-mingw32-bin.tar.lzma Shared C Runtime libgcc-4.7.2-1-mingw32-dll-1.tar.lzma Shared C++ Runtime libstdc++-4.7.2-1-mingw32-dll-6.tar.lzma Shared Ada Runtime libgnat-4.7.2-1-mingw32-dll-4_7.tar.lzma Shared Fortran Runtime libgfortran-4.7.2-1-mingw32-dll-3.tar.lzma Shared Objective C/C++ Runtime libobjc-4.7.2-1-mingw32-dll-4.tar.lzma Shared library for OpenMP support libgomp-4.7.2-1-mingw32-dll-1.tar.lzma Shared library for stack protection support libssp-4.7.2-1-mingw32-dll-0.tar.lzma Shared library for quad-precision math libquadmath-4.7.2-1-mingw32-dll-0.tar.lzma GCC Documentation gcc-4.7.2-1-mingw32-doc.tar.lzma Translations gcc-4.7.2-1-mingw32-lang.tar.lzma License Information gcc-4.7.2-1-mingw32-lic.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.7.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 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 See <path-to-source>/pkgbuild -h for further options. ======================================================================== ---------- gcc-4.7.2-1 ----------- 2012 Nov 5 ------------ * New upstream release. ---------- gcc-4.7.0-1 ----------- 2012 Jun 07 ----------- * New upstream release. * Require C++ during build (it depends on a working C++ preprocessor). * Do not unpack the source every time, keep an existing source directory. * Avoid distributing a copy of the C++ headers in the core package. * Do not build with the C++ compiler, it breaks the Ada build. ---------- 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.