[PATCH] configure: Be more verbose when compiler sanity checks fail
Tomi Ollila
tomi.ollila at iki.fi
Sat Apr 8 12:23:32 PDT 2017
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.
---
It is easy to test the behaviour before and after this change:
$ CC=haz-no-cc CXX=haz-no-cxx ./configure
configure | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 3447d86..ed7c228 100755
--- a/configure
+++ b/configure
@@ -322,22 +322,29 @@ errors=0
printf "int main(void){return 0;}\n" > minimal.c
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
printf "OK.\n"
else
printf "Fail.\n"
errors=$((errors + 1))
+ printf Executed:; printf ' %s' ${test_cmdline}; echo
+ ${test_cmdline}
fi
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
printf "OK.\n"
else
printf "Fail.\n"
errors=$((errors + 1))
+ printf Executed:; printf ' %s' ${test_cmdline}; echo
+ ${test_cmdline}
fi
+unset test_cmdline
if [ $errors -gt 0 ]; then
cat <<EOF
--
2.9.3
More information about the notmuch
mailing list