{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} {\f39\fmodern\fcharset0\fprq1{\*\panose 020b0609040504020204}Lucida Console;}{\f40\froman\fcharset238\fprq2 Times New Roman CE;}{\f41\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f43\froman\fcharset161\fprq2 Times New Roman Greek;} {\f44\froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f46\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f47\froman\fcharset186\fprq2 Times New Roman Baltic;} {\f48\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f60\fmodern\fcharset238\fprq1 Courier New CE;}{\f61\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f63\fmodern\fcharset161\fprq1 Courier New Greek;} {\f64\fmodern\fcharset162\fprq1 Courier New Tur;}{\f65\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f66\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f67\fmodern\fcharset186\fprq1 Courier New Baltic;} {\f68\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f430\fmodern\fcharset238\fprq1 Lucida Console CE;}{\f431\fmodern\fcharset204\fprq1 Lucida Console Cyr;}{\f433\fmodern\fcharset161\fprq1 Lucida Console Greek;} {\f434\fmodern\fcharset162\fprq1 Lucida Console Tur;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255; \red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{ \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}} {\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\rsidtbl \rsid16003918}{\*\generator Microsoft Word 11.0.0000;}{\info{\title File:}{\operator swt}{\creatim\yr2008\mo4\dy19\hr11\min31}{\revtim\yr2008\mo4\dy19\hr11\min31}{\version2}{\edmins1}{\nofpages3} {\nofwords1298}{\nofchars7400}{\nofcharsws8681}{\vern24613}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3 \jcompress\viewkind4\viewscale110\rsidroot16003918 \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 \pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6 \pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\tx2610\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 File:}{\rtlch\fcs1 \ai\af2\afs20 \ltrch\fcs0 \i\f2\fs20\insrsid16003918 \tab }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 README \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 Copyright (C):}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \tab 2001, 2002 Earnie Boyd \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 Distribution:}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \tab See MSYS_LICENSE \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 MSYS Revision:}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \tab 1.0.10 \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 MSYS Revision date:}{\rtlch\fcs1 \ai\af2\afs20 \ltrch\fcs0 \i\f2\fs20\insrsid16003918 \tab }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\lang1024\langfe1024\noproof\insrsid16003918 October 31, 2002}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \par }\pard \ltrpar\qc \li0\ri0\nowidctlpar\tx2610\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ai\af2\afs20 \ltrch\fcs0 \i\f2\fs20\insrsid16003918 \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 Preface:}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \par Ok, you have installed msy s 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 bindings (mounts) are automatic and happens as described in table 1. These automatic file system bindings ar e not changable by the user. User defined file system bindings can be created by specifying them in the /etc/fstab directory as explained in table 2. \par \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 TABLE 1 - Automatic file system maps:}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \par }{\rtlch\fcs1 \af39\afs16 \ltrch\fcs0 \f39\fs16\insrsid16003918 + ---------------------------------------------------------------------------- + \par | The automatic mounts are relative to where the msys-1.0.dll (DLL) is located | \par | such that the following is true: | \par | | \par | / - is the parent directory of the directory containing the DLL | \par | /bin - the direcotry containing the DLL | \par | /usr - the parent directory of the directory containing the DLL | \par | /usr/bin - the directory containing the DLL | \par | /tmp - the value of the TMP environment variable | \par | /c - C:\\ | \par | /d - D:\\ | \par | . . . | \par | /z - Z:\\ | \par | | \par + ---------------------------------------------------------------------------- + \par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 TABLE 2 - /etc/fstab layout:}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \par }{\rtlch\fcs1 \af39\afs16 \ltrch\fcs0 \f39\fs16\insrsid16003918 + ---------------------------------------------------------------------------- + \par | The record format for the /etc/fstab is current a simple one. I need to | \par | work on the syntax parsing more so that things like embedded spaces work. | \par | If you wish to map a path with spaces you must use the DOS style name. | \par | | \par | The record format is as follows: | \par | d:/some/foo/path /bar | \par | | \par | As you can see this is simply the Win32 path mapped to a mount point. It is | \par | unix practice to have the /bar created as an empty directory before it can | \par | mount the mount point. Msys doesn't force this but it will be to advantage | \par | if you do. Some programs, e.g. find, and some operations, e.g. tab | \par | operate better if the physical directory is present for those mount points. | \par | | \par | If you create a /etc/fstab record that maps to an automatic mount point Msys | \par | will remove it when it adds the automatic point. This means that at some | \par | small moment in time your mount point actually exists. However it doesn't | \par | exist long enough to be of any use to you. | \par | | \par + ---------------------------------------------------------------------------- + \par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \par 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 w.r.t. changing the paths passed as arguments. Arguments beginning with a // are considered to be Win32 style switches and will be passed to the program with // converted to / to allow for the command.com/cmd.exe (Win32) style switch. 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 becomes /p which 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. \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 \par STARTING Msys: \par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 Starting Msys should just be a matter of clicking on the MSYS i con on your desktop or Start menu. If you have the File Manager window open, you may now click on it and have it start also. Doing these presents you with a console window within which you may enter commands. \par \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 Working with MinGW: \par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 If you already have MinG W installed then simply bind the path to MinGW to the /mingw mount point in the /etc/fstab as described above. If you don't have MinGW installed already then simply unarchive the MinGW tar.gz file in the /mingw directory. }{\rtlch\fcs1 \ab\af2\afs20 \ltrch\fcs0 \b\f2\fs20\ul\insrsid16003918 DO NOT}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 unarchive the MinGW tar.gz file in the / directory. \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 \par Working with other products: \par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 I find that the easiest thing for working with other products, such as Microsoft Office, is to create a script pointing to the executable. An example of a script for Microsoft Word on my system look s like the example in Table 3. I have this stored in my /usr/local/bin directory with a filename of word. Now all I need to do to edit a word document is `word /mydoc/proposal.doc' and voila up pops a Microsoft Word window with my document in it. \par \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 Table 3 - Script to execute MS Word from the command line: \par }{\rtlch\fcs1 \af39\afs16 \ltrch\fcs0 \f39\fs16\insrsid16003918 + ---------------------------------------------------------------------------- + \par + #!/bin/sh + \par + start '/c/Program\\ Files/Microsoft\\ Office/Office/WINWORD' $@ + \par + ---------------------------------------------------------------------------- + \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 \par Other documentation:}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \par 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. \par \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 Using binaries with different runtimes:}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \par You can't use Cygwin binaries at all and if you try you'll most likely just cause the processes to "hang". You can use Win32 native binaries but you should put them into the /mingw/bin or your /usr/local/bin directory tree. If you wish to replace an MSYS binary with a native win32 version then delete or rename the /bin version. \par \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 Effective use of the clipboard: \par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 You may use the clipboard with MSYS. When using rxvt (the default installation) as the terminal, just selecting with data with click and drag of the mouse, copies the data to the clipboard. To paste the clipboard data in the rxvt terminal you can Shif t and Left Click or press both mouse buttons if 3 button mouse emulation is on or press the mouse wheel. To copy the highlighted data to your favorite windows email client the you use the paste options for that program, typically Ctrl-V. You can also us e interesting bash shell commands such as `cat /dev/clipboard > /tmp/foo' or `less -f /dev/clipboard'. Data entered into the clipboard by non-MSYS programs can also be used by MSYS programs and vice versa.}{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 \par \par Bug Reports:}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \par Send your bug reports to MinGW-msys@lists.sf.net. \par \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 User Posts:}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 \par MinGW-msys@lists.sf.net \par \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 Disclaimer: \par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 Products mentioned in this and other documents are solely owned by their trademark owners. We claim no rights to those trademarks and any mention of those products are for example only. Your uses of those products are your responsibility and no endorsement of any mentioned product is being given. \par \par }{\rtlch\fcs1 \ab\ai\af2\afs20 \ltrch\fcs0 \b\i\f2\fs20\insrsid16003918 Change History: \par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid16003918 Version 1.0.3 added checks for paths following an `=' and `-X' where X \par is a program switch. \par \par Version 1.0.4 added symlink resolution, removed the dependancy that the pathmust 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. \par \par 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. \par \par Version 1.0.6 through current: See the appropriate MSYS--changes.rtf document. \par }}