Printer-friendly version
warning: Creating default object from empty value in /var/www/drupal/6.x/drupal-6.26/modules/taxonomy/ on line 33.

HOWTO Set the HOME variable for cmd exe

Set the HOME variable

The HOME variable is one of the essential variables required by *NIX systems. It is already set in an MSYS environment, but not in a cmd.exe environment. Some applications, e.g. vim.exe, may behave erroneously or even crash if this variable is missing. In order to use these application from cmd.exe, it is thus required to set the HOME variable in the cmd.exe environment as well.

Posix path conversion

For any executable not dependent on msys-1.0.dll, MSYS will convert POSIX paths that are used as arguments to Win32 paths. This page attempts to document the heuristics MSYS uses to decide which arguments are POSIX paths and how they should be converted based on the source of msys_p2w in


Adminstrative Note

Although this page remains valid, the MinGW team have decided to no longer promote mingwPORT distributions. Therefore the information below is for your own use only. The latest way to share build information for packages is with mgwport .

Using mingwPORTs

The mingwPORTs provide an automated and repeatable method of creating and building libraries and applications from source. By using a build script such as the mingwPORT files, developers can easily share the steps it takes to create an executable or library on their particular operating system with a specific compiler. The mingwPORT script files are designed for the standard GNU style build tools and a standard shell such as the bash shell. They automate the usual ./configure, make, make install process. The mingwPORT scripts can be customized for non-standard builds such as those that require patches in order to work.

MSYS 1.0.12 Features

The major feature I would like to see added comes from a discussion with Eli Zaretskii of the GNU Make team. The idea disables the path translations and uses the paths as are. The caveat to this would be that the /bin, /etc/, etc directories must live in the root of the disk drive. I had created a working model months/years ago but didn't keep up with the changes to 1.0.11. I will create a patch file and upload it here (hopefully sometime in May 2009).

HOWTO Build an MSYS Application

TODO: Convert to MediaWiki syntax

Building an MSYS Application

  • Be sure you really need to build an MSYS Application rather than just a Windows Application.
  • config.guess and config.sub:

The first change you'll need to make is to the config.guess and config.sub unless you've obtained the source from the msys/packages CVS repository. That repository will have the changes already accomplished. Changing these files is a simple as copying the Cygwin sections and changing CYGWIN and cygwin to MSYS and msys respectfully.

  • __CYGWIN__:

HOWTO Specify the Header File Include Path for use with MinGW Compilers

FIXME: Page under construction; mostly complete now, but may need some clarifications.

I will add to this as time permits; please bear with me. My intent is to provide answers to some remarkably similar, but independently asked, questions which have appeared recently, on the MinGW-Users and MinGW-MSYS lists.


This Mini-HOWTO attempts to answer the FAQ: "Why can't the MinGW compilers find my project's header files?"

Configure RXVT

TODO: Formatting is off.

  • The default rxvt font size is too small. How do I enlarge it?
    • Open C:\MSYS\1.0\msys.bat with a text editor and search for a line containing "80x25". Then replace it with:
       rem The following should be all one line.
       start rxvt -backspacekey ^H -sl 2500 -fg grey90 -bg black -sr -fn "Courier-bold-20" 
         -tn msys -geometry 80x25 -e /bin/sh --login -i

Official CVS Repository

'THIS PAGE IS OUT OF DATE.' The code repository for mingwrt and w32api is now housed in the project repository at

Where to Find Up-to-Date Source Code for MinGW Packages

HOWTO Create an MSYS Build Environment

Important Note: The build environment described here is used for development of the MSYS product itself; it is not applicable for users who simply wish to use MSYS, as a working environment for developing normal MS-Windows applications, (presumably using MinGW as the compiler suite). The overwhelming majority of MSYS users do not need to set up any such "MSYS Build Environment".


MSYS is a collection of GNU utilities such as bash, make, gawk and grep to allow building of applications and programs which depend on traditionally UNIX tools to be present. It is intended to supplement MinGW and the deficiencies of the cmd shell.

An example would be building a library that uses the autotools build system. Users will typically run "./configure" then "make" to build it. The configure shell script requires a shell script interpreter which is not present on Windows systems, but provided by MSYS.

This wiki is not a forum for discussion of usage issues. Please use the list instead. We do not allow creation of comments by anonymous or untrusted users, on any page.
Site Status

Site maintenance performed successfully, site online Dec 13th 12:00 AM Eastern.