freebsd-dev/contrib/bind/port/settings

40 lines
980 B
Plaintext
Raw Normal View History

#!/bin/sh
# this process is necessary because make(1) puts its command line into
# the environment, and when we exec a sub-make we need these command
# line settings (like CDEBUG=-g for example) to override what we get out
# of port/$systype/Makefile.set. therefore feed Makefile.set to this
# and it will merge things appropriately. a cache file is maintained
# to avoid calling this script way too often.
cachefile=${1-//}
if [ -f "$cachefile" ]; then
echo "Using $cachefile" >&2
exec cat $cachefile
fi
case $cachefile in
//) ;;
*) echo "Making $cachefile" >&2 ;;
esac
# expr is sensitive to LC_COLLATE settings. We want 'C'.
LC_COLLATE=C
export LC_COLLATE
result=''
while read setting; do
var=`expr "$setting" : "'\([A-Z0-9_]*\)="`
val=`expr "$setting" : "'[A-Z0-9_]*=\([^']*\)'\$"`
eval "env=`echo \\${\$var-'$val'}`"
result="$result '$var=$env'"
done
case $cachefile in
//) echo $result ;;
*) echo $result > $cachefile
exec cat $cachefile ;;
esac
exit