From: "Gonzalo Garramuño" Date: 2007-12-08T14:57:07+09:00 Subject: Re: [Spam] Re: What's the status of compiler/compiling on windows? Luis Lavena wrote: > 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, > Absolutely. That's exactly the info I was looking at. Someone should add this to the README.win32 file, btw. On a positive note, the compiling on windows on latest stable and unstable branches has indeed improved. At least now the .dll and .lib's generated carry the compiler version in them. For what it is worth, it would also be ideal if configure.bat would allow out of source builds, like autotools (or would do out of source builds by default). That way you could avoid doing nmake clean each time. -- Gonzalo Garramu��o ggarra@advancedsl.com.ar AMD4400 - ASUS48N-E GeForce7300GT Xubuntu Gutsy