[MacRuby-devel] experimental branch: status update

Eloy Duran eloy.de.enige at gmail.com
Mon Apr 6 06:40:28 PDT 2009


On Apr 6, 2009, at 3:28 PM, Jordan Breeding wrote:

> On Apr 06, 2009, at 08:09, Eloy Duran wrote:
>
>> Ah, on that bike! (Which is a direct translation of a Dutch saying  
>> meaning basically just "Aha!" ;-) )
>>
>> Yes that sounds like an excellent idea, will do.
>>
>> Thanks,
>> Eloy
>
> After taking a quick look at the spec tasks and the way they run it  
> might be easier to:
>
> 1) test for 64-bit enabled machines, if you are on a 32-bit machine  
> build normally an run specs normally
>
> 2) ok you are on a 64-bit machine, during build make miniruby and  
> miniruby32 (which can be made with lipo from miniruby, something  
> like `lipo -extract i386 -output miniruby 32 miniruby`)
>
> 3) have spec now point to spec:ci and spec:ci32 on 64-bit machines
>
> 4) have the individual tasks like spec:partially_green also have a  
> 32-bit version of themselves

Creating a separate miniruby is of course an option, although I'm not  
sure it would be needed. Why did you come to this conclusion?

> BTW, some of the tasks like spec:ci currently run mspec/bin/mspec  
> which has a run line of "#!/usr/bin/env ruby". To override this  
> shouldn't mspec/bin/mspec always get called as `./miniruby{,32} -I./ 
> lib mspec/bin/mspec` for MacRuby testing? Just curious.

Ah yes, this is because ./mspec/bin/mspec is a frontend script to the  
various runners, such as ./mspec/bin/mspec-ci and ./mspec/bin/mspec-run.
Based on the --target given to mspec the runners will be ran with the  
correct bin.

In our case the target, ./miniruby, is set by the ./spec/frozen/ 
macruby.mspec script. So to run the same set of selected specs on a  
different ruby you just use the correct mspec config script, for  
instance ./spec/frozen/ruby.1.9.mspec or give the --target option as  
r19 to ./mspec/bin/mspec

I hope this was a bit clear?

Eloy


More information about the MacRuby-devel mailing list