summaryrefslogtreecommitdiff
path: root/mk/wrapper
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2006-11-11 07:44:46 +0000
committerrillig <rillig@pkgsrc.org>2006-11-11 07:44:46 +0000
commitb11cdc1a442143eb6e707e9b6d6f113afc9ed867 (patch)
tree64571101f0f62dbdc68be9f1f6ebe210c475cd98 /mk/wrapper
parent46aab65a30b4e7520f65a699b84ef5ba05ef9433 (diff)
downloadpkgsrc-b11cdc1a442143eb6e707e9b6d6f113afc9ed867.tar.gz
Added wrapper-subr.sh, which provides shell functions that are useful to
make the wrapper code less frightening. For example, instead of arg="${arg#-Wl,}" $debug_log $wrapperlog " (transform-sunpro-cc) to: $arg" addtocache=yes one can simply write transform_to "${arg-Wl,}" The functions that are currently implemented are: transform_to, transform_discard, transform_to_nocache, transform_discard, transform_pass and transform_pass_unknown.
Diffstat (limited to 'mk/wrapper')
-rw-r--r--mk/wrapper/bsd.wrapper.mk10
-rw-r--r--mk/wrapper/wrapper-subr.sh41
-rw-r--r--mk/wrapper/wrapper.sh4
3 files changed, 51 insertions, 4 deletions
diff --git a/mk/wrapper/bsd.wrapper.mk b/mk/wrapper/bsd.wrapper.mk
index f1583a6bc15..c61ccc649af 100644
--- a/mk/wrapper/bsd.wrapper.mk
+++ b/mk/wrapper/bsd.wrapper.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.wrapper.mk,v 1.56 2006/11/02 23:25:00 rillig Exp $
+# $NetBSD: bsd.wrapper.mk,v 1.57 2006/11/11 07:44:46 rillig Exp $
#
# Copyright (c) 2005 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -184,6 +184,7 @@ _WRAP_LOGIC?= ${WRAPPER_TMPDIR}/logic
_WRAP_REORDERLIBS?= ${WRAPPER_TMPDIR}/reorderlibs
_WRAP_SCAN?= ${WRAPPER_TMPDIR}/scan
_WRAP_SHELL_LIB?= ${WRAPPER_TMPDIR}/shell-lib
+_WRAP_SUBR_SH?= ${WRAPPER_TMPDIR}/wrapper-subr.sh
_WRAP_SKIP_TRANSFORM?= no
_WRAP_TRANSFORM?= ${_WRAP_EMPTY_FILE}
_WRAP_TRANSFORM_SED?= # empty
@@ -349,7 +350,8 @@ _WRAP_SUBST_SED= \
-e "s|@WRAPPER_SHELL@|${WRAPPER_SHELL:Q}|g" \
-e "s|@_WRAP_LOG@|${_WRAP_LOG:Q}|g" \
-e "s|@_WRAP_REORDERLIBS@|${_WRAP_REORDERLIBS:Q}|g" \
- -e "s|@_WRAP_SHELL_LIB@|${_WRAP_SHELL_LIB:Q}|g"
+ -e "s|@_WRAP_SHELL_LIB@|${_WRAP_SHELL_LIB:Q}|g" \
+ -e "s|@_WRAP_SUBR_SH@|${_WRAP_SUBR_SH}|g"
.for _wrappee_ in ${_WRAPPEES}
_WRAP_SUBST_SED.${_wrappee_}= \
@@ -394,6 +396,7 @@ ${_WRAP_COOKIE.${_wrappee_}}: \
${_WRAP_REORDERLIBS} \
${_WRAP_SCAN.${_wrappee_}} \
${_WRAP_SHELL_LIB} \
+ ${_WRAP_SUBR_SH} \
${_WRAP_TRANSFORM.${_wrappee_}}
${_PKG_SILENT}${_PKG_DEBUG} \
wrapper="${WRAPPER_${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}"; \
@@ -481,7 +484,8 @@ generate-wrappers: ${_target_}
transform-mipspro-ucode-cc \
transform-solaris-gcc \
transform-sunpro-cc \
- transform-xlc-cc
+ transform-xlc-cc \
+ wrapper-subr.sh
${WRAPPER_TMPDIR}/${w}: ${WRAPPER_SRCDIR}/${w}
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
diff --git a/mk/wrapper/wrapper-subr.sh b/mk/wrapper/wrapper-subr.sh
new file mode 100644
index 00000000000..cf6589bb7cf
--- /dev/null
+++ b/mk/wrapper/wrapper-subr.sh
@@ -0,0 +1,41 @@
+# $NetBSD: wrapper-subr.sh,v 1.1 2006/11/11 07:44:46 rillig Exp $
+#
+# This file contains shell functions that are useful to the wrapper
+# scripts.
+#
+
+# usage: transform_setname "current-file"
+transform_setname() {
+ wrapsubr_name="$1"
+}
+
+# usage: transform_to "newarg"
+transform_to() {
+ arg="$1"
+ $debug_log $wrapperlog " ($wrapsubr_name) to: $1"
+ addtocache=yes
+}
+
+# usage: transform_to_nocache "newarg"
+transform_to_nocache() {
+ arg="$1"
+ $debug_log $wrapperlog " ($wrapsubr_name) to: $1"
+ addtocache=no
+}
+
+# usage: transform_discard
+transform_discard() {
+ transform_to ""
+}
+
+# usage: transform_pass
+transform_pass() {
+ addtocache=yes
+}
+
+# usage: transform_pass_unknown
+transform_pass_unknown() {
+ #echo "warning: $wrapsubr_name: unknown option $arg" 1>/dev/tty
+ addtocache=no
+}
+ \ No newline at end of file
diff --git a/mk/wrapper/wrapper.sh b/mk/wrapper/wrapper.sh
index 588a2524089..7f9f66769df 100644
--- a/mk/wrapper/wrapper.sh
+++ b/mk/wrapper/wrapper.sh
@@ -1,6 +1,6 @@
#! @WRAPPER_SHELL@
#
-# $NetBSD: wrapper.sh,v 1.6 2006/10/21 11:42:25 rillig Exp $
+# $NetBSD: wrapper.sh,v 1.7 2006/11/11 07:44:46 rillig Exp $
#
# Copyright (c) 2004 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -54,6 +54,7 @@ shell_lib="@_WRAP_SHELL_LIB@"
scan="@_WRAP_SCAN@"
transform="@_WRAP_TRANSFORM@"
transform_sed="@_WRAP_TRANSFORM_SED@"
+wrapper_subr_sh="@_WRAP_SUBR_SH@"
wrapperlog="${WRAPPER_LOG-@_WRAP_LOG@}"
skip_transform="${WRAPPER_SKIP_TRANSFORM-@_WRAP_SKIP_TRANSFORM@}"
debug="${WRAPPER_DEBUG-@WRAPPER_DEBUG@}"
@@ -68,6 +69,7 @@ test="@TEST@"
Xsed="$sed -e 1s/^X//"
. $shell_lib
+. "$wrapper_subr_sh"
updatecache=${WRAPPER_UPDATE_CACHE-@WRAPPER_UPDATE_CACHE@}
reorder=${WRAPPER_REORDER-no}