autotools.bbclass: When configure fails, dump the config.log files the logs
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 2 Jul 2012 15:35:22 +0000 (16:35 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 3 Jul 2012 13:54:59 +0000 (14:54 +0100)
When configure fails, it usually says "see config.log" yet nobody ever shares
the config.log file meaning the person trying to help invariably has to ask
for more information.

This patch dumps all the config.log files into the main bitbake log files when
configure fails, meaning all the information is present to help someone debug
such failures. It does make the log rather larger but this is preferable to
not having enough information in most cases.

[YOCTO #2463]

(From OE-Core rev: 7ad08f5b73aa949a877adc5641b4bb1d007de750)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/autotools.bbclass

index 9b36f3c..02b984d 100644 (file)
@@ -74,7 +74,14 @@ oe_runconf () {
        cfgscript="${S}/configure"
        if [ -x "$cfgscript" ] ; then
                bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@"
-               ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@" || bbfatal "oe_runconf failed"
+               set +e
+               ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"
+               if [ "$?" != "0" ]; then
+                       echo "Configure failed. The contents of all config.log files follows to aid debugging"
+                       find ${S} -name config.log -print -exec cat {} \;
+                       bbfatal "oe_runconf failed"
+               fi
+               set -e
        else
                bbfatal "no configure script found at $cfgscript"
        fi