From fe94a169330bd09e6e349e06ce58b0a730244a89 Mon Sep 17 00:00:00 2001 From: jlam Date: Mon, 10 Jan 2005 03:40:25 +0000 Subject: Avoid the silly optimization in the make logic and push it into the shell script instead. We can't avoid invoking sed at least once since we need to protect the arguments against shell expansion, but we avoid invoking sed for transformations unless there actually are transformations to perform. The code is simpler, more straightforward, and logically correct now. This fixes problems with using a non-GCC compiler with packages that haven't been converted to use buildlink3, noted in PR pkg/28896. --- mk/wrapper/bsd.wrapper.mk | 6 +----- mk/wrapper/logic | 13 +++++++++---- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'mk') diff --git a/mk/wrapper/bsd.wrapper.mk b/mk/wrapper/bsd.wrapper.mk index 31912ab8864..2855ce86a70 100644 --- a/mk/wrapper/bsd.wrapper.mk +++ b/mk/wrapper/bsd.wrapper.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.wrapper.mk,v 1.15 2004/12/05 09:29:26 grant Exp $ +# $NetBSD: bsd.wrapper.mk,v 1.16 2005/01/10 03:40:25 jlam Exp $ # # Copyright (c) 2004 The NetBSD Foundation, Inc. # All rights reserved. @@ -225,11 +225,7 @@ _WRAP_LOGIC.${_wrappee_}?= ${_WRAP_LOGIC} _WRAP_SCAN.${_wrappee_}?= ${_WRAP_SCAN} _WRAP_TRANSFORM.${_wrappee_}?= ${_WRAP_TRANSFORM} _WRAP_TRANSFORM_SED.${_wrappee_}?= ${_WRAP_TRANSFORM_SED} -. if !empty(_WRAP_TRANSFORM_SED.${_wrappee_}) -_WRAP_SKIP_TRANSFORM.${_wrappee_}?= no -. else _WRAP_SKIP_TRANSFORM.${_wrappee_}?= ${_WRAP_SKIP_TRANSFORM} -. endif .endfor # _WRAPPEES .if !empty(PKGSRC_COMPILER:Maix-xlc) diff --git a/mk/wrapper/logic b/mk/wrapper/logic index d30e31d4a03..23835dd3c9f 100644 --- a/mk/wrapper/logic +++ b/mk/wrapper/logic @@ -1,4 +1,4 @@ -# $NetBSD: logic,v 1.7 2004/12/05 03:43:18 jlam Exp $ +# $NetBSD: logic,v 1.8 2005/01/10 03:40:25 jlam Exp $ # # Copyright (c) 2004 The NetBSD Foundation, Inc. # All rights reserved. @@ -216,9 +216,14 @@ while ! queue_is_empty argbuf; do shquote "$arg"; cachearg="$shquoted" case $arg in -*|/*) - arg=`$echo "X$arg" | $Xsed $transform_sed` - $debug_log $wrapperlog " (logic) to: $arg" - addtocache=yes + case $transform_sed in + "") ;; + *) + arg=`$echo "X$arg" | $Xsed $transform_sed` + $debug_log $wrapperlog " (logic) to: $arg" + addtocache=yes + ;; + esac ;; *) $debug_log $wrapperlog " (logic) to: $arg [untransformed]" -- cgit v1.2.3