From: Luis Lavena Date: 2008-04-08T00:40:08+09:00 Subject: Re: gem build documentation for new gems? On 7 abr, 11:30, Phillip Gawlowski wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Gerardo Santana Gómez Garrido wrote: > > | Well, Luis Lavena's work is promising. It's time for extension > | developers to try this environment and make the changes needed. After > | that, anybody would be able to automatically download and build > | extensions. > > It indeed is. However, the best solution would be to offer an SDKish > package for developers, and a RREish (Ruby Runtime Environment :P) at > the same time. The former for developers, and the latter for end-users. > Hey Phillip, Thank you for testing and advertising the progress of One-Click Installer with MinGW. For the record, there is a plan for two packages: A Runtime Environment (Ruby+RubyGems) and a Developer Kit (MinGW+MSYS), as described in my blog: http://blog.mmediasys.com/2008/03/29/progress-of-one-click-installer-rubyinstaller/ The idea is those gems that didn't come pre-built for i386-mingw32 platform, you can install the Developer Kit and get it build, without messing with manually getting MinGW and MSYS installed. > However, this distinction is a bit blurry, with Ruby not compiling to > byte-code/machine code, and not needing a compiler environment as Java does. > > However, I'm of the opinion that nobody who doesn't want to, shouldn't > *have to* compile extensions. > Well, is not easy for gem developers provides pre-built binaries for their work across every platform ruby is available. Sometimes they need our help ;-) > And to handle these case, it is necessary to define a way to handle > header files and source files on the one hand, and to handle "just" the > extensions in a neat way (integrated to RubyGems would be best. > Something like a #has_gcc_compiler? method. I had discussed this several times with lots of folks, is not RubyGems responsability handle your compiler needs, currently it fires the make/ nmake procedure after called extconf script. Also, you can provide optionals to extconf (mkmf) with --path-to-this- library, which will keep your MinGW environment clean. That is a good practice on other platforms, should be the same for Windows. > *shrugs* > ;-) Regards, -- Luis Lavena