MSYS was created out of a long-lived desire to provide the MinGW community a Minimal SYStem, with which a configure script could be executed in a Windows environment.
"Msys is just a native compiled bash plus some other native compiled gnu tools. . . . The point is there is a minimal posix-style command line environment that should just be enough to run configure scripts. Unlike cygwin which gives you a full linux-style command line and runtime environment. . . . It's a minimal cygwin. . . . The main issue is that the configure result is suitable for mingw gcc to generate native compiled binaries."
See Building Tcl/Tk with Mingw for info about building Tcl/Tk with Msys and Mingw.
More information about Msys can be found here:
Outdated materialSome very old versions (2005 and older) of msys and mingw can be downloaded here:
http://sourceforge.net/project/showfiles.php?group_id=10894
It is the same software once available from http://mingw.org/ , except that all the needed software was packaged into a single download. The software worked with older Tcl and Tk version but are now probably only of historical interest.
MinGW, a contraction of "Minimalist GNU for Windows", is a minimalist development environment for native Microsoft Windows applications.
MinGW provides a complete Open Source programming tool set which is suitable for the development of native MS-Windows applications, and which do not depend on any 3rd-party C-Runtime DLLs. (It does depend on a number of DLLs provided by Microsoft themselves, as components of the operating system; most notable among these is MSVCRT.DLL, the Microsoft C runtime library. Additionally, threaded applications must ship with a freely distributable thread support DLL, provided as part of MinGW itself).
MinGW compilers provide access to the functionality of the Microsoft C runtime and some language-specific runtimes. MinGW, being Minimalist, does not, and never will, attempt to provide a POSIX runtime environment for POSIX application deployment on MS-Windows. If you want POSIX application deployment on this platform, please consider Cygwin instead.
RS: I've installed msys on W95 and Win XP and like them quite much. Beyond allowing configure/make to pass, it also gives a decent interactive shell (way better than command.com or cmd.exe...) Just some notes:
vaselinessa: Adding a line to the very end of /etc/profile can make your shell read ~/.bashrc on startup:
. ./.bashrc
Duoas The shell only looks for ~/.profile, AFAIK. Put your configuration there. - RS: Great, thanks very much! Friendly hackers still beat the documentation, like bash's
$ sh -c "help set"
where it says (and I had no other documentation at hand):
-i Force the shell to be an "interactive" one. Interactive shells always read `~/.bashrc' on startup.
Also, I've never liked the wonky M icon that comes with MSYS, so I made my own: [L1 ]
LV If I have a system with a newer mingw already installed, is there a relatively painless way to get msys installed ? If I read the above info about the download zip correctly, it will install a relatively old version of mingw as a part of its installation process.
Duoas No, the MSYS/MinGW site is very confusing to read, but MSYS is separate from MinGW. In fact, when you install, be very careful to keep them separate. Never mix MSYS and MinGW. For example, on my XP, I have MSYS installed at C:\Program Files\msys and MinGW at C:\Program Files\MinGW . Keep in mind that my directories are abnormal (a lot of nix utilities need special help to deal with paths containing spaces --even those that ought to know better [bjam, for example]).
For others reading or installing MSYS for the first time: install MinGW first, and MSYS second. Doing so will make your make work right. (Don't mess with it!) You may want to create a link named "make" pointing to the mingw32-make.exe file, so you can actually type "make" at the command prompt. A simple alias will usually do just fine; in your ~/.profile add a line that reads
alias make=`ming32-make`
Hope this helps.
LV 2009-Sep-18
Will installation of Msys and Mingw be sufficient to deal with cases where the source distribution contains a configure.in and not a configure? Or does one have to chase down the long chain of programs that one needs to install to run authconf?
Duoas 2009-Sep-27
Typically, yes.
MSYS includes autoconf and automake. They aren't the latest versions, though, and will have problems with certain compile configurations (not related to anything Tcl does). IIRC, it is notoriously difficult to compile them under MSYS, and there are some resources around the web about it. I think there is information about it related to making work.