pkgsrc/mk/buildlink3/logic
2003-10-04 10:20:09 +00:00

64 lines
1.2 KiB
Text

# $NetBSD: logic,v 1.5 2003/10/04 10:20:09 jlam Exp $
#
# If the wrapper caches don't cover the $arg we're examining, then run
# it through the transformations and any wrapper-specific post-logic
# and cache the result.
#
quotedarg=no
addtocache=no
addtoprivatecache=no
cachesettings='arg="$cachearg"; cachehit=yes'
. $quotearg
searcharg="$qarg"
case $arg in
-D*)
arg="$qarg"
addtocache=yes
;;
-*|/*)
arg=`$echo "X$qarg" | $Xsed @_BLNK_TRANSFORM_SED@`
addtocache=yes
;;
*)
arg="$qarg"
addtocache=no
;;
esac
. $post_logic
case $updatecache,$addtocache,$cacheall,$quotedarg in
yes,yes,yes,*|yes,yes,no,no)
case $arg in
*[\`\"\$\\]*)
cachearg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
;;
*)
cachearg="$arg"
;;
esac
case $addtoprivatecache in
yes)
pre_cachefile=$private_pre_cache
cachefile_add=$private_cache_add
cachefile=$private_cache
post_cachefile=$private_post_cache
;;
*)
pre_cachefile=$pre_cache
cachefile_add=$cache_add
cachefile=$cache
post_cachefile=$post_cache
;;
esac
$cat >> $cachefile_add << EOF
$searcharg) # $0
cachearg="$cachearg"
$cachesettings
;;
EOF
$cat $pre_cachefile $cachefile_add $post_cachefile > $cachefile
;;
esac