pkgsrc/mk/buildlink2/logic
2003-01-10 09:41:53 +00:00

75 lines
1.3 KiB
Text

# $NetBSD: logic,v 1.2 2003/01/10 09:41:53 jlam Exp $
quotedarg=no
addtocache=no
addtoprivatecache=no
cachesettings='arg="$cachearg"; cachehit=yes'
# $qarg contains a correctly-quoted $arg
case $arg in
*[\`\"\$\\]*)
qarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
quotedarg=yes
;;
*)
qarg="$arg"
;;
esac
case $qarg in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
qarg="\"$qarg\""
quotedarg=yes
;;
esac
searcharg="$qarg"
case $arg in
-D*)
arg="$qarg"
addtocache=yes
;;
-[ILRl]*|-Wl,*|/usr/lib/lib*|@LOCALBASE@/*/lib*|@X11BASE@/*/lib*)
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)
cachearg="$cachearg"
$cachesettings
;;
EOF
$cat $pre_cachefile $cachefile_add $post_cachefile > $cachefile
;;
esac