.

Minimalist GNU for Windows

mingwPORT

The mingwPORT release is something that provides a means of easily guiding a port with a small download file from MinGW and a shell script to perform the actions required. A template package portmaker? is being developed to be used by other for future ports. A SF Forum has been created for discussion of problems with the packages themselves. Please be sure the package name is in the Subject for the post to make it useful for others to quickly recognize what the post is about. This forum is forwarded to mingw-port mail list. You will need to be logged into your SF account to post.

Forum for reporting problems with mingwPORTs
Maillist for port discussions
portmaker forum

For those, who'd like to get portmaker? source there are CVS coordinates

cvs -d:pserver:anonymous@mingw.cvs.sourceforge.net:/cvsroot/mingw login
cvs -z3 -d:pserver:anonymous@mingw.cvs.sourceforge.net:/cvsroot/mingw co -P portmaker

or use the link to ViewCVS on SourceForge.

Getting to first base

mingwPORT makes it easy to download sources and build them for your MinGW environment, but wget needs to be installed first:

The following example may be used to bootstrap wget into a fresh install. The procedure presumes several things:

  1. MinGW-5.0.0.exe was used to install MinGW before installing MSYS.
  2. MSYS-1.0.11-2004.04.30-1.exe was used to install MSYS.
  3. msysDTK-1.0.1.exe was installed next.
  4. After installation, the MSYS desktop icon was double-clicked to obtain a terminal session.
  5. The current working directory is /home/username, where username is the Windows username.

Download the wget-1.9.1 mingwPORT and place it in the current working directory and follow the example below to get, compile, and install wget on your system. There are more ways to accomplish this, but for the newbie, these instructions take some of the pain out of getting the first mingwPORT on to your system and allow you to use the mingwPORT.sh defaults. It isn't obvious that certain specified directories must already exist prior to execution of mingwPORT.sh, and that the default directories are not created during a typical MinGW/MSYS installation.

$ tar -xvjf wget-1.9.1-mingwPORT.tar.bz2
$ mkdir -p /usr/local/bin
$ cd wget-1.9.1/mingwPORT
$ cp wget.exe /usr/local/bin
$ mkdir /usr/src
$ ./mingwPORT.sh

Download file? (Yes)
Download file URI? (ftp://ftp.gnu.org/gnu/wget)
Archive file type?
0) unknown
1) tar.gz
2) tgz
3) tar.bz2
4) tbz2
5) zip
Select a numeric value: (1)
Archive file? (wget-1.9.1.tar.gz)
Download to path? (/tmp)
Source path? (/usr/src/wget-1.9.1)
Installation directory? (/mingw)
CFLAGS (-03 -s -mms-bitfields -march-i686)
<snip>

$ rm /usr/local/bin/wget.exe

The rest of the game

Click on the package links to download the mingwPORT file. Unarchive the mingwPORT archive of interest and execute the mingwPORT.sh script inside. The script generally automates the build and install process so that new components can be added into the MinGW environment.

NOTE THAT IT SHOULD INSTALL IN /mingw, or your includes/libs won't be available for mingw's gcc to use. Note also that whenever you build anything from source (not a port), you will need to add ./configure --prefix=/mingw or ./configure --prefix=c:/mingw or those libraries will be installed in /, which is not available for gcc unless you explicitly state it "-I/usr/include" or what not.