What is Msys for?
If you learn how to program using
Msys, your build process will be portable. This means that you can package makefiles
code and other stuff you've used to create your program, bring it to a *NIX system
and the package should build. This helps a
LOT when you are doing cross
platform development. And you can keep all your games.
install
Get the mingw package from
mingw at sourceforge
and install it. To be sure it works get the ‘current’ version. Get the msys package
from the same page and install it (installer). A console window will open and ask you for the
path to the mingw binary, type the path, if it is correct this will be confirmed. Next you
can click the Msys icon on your desktop and start using ‘native’ unix tools.
Essentials
Another essential you need to
install is
the Msys developer
toolkit. It will install a (Msys native!) perl version and some other stuff
that is heavily used by configuration scripts. Now some of us still want more,
which is not strange ofcourse, you might need bison and flex to build some parser,
or you might want to use nasm to compile xvid.
Native windows versus native Msys
Most Gnu tools are
ported to native windows versions, you can find them at
gnuwin32 at sourceforge
however these are NOT native Msys versions. If you just put these
tools in the Msys /bin or Msys /usr/bin dir, which seems natural, you're
in trouble.
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. So
if you place Gnu tools in the /bin or /usr/bin of Msys,the conversion won't take place.
Since the stuff you find on
gnuwin32
is ported to windows, they expect win32 paths.
That's why you must place all
native windows tools
you want to use in the
MinGW/bin directory. That way it is still
in your path whenever you are in an Msys shell.Only
especially for Msys developed tools
go in the Msys/bin directory.
more stuff
For example if you want Bison,
you can’t get the native Msys build, cuz it is buggy, you must get the build
from
gnuwin32 . You have to tinker
a bit with the installer to get it to install in the Mingw directory, but this way
you should be able to use most of the Gnu tools.
environment variables
When you are using Msys,
you might need some environment variables set every time, like CVSROOT or whatever.
You can set them in msys.bat which is in your msys directory add something like:
set CVSROOT=/home/root/trunk. Then they'll be there every time. The other way is
to use export...
Good luck!
Don't forget to read the README file in the msys doc directory