ronaldoussoren / macholib

macholib can be used to analyze and edit Mach-O headers, the executable format used by Mac OS X. It's typically used as a dependency analysis tool, and also to rewrite dylib references in Mach-O headers to be @executable_path relative. Though this tool targets a platform specific file format, it is pure python code that is platform and endian independent.
MIT License
91 stars 19 forks source link

Support @loader_path and @rpath #2

Open ronaldoussoren opened 13 years ago

ronaldoussoren commented 13 years ago

Original report by Ronald Oussoren (Bitbucket: ronaldoussoren, GitHub: ronaldoussoren).


Since at least OSX 10.5 dyld has supported the @loader_path and @rpath special prefixes for the installed name in library dependencies.

Macholib needs to support those in rewrites and while looking for libraries (macholib.dyld)

ronaldoussoren commented 12 years ago

Original comment by Anonymous.


Hi Ronald,

Has there been any progress on this issue? Or is there a recommended workaround to switch the @executable_path references to @loader_path? I'm using py2app to build a plugin, which breaks when imported into Xcode since the @executable_path differs when referring to frameworks used by the plugin. I would very much appreciate support for this.

Thanks for your hard work on py2app!

Shravan

ronaldoussoren commented 7 years ago

Original comment by Ronald Oussoren (Bitbucket: ronaldoussoren, GitHub: ronaldoussoren).


py2apps now mostly works with shared libraries that use @loader_path, this will be in the next release.

Changing py2app to use @loader_path instead of @executable_path would be a lot more work, this may or may not happen.