summaryrefslogtreecommitdiff
path: root/mk/platform
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2014-08-28 15:46:35 +0000
committerjperkin <jperkin@pkgsrc.org>2014-08-28 15:46:35 +0000
commit6ab1d8548d5dad8d878a4b5e05a0ccfec5b5e92f (patch)
tree250687cd96416a105105e52b2a7c37daed908259 /mk/platform
parent4bbc9fd5b730420f8b7b1e04ffc97d8d1046d16c (diff)
downloadpkgsrc-6ab1d8548d5dad8d878a4b5e05a0ccfec5b5e92f.tar.gz
Expand out the list of GNU ld flags we want to remove, rather than applying
a blanket removal of any long options, richard@ is concerned this may affect packages which use the long options now available in newer SunOS ld. Whilst here, transform --rpath to -R, used by a few packages.
Diffstat (limited to 'mk/platform')
-rw-r--r--mk/platform/SunOS.mk13
1 files changed, 11 insertions, 2 deletions
diff --git a/mk/platform/SunOS.mk b/mk/platform/SunOS.mk
index 2743dbbc733..0b99a919b0b 100644
--- a/mk/platform/SunOS.mk
+++ b/mk/platform/SunOS.mk
@@ -1,4 +1,4 @@
-# $NetBSD: SunOS.mk,v 1.60 2014/08/28 10:54:07 jperkin Exp $
+# $NetBSD: SunOS.mk,v 1.61 2014/08/28 15:46:35 jperkin Exp $
#
# Variable definitions for the SunOS/Solaris operating system.
@@ -79,10 +79,19 @@ _OPSYS_WHOLE_ARCHIVE_FLAG= -z allextract
_OPSYS_NO_WHOLE_ARCHIVE_FLAG= -z defaultextract
# Remove flags specific to GNU ld.
-BUILDLINK_TRANSFORM+= rm:"-Wl,--[^ ]*"
+BUILDLINK_TRANSFORM+= rm:-Wl,--as-needed
+BUILDLINK_TRANSFORM+= rm:-Wl,--export-dynamic
+BUILDLINK_TRANSFORM+= rm:-Wl,--gc-sections
+BUILDLINK_TRANSFORM+= rm:-Wl,--no-as-needed
+BUILDLINK_TRANSFORM+= rm:"-Wl,--version-script=[^ ]*"
+BUILDLINK_TRANSFORM+= rm:-Wl,--warn-common
+BUILDLINK_TRANSFORM+= rm:-Wl,--warn-shared-textrel
BUILDLINK_TRANSFORM+= rm:-Wl,-export-dynamic
BUILDLINK_TRANSFORM+= rm:-export-dynamic
+# Convert GNU ld flags to native SunOS ld flags where possible.
+BUILDLINK_TRANSFORM+= opt:-Wl,--rpath:-Wl,-R
+
# Solaris has /usr/include/iconv.h, but it's not GNU iconv, so mark it
# incompatible.
_INCOMPAT_ICONV= SunOS-*-*