On Jan 15, 5:21    ⮮
> Hi all,
>
> I am trying to work out a 'better' way of determing if my ruby code is
> running on a Windows platform, and so far I've had to modify the
> standard RUBY_PLATFORM several times depending on which version of
> windows/compiler etc. it was built with. I also tried using
>
> require 'rbconfig'
> Config::CONFIG['host_os']
>
> but found that (with 1.8.6) there are still distinction versions
> reported on windows, such as a mingw32 build reporting an os of
> 'mingw32'.
>

That is because is not the OS, but also the C Runtime used to link to
Ruby and the tools to built it.

MinGW == GCC and mswin32 for VC6

Also mswin32_80 for VS2008

And you also have cygwin and other compilers.

> I came up with Config::CONFIG['EXEEXT'] to determine whether it is
> running on Windows as opposed to any other platform we support. Windows
> return ".exe" and other platforms tested come back with "", so that
> seems to work, but is there a better way?

host_os and evaluate /mswin|mingw/

There is no perfect solution.

--
Luis Lavena