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
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel