I’ve looked a little more into the linking problems I’ve been having and noticed that on Darwin, smartlink.c is compiled to use LD_LIBRARY_PATH/LD_RUN_PATH. That’s problematic, because Darwin uses DYLD_LIBRARY_PATH and doesn’t have an equivalent of LD_RUN_PATH, so it doesn’t seem like smart link is doing much of anything for us on Darwin.
I considered switching it to use -Wl,-rpath, however the darwin linker -rpath flag works differently from all of the other variants in that it only accepts one path per instance of the flag. smartlink.c seems to be set up to use a colon delimited list, which won’t work on Darwin (well, it isn’t rejected but won’t work as required).
Before I start cluttering up smartlink.c with the code necessary to properly support the Darwin linker, does anyone have any thoughts?
Bill