Digging deeper, it appears that when you require 'rubygems' it looks at RbConfig, specifically RbConfig::CONFIG['arch']
-- Will Green http://hotgazpacho.org/ On Wed, Mar 3, 2010 at 1:18 PM, Will Green <w...@hotgazpacho.org> wrote: > It does seem to. > > Ruby Gems maintains a list of platform mappings. > > See lib\ruby\site_ruby\1.8\rubygems\platform.rb in the initialize method. > Whatever initializes Gem::Platform seems to look at RUBY_PLATFORM > > C:\IronRuby\bin>ir > IronRuby 0.9.4.0 on .NET 2.0.50727.4927 > Copyright (c) Microsoft Corporation. All rights reserved. > > >>> require 'rubygems' > => true > >>> Gem::Platform.local() > => #<Gem::Platform:0x1ec @cpu="x86", @os="mswin32", @version="60"> > >>> RUBY_PLATFORM > => "i386-mswin32" > >>> p = Gem::Platform.new('universal-.net-3.5') > => #<Gem::Platform:0x1ee @cpu="universal", @os=".net", @version="3.5"> > > -- > Will Green > http://hotgazpacho.org/ > > > On Wed, Mar 3, 2010 at 1:10 PM, Jim Deville <jdevi...@microsoft.com>wrote: > >> Isn't that just keying off of RUBY_PLATFORM and other constants? >> >> >> >> ------------------------------ >> From: Shri Borde <shri.bo...@microsoft.com> >> Sent: Wednesday, March 03, 2010 9:55 AM >> To: ironruby-core@rubyforge.org <ironruby-core@rubyforge.org> >> >> Subject: Re: [Ironruby-core] IronRuby version of existing gems >> >> It does seem like there isn’t a way to distinguish between IronRuby and >> MRI. >> >> >> >> C:\> ir.exe >> >> >>> require "rubygems" >> >> => true >> >> >>> Gem::Platform.local() >> >> => #<Gem::Platform:0x1409 @cpu="x86", @os="mswin32", @version="60"> >> >> >> >> JRuby otoh does seem to do something different >> >> >> >> C:\> jruby.exe >> >> irb(main):001:0> require "rubygems" >> >> => true >> >> irb(main):002:0> Gem::Platform.local() >> >> => #<Gem::Platform:0xf0 @cpu=*"universal"*, @os=*"java"*, @version="1.6"> >> >> >> >> *From:* ironruby-core-boun...@rubyforge.org [mailto: >> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Will Green >> *Sent:* Tuesday, March 02, 2010 11:52 AM >> *To:* ironruby-core@rubyforge.org >> *Subject:* Re: [Ironruby-core] IronRuby version of existing gems >> >> >> >> That all depends on how Gem checks the platform. If it uses the >> RUBY_PLATFORM variable, then IronRuby needs to change what it reports here. >> Currently, it reports i386-mswin32. >> >> >> -- >> Will Green >> http://hotgazpacho.org/ >> >> On Tue, Mar 2, 2010 at 1:07 PM, Jim Deville <jdevi...@microsoft.com> >> wrote: >> >> I believe JRuby is doing the 1st one, which makes sense in my opinion. If >> possible we should prefer platform == “ironruby”, (or .net, do we need to >> differentiate .net and mono?), but accept others. >> >> >> >> JD >> >> >> >> *From:* ironruby-core-boun...@rubyforge.org [mailto: >> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Shri Borde >> *Sent:* Tuesday, March 02, 2010 10:02 AM >> *To:* ironruby-core@rubyforge.org >> *Subject:* [Ironruby-core] IronRuby version of existing gems >> >> >> >> This brings a question to mind - what should the general approach be for >> porting existing gems to IronRuby? There could be two possible approaches: >> >> 1. Create a gem with the same name (“win32console” in this case), >> and specify platform==”ironruby”. That way, dependent gems do not need to be >> updated, and users have to remember just one name. IronRuby will use the >> version with platform==”ironruby”, and MRI will use the one with >> platform==”mswin32”. So there should not be any clashes even if you use MRI >> and IronRuby on the same machine. >> >> 2. Create a new gem like iron-term-ansicolor. >> >> >> >> Any pro or cons to the two? What should the recommendation be in general? >> >> >> >> *From:* ironruby-core-boun...@rubyforge.org [mailto: >> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Will Green >> *Sent:* Tuesday, March 02, 2010 7:47 AM >> *To:* ironruby-core >> *Subject:* Re: [Ironruby-core] iron-term-ansicolor 0.0.2 Released >> >> >> >> I released iron-term-ansicolor 0.0.3 last night after testing the gem >> install locally first. >> >> >> >> Please let me know if you still have trouble installing it from >> Rubygems.org. >> >> >> >> Also, I've submitted a patch to RSpec to use iron-term-ansicolor if it >> can, the same way it tries to use win32console under MRI. >> >> >> -- >> Will Green >> http://hotgazpacho.org/ >> >> >> >> >> _______________________________________________ >> Ironruby-core mailing list >> Ironruby-core@rubyforge.org >> http://rubyforge.org/mailman/listinfo/ironruby-core >> >> >> >> _______________________________________________ >> Ironruby-core mailing list >> Ironruby-core@rubyforge.org >> http://rubyforge.org/mailman/listinfo/ironruby-core >> >> >
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core