Laurent Sansonetti
lsans****@apple*****
Sat Jul 21 20:40:56 JST 2007
On Jul 21, 2007, at 12:37 PM, Eloy Duran wrote: > Hey guys, > >>> Yesterday I told with Eloy about the thread patched libruby >>> replacement issue for dmg binary distribution. >>> >>> # Finally I could understand what Eloy's idea was > Eloy >>> >>> It may be just put the patched libruby(for 1.8.2) into appropriate >>> location in RubyCocoa.framework. And ld (dynamiclinker) link it at >>> runtime. I don't know how to do it practically, but it should be >>> possible maybe. >>> >>> priority of dynamic linked libruby by ld: >>> 1st. appropriate location in RubyCocoa.framework >>> (e.g. RubyCcocoa.framework/Versions/Current/Libraries) >>> 2nd. /usr/lib >>> >>> If possible, it should be better solution rather than replacing >>> /usr/lib/libruby by the installer. > > Actually I was thinking about a Ruby.framework which could be bundle > with a RubyCocoa app. And then any C extensions and other libs could > also go in there to have a nice separation. That's what we will have... in Leopard :) > But it's more important to have something that works. > So if you guys think it's better to bundle it in the > RubyCocoa.framework then that's it :) Maybe just for the binary dmg Tiger package. The dmg package doesn't require the entire Ruby distribution, but just the patched libruby. >> I agree, this would be a better solution. I believe this is easily >> possible. >> >> Unfortunately this week end I need to take a flight, to attend OSCON >> in the US. And I will be a bit busy next week, but I will still have >> some time to hack on RubyCocoa. So I will be able to investigate >> this, >> unless someone does it first. > > I had been looking at how to create frameworks. I believe that libruby > has to be treated with install_name_tool etc. > But if we are going to bundle it in the RubyCocoa.framework then I'm > not quite sure how to..... Yes, I would bet that passing -install_name to ld(1) with the relative path inside the target bundle would work. >> # Thanks Eloy for the idea :-) >> >> To be sure, we plan to do this _only_ for the .dmg Tiger package, >> right? > > Well, I would want to have the option (in for instance standalonify, > like we already discussed Laurent) to bundle a specific version of > libruby (like 1.8.6-universal) with C extensions (does standalonify > already do this??) etc. This could be done, mmh. We will have to investigate this a bit later though (not for 0.12.0). > But for the installer this will be a good option indeed instead of > how it's now. > > Good flight Laurent! Thanks! Laurent