CC.rc was the only "mandatory" detection, which was weird and inconsistent. Instead, make it optional like the others, and have it set a HAVE_CC variable appropriately (and have CXX.rc work the same way). Then, add a default.required.rc.od that checks the HAVE_* for any variable and aborts if it is not available. This allows us to fix confusing behaviour in allconfig.do, which would try every compiler on the system, but redo would print a (non-fatal) error message (and prevent redo-stamp optimization) when CC.rc failed for any non-working compilers. Now CC.rc just politely reports that it didn't find a compiler. Then we change all.rc.od to make CC.rc mandatory. Reported-by: Nathaniel Filardo <nwfilardo@gmail.com>
13 lines
218 B
Text
13 lines
218 B
Text
. ./redoconf.rc
|
|
|
|
base=${1%.required.rc}
|
|
name=${base#*/}
|
|
NAME=$(echo "$name" | tr 'a-z.' 'A-Z_')
|
|
|
|
rc_include "$base.rc"
|
|
|
|
eval v="\$$NAME"
|
|
if [ -z "$v" ]; then
|
|
echo "$NAME is required in order to build." >&2
|
|
exit 1
|
|
fi
|