[MacRuby-devel] Trying to embed standard Ruby in an app...how does MacRuby do it?

Kevin Walzer kw at codebykevin.com
Mon Apr 28 07:31:44 PDT 2014


On 4/28/14, 8:52 AM, Shannon Love wrote:
> Macruby rewrote ruby from the ground up in objective-c. It installed an entirely different framework and generated it's own gems etc. When you  compiled the app, you got objective-c, not ruby, at runtime. You did end up with the entire MacRuby framework in every app and IIRC, any gems you wished as well. As a result, even a very simple Macruby app had a huge disk footprint.
>
> Looks like install_name_tool's entire point is to copy a tool into a project and then alter the paths to be relative to the executable. If it's not doing that it's likely a config problem with the tool and not the nature the Ruby install.

Actually, I found a configure flag for Ruby that makes this feasible: 
--enable-load-relative

After that, I was able to do some additional jiggering with 
install_name_tool to get things running as expected in an app bundle.

--Kevin

-- 
Kevin Walzer
Code by Kevin/Mobile Code by Kevin
http://www.codebykevin.com
http://www.wtmobilesoftware.com


More information about the MacRuby-devel mailing list