34 lines
650 B
Text
34 lines
650 B
Text
|
|
redo-ifchange rc_vars
|
||
|
|
. ./rc_vars
|
||
|
|
|
||
|
|
NL="
|
||
|
|
"
|
||
|
|
|
||
|
|
# Escape double-quote and backslash so they can
|
||
|
|
# be included as a C-style double-quoted string.
|
||
|
|
cquote() {
|
||
|
|
local v="$(printf '%s' "$1" | sed -e 's,[\"\\],\\&,g' -e 's,$, \\,')"
|
||
|
|
printf '"%s"' "${v% \\}"
|
||
|
|
}
|
||
|
|
|
||
|
|
is_number() {
|
||
|
|
expr "$1" + 1 >/dev/null 2>&1
|
||
|
|
}
|
||
|
|
|
||
|
|
(
|
||
|
|
echo "/* Automatically generated by redoconf.h.od */"
|
||
|
|
IFS="$NL"
|
||
|
|
for k in $RC_KEYS; do
|
||
|
|
[ "$k" != "RC_KEYS" ] || continue
|
||
|
|
[ "$k" != "RC_INCLUDES" ] || continue
|
||
|
|
eval v=\$$k
|
||
|
|
if [ -z "$v" ]; then
|
||
|
|
echo "#undef $k"
|
||
|
|
elif is_number "$v"; then
|
||
|
|
echo "#define $k $v"
|
||
|
|
else
|
||
|
|
echo "#define $k $(cquote "$v")"
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
) >$3
|
||
|
|
redo-stamp <$3
|