summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorsalo <salo@pkgsrc.org>2003-07-09 16:07:21 +0000
committersalo <salo@pkgsrc.org>2003-07-09 16:07:21 +0000
commitd750aba60714e0d9cea99f9db0eedba304b13c15 (patch)
tree91ab69339109865a376c1d2319d9469f80870f06 /mk
parentf1bd37d7e60351b7c10cb0f7788e77751369fd9c (diff)
downloadpkgsrc-d750aba60714e0d9cea99f9db0eedba304b13c15.tar.gz
More support bits for native Sun compilers (on Solaris).
Sun's C++ compiler (CC) doesn't support passing arguments to ld via -Wl flag, remove this flag from the buildlink2 environment.
Diffstat (limited to 'mk')
-rw-r--r--mk/bsd.prefs.mk10
-rw-r--r--mk/buildlink2/bsd.buildlink2.mk7
-rw-r--r--mk/buildlink2/gen-transform.sh14
3 files changed, 28 insertions, 3 deletions
diff --git a/mk/bsd.prefs.mk b/mk/bsd.prefs.mk
index 3873e69a904..e43c1422aaa 100644
--- a/mk/bsd.prefs.mk
+++ b/mk/bsd.prefs.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.prefs.mk,v 1.115 2003/07/09 11:38:17 abs Exp $
+# $NetBSD: bsd.prefs.mk,v 1.116 2003/07/09 16:07:21 salo Exp $
#
# Make file, included to get the site preferences, if any. Should
# only be included by package Makefiles before any .if defined()
@@ -349,4 +349,12 @@ WRKDIR?= ${BUILD_DIR}/${WRKDIR_BASENAME}
USE_GCC2= YES
.endif
+# Sun C++ compilers don't support passing ld flags with -Wl to CC.
+#
+.if defined(USE_SUNPRO)
+_COMPILER_LD_FLAG= # pattern for Sun compilers
+.else
+_COMPILER_LD_FLAG= -Wl, # pattern for GCC and others
+.endif
+
.endif # BSD_PKG_MK
diff --git a/mk/buildlink2/bsd.buildlink2.mk b/mk/buildlink2/bsd.buildlink2.mk
index 5c9d6a9d7ab..d3ce5e9b1c4 100644
--- a/mk/buildlink2/bsd.buildlink2.mk
+++ b/mk/buildlink2/bsd.buildlink2.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.buildlink2.mk,v 1.88 2003/07/02 21:19:09 seb Exp $
+# $NetBSD: bsd.buildlink2.mk,v 1.89 2003/07/09 16:07:22 salo Exp $
#
# An example package buildlink2.mk file:
#
@@ -371,9 +371,12 @@ _BLNK_TRANSFORM+= S:-I/usr/include:
_BLNK_TRANSFORM+= S:-L/usr/lib:
#
# Remove -Wl,-R* and *-rpath* if _USE_RPATH != "yes"
+# Transform -Wl,-R* and *-rpath* if Sun compilers are used.
#
.if defined(_USE_RPATH) && empty(_USE_RPATH:M[yY][eE][sS])
_BLNK_TRANSFORM+= no-rpath
+.elif defined(USE_SUNPRO)
+_BLNK_TRANSFORM+= sanitize-rpath
.endif
_BLNK_TRANSFORM+= ${_BLNK_UNPROTECT}
@@ -957,6 +960,8 @@ ${_BLNK_GEN_TRANSFORM}: ${.CURDIR}/../../mk/buildlink2/gen-transform.sh
${_PKG_SILENT}${_PKG_DEBUG}${SED} \
-e "s|@_BLNK_TRANSFORM_SEDFILE@|${_BLNK_TRANSFORM_SEDFILE:Q}|g" \
-e "s|@_BLNK_UNTRANSFORM_SEDFILE@|${_BLNK_UNTRANSFORM_SEDFILE:Q}|g" \
+ -e "s|@_COMPILER_LD_FLAG@|${_COMPILER_LD_FLAG:Q}|g" \
+ -e "s|@_OPSYS_RPATH_NAME@|${_OPSYS_RPATH_NAME:Q}|g" \
-e "s|@BUILDLINK_SHELL@|${BUILDLINK_SHELL:Q}|g" \
-e "s|@CAT@|${CAT:Q}|g" \
${.ALLSRC} > ${.TARGET}.tmp
diff --git a/mk/buildlink2/gen-transform.sh b/mk/buildlink2/gen-transform.sh
index e093ecee8a2..1e6c01e0ed2 100644
--- a/mk/buildlink2/gen-transform.sh
+++ b/mk/buildlink2/gen-transform.sh
@@ -1,6 +1,6 @@
#!@BUILDLINK_SHELL@
#
-# $NetBSD: gen-transform.sh,v 1.11 2003/04/15 17:28:05 grant Exp $
+# $NetBSD: gen-transform.sh,v 1.12 2003/07/09 16:07:22 salo Exp $
transform="@_BLNK_TRANSFORM_SEDFILE@"
untransform="@_BLNK_UNTRANSFORM_SEDFILE@"
@@ -18,6 +18,8 @@ untransform="@_BLNK_UNTRANSFORM_SEDFILE@"
# s:foo:bar translates "foo" into "bar"
# static:src:dst translates "src/libfoo.a" into "dst/libfoo.a"
# no-rpath removes "-R*", "-Wl,-R", and "-Wl,-rpath,*"
+# sanitize-rpath translates "-Wl,-R", and "-Wl,-rpath,*"
+# to whatever is appropriate
gen() {
action=$1; shift
@@ -132,6 +134,16 @@ EOF
;;
esac
;;
+ sanitize-rpath)
+ case "$action" in
+ transform|untransform)
+ @CAT@ >> $sedfile << EOF
+s|-Wl,-R\([^ "':;]*\)|@_COMPILER_LD_FLAG@@_OPSYS_RPATH_NAME@\1|g
+s|-Wl,-rpath,\([^ "':;]*\)|@_COMPILER_LD_FLAG@@_OPSYS_RPATH_NAME@\1|g
+EOF
+ ;;
+ esac
+ ;;
esac
}