This makes it much easier to find a particular thing in config.log.

We have to use the ${BASH_LINENO[*]} syntax which is a syntax error in
other shells, so test what shell we are running and use eval.

The extra output is only printed if configure is run with bash.  On
systems where /bin/sh is not bash, it is necessary to say bash
./configure to get the extra debug info in the log.

Suggested-by: Eric Blake <ebl...@redhat.com>
Signed-off-by: Ian Jackson <ian.jack...@eu.citrix.com>
CC: Kent R. Spillner <kspill...@acm.org>
CC: Janosch Frank <fran...@linux.vnet.ibm.com>
CC: Thomas Huth <th...@redhat.com>
CC: Peter Maydell <peter.mayd...@linaro.org>
CC: Paolo Bonzini <pbonz...@redhat.com>
Tested-by: Thomas Huth <th...@redhat.com>
---
 configure | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/configure b/configure
index aa35aef..f9ba9ea 100755
--- a/configure
+++ b/configure
@@ -60,6 +60,11 @@ do_compiler() {
     # is compiler binary to execute.
     local compiler="$1"
     shift
+    if test -n "$BASH_VERSION"; then eval '
+        echo >>config.log "
+funcs: ${FUNCNAME[*]}
+lines: ${BASH_LINENO[*]}"
+    '; fi
     echo $compiler "$@" >> config.log
     $compiler "$@" >> config.log 2>&1 || return $?
     # Test passed. If this is an --enable-werror build, rerun
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to