GNU Compilers for Win32

Introduction

This page is currently under construction. It hopes to provide a resource in the form of useful links and information in respect of the Win32 ports of the GNU compilers. My principal emphasis is on the GNU Pascal compiler (GPC) and the GNU C compiler (GCC).

Cygwin and Mingw32

There are two main versions of the GNU Win32 compilers. The first is based on the Cygwin environment from Cygnus Solutions. The second is the Mingw32 ("minimalist" Win32) based compilers. Mingw32 was the brain child of Colin Peters.

The Cygwin versions of GPC and GCC by default produce Cygwin binaries. These are binaries which make use of and require the Cygwin DLL ("Cygwin1.dll") - the library that implements a POSIX emulation for Windows 9x and NT. However, the Cygwin-based compilers can also produce Mingw32 binaries - i.e., those which dispense with the unix emulation of the Cygwin DLL, and only use DLLs which are supplied as standard with Windows (meaning that these binaries do not need the Cygwin DLL to run). Mingw32 programs tend to be smaller, and faster than Cygwin programs as a result of not having the overheads of the unix emulation layer. Also, they have less restrictive licensing conditions than Cygwin programs. Please see the Cygwin web site for licensing details on Cygwin programs.

To produce Mingw32 binaries with the Cygwin compilers, they need to be run with the -mno-cygwin switch. It may also be necessary to specify the directories where the Mingw32 libraries can be found (using the "-L" switch).
Note that the Mingw32 compilers cannot produce Cygwin binaries.

WEB SITES