summaryrefslogtreecommitdiff
path: root/mk/buildlink3/logic
blob: d2ef9482f0dd49c340e48f9ef7009ec926c05a52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# $NetBSD: logic,v 1.6 2004/04/15 09:31:48 jmmv 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
-*|/*)
	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