configure: Be more verbose when compiler sanity checks fail

When configure could not get past initial compiler sanity check
the user was left with no explanation why this happened (usually
the reason is that compilers are not installed).

By printing the executed command line and re-executing it without
output redirection user gets better information how to proceed
(or ask for help) to resolve this problem.

The shell builtin 'printf' is used to print the executed command
line to ensure verbatim output.
This commit is contained in:
Tomi Ollila 2017-04-08 22:23:32 +03:00 committed by David Bremner
parent e08f5f76e4
commit 807a9cb8aa

11
configure vendored
View file

@ -322,22 +322,29 @@ errors=0
printf "int main(void){return 0;}\n" > minimal.c printf "int main(void){return 0;}\n" > minimal.c
printf "Sanity checking C compilation environment... " printf "Sanity checking C compilation environment... "
if ${CC} ${CFLAGS} ${CPPFLAGS} minimal.c ${LDFLAGS} -o minimal > /dev/null 2>&1 test_cmdline="${CC} ${CFLAGS} ${CPPFLAGS} minimal.c ${LDFLAGS} -o minimal"
if ${test_cmdline} > /dev/null 2>&1
then then
printf "OK.\n" printf "OK.\n"
else else
printf "Fail.\n" printf "Fail.\n"
errors=$((errors + 1)) errors=$((errors + 1))
printf Executed:; printf ' %s' ${test_cmdline}; echo
${test_cmdline}
fi fi
printf "Sanity checking C++ compilation environment... " printf "Sanity checking C++ compilation environment... "
if ${CXX} ${CXXFLAGS_for_sh} ${CPPFLAGS} minimal.c ${LDFLAGS} -o minimal > /dev/null 2>&1 test_cmdline="${CXX} ${CXXFLAGS_for_sh} ${CPPFLAGS} minimal.c ${LDFLAGS} -o minimal"
if ${test_cmdline} > /dev/null 2>&1
then then
printf "OK.\n" printf "OK.\n"
else else
printf "Fail.\n" printf "Fail.\n"
errors=$((errors + 1)) errors=$((errors + 1))
printf Executed:; printf ' %s' ${test_cmdline}; echo
${test_cmdline}
fi fi
unset test_cmdline
if [ $errors -gt 0 ]; then if [ $errors -gt 0 ]; then
cat <<EOF cat <<EOF