Thu Aug 28 15:46:35 2014 UTC ()
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.


(jperkin)
diff -r1.60 -r1.61 pkgsrc/mk/platform/SunOS.mk

cvs diff -r1.60 -r1.61 pkgsrc/mk/platform/SunOS.mk (expand / switch to unified diff)

--- pkgsrc/mk/platform/SunOS.mk 2014/08/28 10:54:07 1.60
+++ pkgsrc/mk/platform/SunOS.mk 2014/08/28 15:46:35 1.61
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: SunOS.mk,v 1.60 2014/08/28 10:54:07 jperkin Exp $ 1# $NetBSD: SunOS.mk,v 1.61 2014/08/28 15:46:35 jperkin Exp $
2# 2#
3# Variable definitions for the SunOS/Solaris operating system. 3# Variable definitions for the SunOS/Solaris operating system.
4 4
5ECHO_N?= ${ECHO} -n 5ECHO_N?= ${ECHO} -n
6IMAKE_MAKE?= ${MAKE} # program which gets invoked by imake 6IMAKE_MAKE?= ${MAKE} # program which gets invoked by imake
7PKGLOCALEDIR?= lib 7PKGLOCALEDIR?= lib
8PS?= /bin/ps 8PS?= /bin/ps
9# XXX: default from defaults/mk.conf. Verify/correct for this platform 9# XXX: default from defaults/mk.conf. Verify/correct for this platform
10# and remove this comment. 10# and remove this comment.
11SU?= /usr/bin/su 11SU?= /usr/bin/su
12TYPE?= /usr/bin/type 12TYPE?= /usr/bin/type
13 13
14CATMAN_SECTION_SUFFIX?= yes 14CATMAN_SECTION_SUFFIX?= yes
@@ -69,30 +69,39 @@ _OPSYS_PTHREAD_AUTO= no # -lpthread nee @@ -69,30 +69,39 @@ _OPSYS_PTHREAD_AUTO= no # -lpthread nee
69_OPSYS_SHLIB_TYPE= ELF # shared lib type 69_OPSYS_SHLIB_TYPE= ELF # shared lib type
70_OPSYS_MISSING_FEATURES=asprintf 70_OPSYS_MISSING_FEATURES=asprintf
71_PATCH_CAN_BACKUP= yes # native patch(1) can make backups 71_PATCH_CAN_BACKUP= yes # native patch(1) can make backups
72_PATCH_BACKUP_ARG?= -b -V simple -z # switch to patch(1) for backup suffix 72_PATCH_BACKUP_ARG?= -b -V simple -z # switch to patch(1) for backup suffix
73_USE_RPATH= yes # add rpath to LDFLAGS 73_USE_RPATH= yes # add rpath to LDFLAGS
74 74
75# flags passed to the linker to extract all symbols from static archives. 75# flags passed to the linker to extract all symbols from static archives.
76# this is the standard Solaris linker, /usr/ccs/bin/ld. The use of GNU 76# this is the standard Solaris linker, /usr/ccs/bin/ld. The use of GNU
77# ld is not currently supported. 77# ld is not currently supported.
78_OPSYS_WHOLE_ARCHIVE_FLAG= -z allextract 78_OPSYS_WHOLE_ARCHIVE_FLAG= -z allextract
79_OPSYS_NO_WHOLE_ARCHIVE_FLAG= -z defaultextract 79_OPSYS_NO_WHOLE_ARCHIVE_FLAG= -z defaultextract
80 80
81# Remove flags specific to GNU ld. 81# Remove flags specific to GNU ld.
82BUILDLINK_TRANSFORM+= rm:"-Wl,--[^ ]*" 82BUILDLINK_TRANSFORM+= rm:-Wl,--as-needed
 83BUILDLINK_TRANSFORM+= rm:-Wl,--export-dynamic
 84BUILDLINK_TRANSFORM+= rm:-Wl,--gc-sections
 85BUILDLINK_TRANSFORM+= rm:-Wl,--no-as-needed
 86BUILDLINK_TRANSFORM+= rm:"-Wl,--version-script=[^ ]*"
 87BUILDLINK_TRANSFORM+= rm:-Wl,--warn-common
 88BUILDLINK_TRANSFORM+= rm:-Wl,--warn-shared-textrel
83BUILDLINK_TRANSFORM+= rm:-Wl,-export-dynamic 89BUILDLINK_TRANSFORM+= rm:-Wl,-export-dynamic
84BUILDLINK_TRANSFORM+= rm:-export-dynamic 90BUILDLINK_TRANSFORM+= rm:-export-dynamic
85 91
 92# Convert GNU ld flags to native SunOS ld flags where possible.
 93BUILDLINK_TRANSFORM+= opt:-Wl,--rpath:-Wl,-R
 94
86# Solaris has /usr/include/iconv.h, but it's not GNU iconv, so mark it 95# Solaris has /usr/include/iconv.h, but it's not GNU iconv, so mark it
87# incompatible. 96# incompatible.
88_INCOMPAT_ICONV= SunOS-*-* 97_INCOMPAT_ICONV= SunOS-*-*
89 98
90_STRIPFLAG_CC?= ${_INSTALL_UNSTRIPPED:D:U-s} # cc(1) option to strip 99_STRIPFLAG_CC?= ${_INSTALL_UNSTRIPPED:D:U-s} # cc(1) option to strip
91_STRIPFLAG_INSTALL?= ${_INSTALL_UNSTRIPPED:D:U-s} # install(1) option to strip 100_STRIPFLAG_INSTALL?= ${_INSTALL_UNSTRIPPED:D:U-s} # install(1) option to strip
92 101
93PKG_TOOLS_BIN?= ${LOCALBASE}/sbin 102PKG_TOOLS_BIN?= ${LOCALBASE}/sbin
94 103
95.if ${MACHINE_ARCH} == "x86_64" 104.if ${MACHINE_ARCH} == "x86_64"
96LIBABISUFFIX= /amd64 105LIBABISUFFIX= /amd64
97.endif 106.endif
98_OPSYS_SYSTEM_RPATH?= /lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX} 107_OPSYS_SYSTEM_RPATH?= /lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX}