summaryrefslogtreecommitdiff
path: root/mk/wrapper
diff options
context:
space:
mode:
authortnn <tnn@pkgsrc.org>2008-02-19 17:36:51 +0000
committertnn <tnn@pkgsrc.org>2008-02-19 17:36:51 +0000
commite6872cea494d2ab22a237e834b061c511f63d310 (patch)
treee4de78803119ce94dff4bdca2e3237047eb19ebb /mk/wrapper
parent8fb1b19c9afe3ddf95b3fb89b619dc11a5e34412 (diff)
downloadpkgsrc-e6872cea494d2ab22a237e834b061c511f63d310.tar.gz
Add IRIX command sinks, needed to get rpath fixup when using GCC.
Diffstat (limited to 'mk/wrapper')
-rw-r--r--mk/wrapper/bsd.wrapper.mk8
-rw-r--r--mk/wrapper/cmd-sink-irix-cc24
-rw-r--r--mk/wrapper/cmd-sink-irix-ld26
3 files changed, 57 insertions, 1 deletions
diff --git a/mk/wrapper/bsd.wrapper.mk b/mk/wrapper/bsd.wrapper.mk
index 71973ff9be7..fd725fc1f64 100644
--- a/mk/wrapper/bsd.wrapper.mk
+++ b/mk/wrapper/bsd.wrapper.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.wrapper.mk,v 1.75 2007/11/28 14:45:22 rillig Exp $
+# $NetBSD: bsd.wrapper.mk,v 1.76 2008/02/19 17:36:51 tnn Exp $
#
# Copyright (c) 2005 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -347,6 +347,10 @@ _WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-aix-cc
_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-aix-cc
_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC}
_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC}
+.elif ${OPSYS} == "IRIX"
+_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-irix-cc
+_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC}
+_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-irix-ld
.endif
.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
@@ -497,6 +501,8 @@ generate-wrappers: ${_target_}
cmd-sink-darwin-xlc \
cmd-sink-icc-cc \
cmd-sink-icc81-cc \
+ cmd-sink-irix-cc \
+ cmd-sink-irix-ld \
cmd-sink-interix-gcc \
cmd-sink-ld \
cmd-sink-osf1-cc \
diff --git a/mk/wrapper/cmd-sink-irix-cc b/mk/wrapper/cmd-sink-irix-cc
new file mode 100644
index 00000000000..9d0a7babce1
--- /dev/null
+++ b/mk/wrapper/cmd-sink-irix-cc
@@ -0,0 +1,24 @@
+# $NetBSD: cmd-sink-irix-cc,v 1.1 2008/02/19 17:36:51 tnn Exp $
+
+# Empty out the command buffer and build up the command line in $cmd.
+while ! queue_is_empty cmdbuf; do
+ pop_queue cmdbuf arg
+ $debug_log $wrapperlog " (cmd-sink-irix-cc) pop: $arg"
+ case $arg in
+ -R*|-Wl,-R*|-Wl,-rpath,*|-Wl,-rpath-link,*|-Wl,--rpath,*)
+ case $arg in
+ -R*) R="-R" ;;
+ -Wl,-R*) R="-Wl,-R" ;;
+ -Wl,-rpath,*) R="-Wl,-rpath," ;;
+ -Wl,-rpath-link,*) R="-Wl,-rpath-link," ;;
+ -Wl,--rpath,*) R="-Wl,--rpath," ;;
+ esac
+ dir="${arg#$R}"
+ arg="-Wl,-rpath,$dir"
+ . $buildcmd
+ ;;
+ *)
+ . $buildcmd
+ ;;
+ esac
+done
diff --git a/mk/wrapper/cmd-sink-irix-ld b/mk/wrapper/cmd-sink-irix-ld
new file mode 100644
index 00000000000..1e5579efab6
--- /dev/null
+++ b/mk/wrapper/cmd-sink-irix-ld
@@ -0,0 +1,26 @@
+# $NetBSD: cmd-sink-irix-ld,v 1.1 2008/02/19 17:36:51 tnn Exp $
+
+# Empty out the command buffer and build up the command line in $cmd.
+while ! queue_is_empty cmdbuf; do
+ pop_queue cmdbuf arg
+ $debug_log $wrapperlog " (cmd-sink-irix-ld) pop: $arg"
+ case $arg in
+ -R*|-Wl,-R*|-Wl,-rpath,*|-Wl,-rpath-link,*|-Wl,--rpath,*)
+ case $arg in
+ -R*) R="-R" ;;
+ -Wl,-R*) R="-Wl,-R" ;;
+ -Wl,-rpath,*) R="-Wl,-rpath," ;;
+ -Wl,-rpath-link,*) R="-Wl,-rpath-link," ;;
+ -Wl,--rpath,*) R="-Wl,--rpath," ;;
+ esac
+ dir="${arg#$R}"
+ arg="-rpath"
+ . $buildcmd
+ arg="$dir"
+ . $buildcmd
+ ;;
+ *)
+ . $buildcmd
+ ;;
+ esac
+done