Well, I was doing some reading when I started to learn about building on a Mac. So, my knowledge is limited and/or out dated.
If you look at the above references, then I think the preference is to use the macro @loader_path rather than @executable_path due to mechanism of resolution of these macros. As or 10.5, I think you would want to use @rpath.
However, as I said, I utilize the /tmp folder which is always available and mounting and u-mounting the framerwork at /tmp does not include any name clashes and allows me to locate the App anywhere. Moreover, I don't have to content with build processes where the prefix is "a-very-very-long-path-that-I-can-modify-with_install_name_tool" and contend with headerpad_max_install_names though I still use header padding as a matter of routine.
Finally, I make no claims about being an expert in any of these and purely do this as a hobby in an effort to learn about the Mac system.
Thanks, Partha
On Mon, Jan 5, 2015 at 2:50 PM, su_v <suv-sf@...58...> wrote:
On 2015-01-05 19:40 (+0100), Partha Bagchi wrote:
Would you mind sharing details on your build environment, and your custom packaging scripts [2]? Do you use the same "symbolic links in /tmp"-hack for your Inkscape packages to achieve some kind of relocation support as in your McGIMP packages?
Yes, I use the same "hack" whereby I mount the library system on tmp. This way you can launch the App from anywhere you like. From my various readings, using @executable_path is also considered a no-no which is what some other Apps seem to use.
Just curious: Any official sources for this statement ("@executable_path is also considered a no-no")?
The "no-no" I'm aware of is using '$DYLD_LIBRARY_PATH' in deployed software (i.e. outside of development and testing environments) instead of making the effort to rewrite the library paths with install_name_tool [1].
Regards, V
[1] install_name_tool is part of the cctools (installed with Xcode), see http://www.opensource.apple.com/source/cctools/cctools-862/misc/install_name...
@executable_path and @loader_path are described on the man page of dyld: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPa...