From: Luis Lavena Date: 2007-12-08T03:41:48+09:00 Subject: Re: [Spam] Re: What's the status of compiler/compiling on windows? On Dec 7, 2007 8:21 AM, Gonzalo Garramu��o wrote: > > Nobuyoshi Nakada wrote: > > Hi, > > > > At Fri, 7 Dec 2007 17:26:12 +0900, > > Gonzalo Garramu��o wrote in [ruby-core:13908]: > >> My understanding is that one-click is still being compiled with MSVC6, > >> right? So... how hard is it these days to create your own ruby > >> compilation on windows from source? > > > > Have you given a glance at win32/REAME.win32 file? > > > > Yes. That just tells me how to get a bare-bones ruby install. > Does not mention anything about how gems would be handled if I compile > my own ruby version (I assume those are compiled for the one-click > installer version). > pure ruby gems (Gem::Platform::RUBY) will work without problems. Gems compiled with 'mswin32' platform will not be compatible due runtime linking (msvcrt.dll versus msvcr80.dll, search the list about this topic). You will require to generate new gems based on Gem::Platform::CURRENT (which is the best for this case). > I basically want to distribute a vc7 or vc8 compiled ruby with my > application, but it must work seamlessly with all gems and anything > else. More so, I might even want to distribute something more akin to > the one-click installer rather than something barebones. > I wish you luck, honestly. a VC8 or VC9 compiled ruby is way beyond be considered "compatible" with One-Click installer, which grab the VC6 build from garbagecollect page (we don't build it ourself). > So, I ask again, what's the status of ruby on windows? Still a mess? > Yes and no. Is a mess if you try to mix compilers. Ruby will with VC6 will allow extensions and gems be compiled with mingw, but VC7 or VC8 builds don't (untill we get a mingw version that link against the updated runtimes). The same fate faces other languages like Python, the mix of compilers is a problem. Also you need to compile all the dependencies (zlib, openssl, readline, pdcurses) all with the same compiler, to provide the same extensions that One-Click provides. > Being that gems is now part of ruby1.9, I think some more clarification > in the docs is in order. RubyGems (in this repo trunk) works better with windows than 0.9.5 release. I don't know the exact state of the gems version included on trunk, but guess is the same. Latest RubyGems identify properly gems created with VC6 and gems created with VC8. Hope this information helps, -- Luis Lavena Multimedia systems - A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. Douglas Adams