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:
| Tool | Package | Where |
|---|---|---|
| MSYS | C:\MinGW | 1 |
| MinGW | C:\MinGW\mingw | 1 |
| Mingw32 repository | C:\MinGW\mingw | 2 |
| GnuWin32 | C:\MinGW\mingw | 3 |
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
| Who | Site | Whats there |
|---|---|---|
| 1 | MinGW (sf) | MinGW and MSYS main side. Here you get the base packages |
| 2 | Mingw32 packages repository (sf) | Zip based MinGW packages - some of which might be helpfull for us |
| 3 | GnuWin32 (sf) | Provides a long list of additional tools including Bison and Flex |
| 4 | GTK+ for Windows Downloads | Binary packages for Gtk+ which might be helpfull when creating Gtk+ |
| 5 | Xming (sf) | Xming X Server for Windows |
| 6 | MinGW Install | Yet another MinGW Installer - looks promissing but without proper documentation |
| 7 | MinGW RPM packages | MinGW 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.
