diff options
author | rillig <rillig> | 2006-11-11 07:44:46 +0000 |
---|---|---|
committer | rillig <rillig> | 2006-11-11 07:44:46 +0000 |
commit | e7cc60bbb8e3c80f2202edf2d7722159def785ca (patch) | |
tree | 64571101f0f62dbdc68be9f1f6ebe210c475cd98 /mk | |
parent | d6ca648366c635db052c15e1f8c57e5e4d58c528 (diff) | |
download | pkgsrc-e7cc60bbb8e3c80f2202edf2d7722159def785ca.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')
-rw-r--r-- | mk/wrapper/bsd.wrapper.mk | 10 | ||||
-rw-r--r-- | mk/wrapper/wrapper-subr.sh | 41 | ||||
-rw-r--r-- | mk/wrapper/wrapper.sh | 4 |
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} |