cash/cash.sh

25 lines
364 B
Bash
Raw Normal View History

2024-12-29 00:45:07 +03:00
_try_cc() {
local out="$1"
shift
local infile
infile=$(mktemp --suffix .c)
cat > "$infile"
ccache hash_dir=false \
"${CC:-cc}" -o "$out" "$infile" "$@"
code=$?
rm "$infile" || :
return $?
}
cash() {
local out
out=$(mktemp)
_try_cc "$out" "$@" || {
code=$?
echo 'Error: compilation failed' >&2
rm "$out" || :
return "$code"
}
echo "$out"
}