summaryrefslogtreecommitdiff
path: root/meta/classes/autotools.bbclass
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-01-12 20:45:45 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-22 17:21:05 +0000
commit55e263c559098cce99d8c3ef57ccc39f1d4a6848 (patch)
tree4252a3b93357ef66441e41e393d240946dcc2496 /meta/classes/autotools.bbclass
parentf37af830448794d3941aca9ab4b2bfa9d8358694 (diff)
downloadopenembedded-core-55e263c559098cce99d8c3ef57ccc39f1d4a6848.tar.gz
openembedded-core-55e263c559098cce99d8c3ef57ccc39f1d4a6848.tar.bz2
openembedded-core-55e263c559098cce99d8c3ef57ccc39f1d4a6848.zip
autotools: don't output the full config.log on configure failure
The config.log written by autoconf includes many pages of useless output, followed by an obfuscated error message, and then more pages of every variable that's been set. It's only understandable if you're well versed in how autoconf behaves, and often in simple failure modes doesn't actually make it clear what the problem was. Instead of outputting the whole config.log to the console when do_configure() fails, use bbfatal_log so the human-readable configure output (not the config.log) is shown to the user, and tell the user where config.log can be found if they need it. [ YOCTO #8856 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/classes/autotools.bbclass')
-rw-r--r--meta/classes/autotools.bbclass11
1 files changed, 4 insertions, 7 deletions
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 44cb422584..1400b44999 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -88,14 +88,11 @@ oe_runconf () {
cfgscript=`python -c "import os; print os.path.relpath(os.path.dirname('${CONFIGURE_SCRIPT}'), '.')"`/$cfgscript_name
if [ -x "$cfgscript" ] ; then
bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@"
- 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 ${B} -ignore_readdir_race -name config.log -print -exec cat {} \;
- die "oe_runconf failed"
+ if ! ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"; then
+ bbnote "The following config.log files may provide further information."
+ bbnote `find ${B} -ignore_readdir_race -type f -name config.log`
+ bbfatal_log "configure failed"
fi
- set -e
else
bbfatal "no configure script found at $cfgscript"
fi