diff options
author | salo <salo@pkgsrc.org> | 2003-07-09 16:07:21 +0000 |
---|---|---|
committer | salo <salo@pkgsrc.org> | 2003-07-09 16:07:21 +0000 |
commit | d750aba60714e0d9cea99f9db0eedba304b13c15 (patch) | |
tree | 91ab69339109865a376c1d2319d9469f80870f06 /mk | |
parent | f1bd37d7e60351b7c10cb0f7788e77751369fd9c (diff) | |
download | pkgsrc-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.mk | 10 | ||||
-rw-r--r-- | mk/buildlink2/bsd.buildlink2.mk | 7 | ||||
-rw-r--r-- | mk/buildlink2/gen-transform.sh | 14 |
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 } |