[pushed] Darwin: Suppress adding embedded rpaths for earlier OS versions.
Checks
Commit Message
The current setup leads to spurious test fails, where we are building for
macOS 10.4 or earlier.
Tested on x86_64, i868, powerpc Darwin, x86_64 Linux, pushed to trunk,
thanks
Iain
--- 8< ---
When we have @rpath support by virtue of the OS version we're hosting on
we still need to omit those rpath entries when targeting < 10.5 (or the
linker will complain). To do this we (maybe ab-)use a property of the
spec function expansion that a non-null return value can be used as the
true input to a second spec (whereas, unfortunately, we cannot pass specs
to the version function at present).
gcc/ChangeLog:
* config/darwin.h (DARWIN_RPATH_SPEC): Arrange for the %P spec
to be conditional on macosx-version-min.
Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
---
gcc/config/darwin.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
@@ -612,8 +612,7 @@ extern GTY(()) int darwin_ms_struct;
director as one being loaded. */
#define DARWIN_RPATH_SPEC \
"%:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
- %:version-compare(>= 10.5 mmacosx-version-min= @loader_path) \
- %P "
+ %{%:version-compare(>= 10.5 mmacosx-version-min= @loader_path): %P }"
#else
#define DARWIN_RPATH_SPEC ""
#endif