On Monday, Feb 10, 2003, at 12:04 America/New_York, Adam Lindsay wrote:
MACOSXLDFLAGS = -bundle -bundle_loader /path/to/pd/bin/pd -flat_namespace
(often you will find "-undefined suppress" in the place of "- bundle_loader", but explicitly telling the linker about Pd's symbols is better.)
One other question which will hopefully benefit other budding Darwin porters like me: if I use the -bundle_loader /path/to/pd/bin/pd flag instead of -undefined suppress, will it tie that executable to pd being install in that path? So if I install that binary into a PD install that's in /local/path/to/pd/bin/pd, will that binary still work?
Here is the man page section on this, I read it, but I want to make sure I understand:
When creating bundles (MH_BUNDLE outputs) with the static link editor when two-level namespace is in effect (now the default) and the bundle has references to symbols expected to be defined in the pro- gram loading the bundle, then the -bundle_loader executable must be used.
...
-bundle_loader executable This specifies the executable that will be loading the bundle output file being linked. Unde- fined symbols from the bundle are checked against the specified executable like it was one of the dynamic libraries the bundle was linked with. If the bundle being created with -twolevel_namespace in effect then the searching of the executable for symbols is based on the placement of the -bundle_loader flag relative to the dynamic libraries. If the the bundle being created with -flat_namespace then the searching of the executable is done before all dynamic libraries.
.hc