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>
29 lines
596 B
Text
29 lines
596 B
Text
# This script is run from the output dir.
|
|
# The source dir is at $S.
|
|
. ./redoconf.rc
|
|
rc_include all.rc
|
|
redo-ifchange "$S/sources"
|
|
|
|
(
|
|
cd "$S"
|
|
echo "main.c"
|
|
echo "monotime.c"
|
|
echo "when.c" # auto-generated source
|
|
echo "flagtest.c" # source with different compiler flags
|
|
|
|
if [ -n "$CXX" ]; then
|
|
echo "slow.cc"
|
|
fi
|
|
|
|
# This is unnecessarily fancy.
|
|
# We're just using it as an example of
|
|
# how to dynamically generate a .list
|
|
# file.
|
|
for d in lib*/*.list lib*/*.list.od; do
|
|
[ -e "$d" ] && echo "${d%%.*}.so"
|
|
done | uniq
|
|
|
|
printf '%s\n' "$LIBGTK2" "$LIBQT4"
|
|
) >$3
|
|
|
|
redo-stamp <$3
|