[MacRuby-devel] experimental branch: status update

Eloy Duran eloy.de.enige at gmail.com
Mon Apr 6 07:15:01 PDT 2009


>>> 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?
>
> Because I don't know if gdb places nice with `arch -arch i386` but  
> you can definitely do `gdb ./miniruby32`
>
>>
>>> 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
>
> Yeah, that makes it clearer, so there would need to be a way to make  
> sure that for regular tasks like spec:ci the runner still just gets  
> set to ./miniruby, but for new tasks like spec:ci32 it should get  
> set to either `./miniruby32` or `arch -arch i386 ./miniruby`.

Cool, I'll have a look tonight (or whenever) at if we even need a  
second binary or if there's some way to run the specs and also use for  
instance gdb.

Eloy


More information about the MacRuby-devel mailing list