msys

mingwPORT

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

  1. Be sure you really need to build an [MSYS Application | Shells, terminals and MSYS] rather than just a Windows Application.
  1. 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.

  1. ~__CYGWIN~__:

How do I install MSYS?

These instructions were based on the Enlightenment Wiki. Thanks to Vincent Torri for pointing them out.

The total size of the installation of MSYS/MinGW is around 110 MB. Be sure to have enough space on your hard disk.

What is MSYS?

MSYS, (an acronym for "Minimal SYStem"), is a command line environment based on bash, (the GNU Bourne Again Shell). This is complemented by a small collection of GNU utilities such as make, gawk, grep and sed, carefully selected to facilitate building of applications and programs which depend on traditionally UNIX tools.

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.


Introduction

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

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

In addition to sources maintained directly, and exclusively by ourselves, the MinGW Project makes use of a number of upstream sources, to deliver the package set commonly seen as defining a MinGW installation. This page explains where to find the most 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

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.