File:		    README
Copyright (C):	    2001  Earnie Boyd  <earnie@users.sf.net>
Distribution:	    See MSYS_LICENSE
MSYS Revision:	    1.0.5
MSYS Revision date: February 21st, 2002

Preface:
Ok, you decompressed and unarchived the contents and now you're reading this
to understand how to get started.  However, I must first explain some important
facts about Msys.  Msys file system maps (mounts) are automatic and happens as 
described in table 1.  These automatic file system maps are not changable by 
the user.  User defined file system maps can be created by specifying them in 
the /etc/fstab directory as explained in table 2.

TABLE 1 - Automatic file system maps:
+ ---------------------------------------------------------------------------- +
| The automatic mounts are relative to where the msys-1.0.dll (DLL) is located |
| such that the following is true:                                             |
|                                                                              |
| / - is the parent directory of the directory containing the DLL              |
| /bin - the direcotry containing the DLL                                      |
| /usr - the parent directory of the directory containing the DLL              |
| /usr/bin - the directory containing the DLL                                  |
| /tmp - the value of the TMP environment variable                             |
| /c - C:\                                                                     |
| /d - D:\                                                                     |
| . . .                                                                        |
| /z - Z:\                                                                     |
|                                                                              |
+ ---------------------------------------------------------------------------- +

TABLE 2 - /etc/fstab layout:
+ ---------------------------------------------------------------------------- +
| The record format for the /etc/fstab is current a simple one.  I need to     |
| work on the syntax parsing more so that things like embedded spaces work.    |
| If you wish to map a path with spaces you must use the DOS style name.       |
|                                                                              |
| The record format is as follows:                                             |
| d:\some\foo\path /bar                                                        |
|                                                                              |
| As you can see this is simply the Win32 path mapped to a mount point.  It is |
| unix practice to have the /bar created as an empty directory before it can   |
| mount the mount point.  Msys doesn't force this and may or may not be to     |
| your advantage.                                                              |
|                                                                              |
| If you create a /etc/fstab record that maps to an automatic mount point Msys |
| will remove it when it adds the automatic point.  This means that at some    |
| small moment in time your mount point actually exists.  However it doesn't   |
| exist long enough to be of any use to you.                                   |
|                                                                              |
+ ---------------------------------------------------------------------------- +

Msys will convert POSIX paths that are used as arguments to Win32 paths.  This 
is done for any executable not in /bin and /usr/bin.  If the executable is 
dependant on the msys-1.0.dll then it must be located in the /bin or /usr/bin 
directory.  This means that you now have a POSIX environment that will 
automagically do the right thing wrt changing the paths passed as arguments. 
Arguments beginning with a / and have a length of two will be passed to the 
program unchanged to allow for the command.com/cmd.exe (Win32) style switch.  
This means that if you want to pass a drive as an argument you must use a 
notation similar to /c/ or c:/ (one may work better than the other in some
cases).  An example of a Win32 style switch is `write /p /mydocs/msys-rocks.'
In this example write (a.k.a. WordPad) exists in the c:\winnt\system32
path on my system.  The /p tells write to print the document.  And 
/mydocs/msys-rocks converts to c:\msys\1.0\mydocs\msys-rocks so that write can 
find it.  

Version 1.0.3 added checks for paths following an `=' and `-X' where X
is a program switch.

Version 1.0.4 added symlink resolution, removed the dependancy that the path
must begin with a / and removed bash.exe since sh.exe is bash.exe anyway.  Also
added diff, diff3 and head to the distribution.  An MSYS icon exists in the
rxvt binary.

Version 1.0.5 is a bug fix release that filters out the conversion of quoted
relative paths.  So that -DSOME_CONSTANT=\"1.0.5\" can be properly input into
gcc.  Also fixed the problem with sh.exe reading /etc/profile with \r\n line
endings.  Added the binaries true.exe, false.exe, tail.exe and fold.exe.
Updated the gmake binary to the Cygwin version including the --win32 switch.  I
am suggesting to use this version of make and have copied /bin/gmake.exe to
/bin/make (yes without the .exe).  If you wish to go back to the "native"
version of make typing make.exe will get you there.

STARTING Msys:
I'm going to make the assumptions that you've put the contents of the msys-1.0.4-bin.tar.gz in c:\ and will reference c:\msys\1.0 as / in further instructions. 
Create a shortcut on your desktop to the /msys.bat file located in /.  The short
cut "Target" field should read C:\msys\1.0\msys.bat and the "Start in" field 
should read C:\msys\1.0\bin.  Once correct, you can then double click the 
shortcut to start a bash shell running in a rxvt terminal.  I hope that it
contains enough tools to provide you with the ability to execute a configure
script.  If not, I'll consider it a package bug, so see the Bug Reports
section below.

Other documentation:
Be sure to read the MSYS_ series.  I have tried to document how I'm changing
the cygwin code to allow us to use it with MSYS.  These can be found in the
/doc/msys directory, or you can find them in the /usr/doc/msys directory.

Using different binaries:
You can't use Cygwin binaries at all.  You can use Win32 native binaries but you
should put them into the /mingw/bin directory tree.  If you wish to replace an 
MSYS binary with a native win32 version then delete the /bin version.

Bug Reports:
Send your bug reports to MinGW-msys@lists.sf.net.

User Posts:
MinGW-msys@lists.sf.net
