MinGW - Minimalist GNU for Windows

Intended audience: distribution maintainers.


Installation

Setting up MinGW alone is a daunting task. "Minimalist" in this case means: So minimum that not even a working installer is available. True there are some installers - quite a few in fact - but they won't work together to create a working system. So most of the work you have to do yourself.

However: AdaCore develops with MinGW and both GNAT/Pro and GNAT/GPL for MS-Windows are MinGW based. Hence MinGW GNAT compiler tend to work better then Cygwin based compiler.

Needed Packages

You need to get all packages separatly from various sites. So here is the list of what you need.

Package Description Where
MinGW-5.1.3.exe Network-installer. Install all but make from option current. Contains binutil, gcc and runtime. 1
MSYS-1.0.10.exe Contains the shell, make, pwd, etc. pp. Forget about the version mumber in the default path. For years there had not been a 2nd version. The postinstaller is pretty unforgiving and will be deleted even when the installation fails so you won't have a 2nd chance.

Note that the usual hardlink from sh to bash is missing and you need to add it yourself.

 ln sh.exe bash.exe
1
msysDTK-1.0.1.exe The autotools toolchain inclusive perl. Install into the same directory as MSYS. 1
msys-autoconf-2.59.tar.bz2 msys-automake-1.8.2.tar.bz2 msys-libtool-1.5.tar.bz2 Updates to the autotools toolchain. 1
bison-2.0-MSYS.tar.gz

flex-2.5.33-MSYS-1.0.11.tar.bz2

Bison, Flex. 1
gmp-4.2.1-MSYS-1.0.11.tar.bz2 GMP - The GNU MP Library 1
libiconv-1.11-MSYS-1.0.11.tar.bz2 LIBICONV - character set conversion library 1
gettext-0.16.1-MSYS-1.0.11.tar.bz2

gettext-devel-0.16.1-MSYS-1.0.11.tar.bz2

get-text 1
vim-7.1-MSYS-1.0.11.tar.bz2 VI-Improved 1

Installation Directories

When chossing installations directories you should take into account that MinGW and MSYS may not be installed in the very same directory. They can however be installed inside the same directory tree. Your MSYS installations directory will become your POSIX root / directory (with you windows drives at /c, /d etc.pp) and MSYS expects MinGW at /mingw - if it is not there it will need a mount-point in /etc/fstab to point to the installation directory of MingGW.

Taking this all into account then the best layout is:

ToolPackageWhere
MSYSC:\MinGW1
MinGWC:\MinGW\mingw1
Mingw32 repositoryC:\MinGW\mingw2
GnuWin32C:\MinGW\mingw3

Of corse you don't have to use C:\.

Pitfalls

make

MinGW and MSYS come both with there own make - but only the MSYS make will work with the automake tools. Make sure your system picks up the right one.

bash

bash has only been included as sh.exe. I suggest you create a hard link to bash.exe as well so you can use all of the bash features.

Current Status.

Project is stalled as the tools are outdated. We hope to get better tools from the GnuWin32 Project.

MinGW sites

WhoSiteWhats there
1MinGW (sf)MinGW and MSYS main side. Here you get the base packages
2Mingw32 packages repository (sf)Zip based MinGW packages - some of which might be helpfull for us
3GnuWin32 (sf)Provides a long list of additional tools including Bison and Flex
4GTK+ for Windows DownloadsBinary packages for Gtk+ which might be helpfull when creating Gtk+
5Xming (sf)Xming X Server for Windows
6MinGW InstallYet another MinGW Installer - looks promissing but without proper documentation
7MinGW RPM packagesMinGW RPM packages for cross compile on various Linux Hosts

Share configuration between MinGW and Cygwin

With a copy of linkd you can create junction points which save your quite a few file replications.

 linkd C:\MinGW\etc\profile.d C:\cygwin\etc\profile.d
 linkd C:\MinGW\work C:\work
 linkd C:\cygwin\work C:\work

Ada programming, © 2005,2006 the Authors, Content is available under GNU Free Documentation License.