Ruby-mswin32 is a Ruby binary which runs on 32bit versions of Windows (Windows95, Windows98, Windows Me, Windows NT, Windows 2000, WindowsXP, Windows 2003 Server, Windows Vista and Windows Server 2008).
There are 6 ports which run on Windows. They are called mswin32, cygwin, mingw32, bccwin32, interix, and djgpp.
The differences are...
- mswin32
- Compiled by Microsoft Visual C++. This is the most 'standard' binary from the common point-of-view in the Windows world. But we cannot use some parts of characteristic functions which ruby on UNIX has. After 1.7.3, mswin32 has binary level compatibility of extension libraries with mingw32. RUBY_PLATFORM is *-mswin32.
- cygwin
- Compiled by gcc, and run on cygwin environment. Cygwin environment provides Windows with UNIX-like environment, so, ruby-cygwin runs about like ruby on UNIX (expectably). RUBY_PLATFORM is *-cygwin.
- mingw32
- Compiled by gcc. Since most of the source code of ruby-mingw32 is the same as ruby-mswin32, the behaviors of it are almost the same as that of ruby-mswin32 (probably). After 1.7.3, mingw32 has binary level compatibility of extension libraries with mswin32. RUBY_PLATFORM is *-mingw32.
- bccwin32
- Compiled by Borland C++. Most source code of ruby-bccwin32 are as common as ruby-mswin32, but the runtime library is not same. So, there are some little differences with the behaviors (probably). This is officially supported with version 1.7 or later. RUBY_PLATFORM is *-bccwin32.
- interix
- Compiled by gcc, and run on SFU(Services for UNIX) environment. SFU environment provides Windows with POSIX compatible environment, so, ruby-interix runs like ruby on UNIX (hopefully). RUBY_PLATFORM is *-interix3.
- djgpp
- Compiled by DJGPP. This binary is for DOS, so it can run on DOS, too. We cannot use many of functions which are in Windows and are not in DOS (networking, dynamic extensions loading, etc.). RUBY_PLATFORM is *-msdosdjgpp.
On this site, only mswin32 is treated among the above. You can find others (cygwin, mingw32, and djgpp) on Ruby binaries written by Mr. Watanabe. And you can find bccwin32 on Ruby written by Mr. Konishi (but the page is written in Japanese). And you can find interix on Tool Warehouse for SFU/Interix.
mswin64
After 1.9.0, 64bit versions Windows (x64 editions of Windows XP, Windows 2003 Server, Windows Vista and Windows Server 2008) are also supported. (IA64 editions are maybe supported, too, but no one tested it).
This site also treats mswin64 version of ruby.