diff mbox

build-sys: keep current config.log on --help

Message ID 1435271931-28447-1-git-send-email-marcandre.lureau@gmail.com
State New
Headers show

Commit Message

Marc-André Lureau June 25, 2015, 10:38 p.m. UTC
It's nice to keep the config.log used to configure the build.

Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
---
 configure | 35 +++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 16 deletions(-)

Comments

Paolo Bonzini June 26, 2015, 1:18 p.m. UTC | #1
On 26/06/2015 00:38, Marc-André Lureau wrote:
> It's nice to keep the config.log used to configure the build.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
> ---
>  configure | 35 +++++++++++++++++++----------------
>  1 file changed, 19 insertions(+), 16 deletions(-)
> 
> diff --git a/configure b/configure
> index 1626c2e..dcd15a9 100755
> --- a/configure
> +++ b/configure
> @@ -29,14 +29,7 @@ TMPL="${TMPDIR1}/${TMPB}.lo"
>  TMPA="${TMPDIR1}/lib${TMPB}.la"
>  TMPE="${TMPDIR1}/${TMPB}.exe"
>  
> -rm -f config.log
> -
> -# Print a helpful header at the top of config.log
> -echo "# QEMU configure log $(date)" >> config.log
> -printf "# Configured with:" >> config.log
> -printf " '%s'" "$0" "$@" >> config.log
> -echo >> config.log
> -echo "#" >> config.log
> +CONFIG_LOG="/dev/null"
>  
>  error_exit() {
>      echo
> @@ -54,8 +47,8 @@ do_compiler() {
>      # is compiler binary to execute.
>      local compiler="$1"
>      shift
> -    echo $compiler "$@" >> config.log
> -    $compiler "$@" >> config.log 2>&1 || return $?
> +    echo $compiler "$@" >> "$CONFIG_LOG"
> +    $compiler "$@" >> "$CONFIG_LOG" 2>&1 || return $?
>      # Test passed. If this is an --enable-werror build, rerun
>      # the test with -Werror and bail out if it fails. This
>      # makes warning-generating-errors in configure test code
> @@ -69,8 +62,8 @@ do_compiler() {
>             return 0
>          ;;
>      esac
> -    echo $compiler -Werror "$@" >> config.log
> -    $compiler -Werror "$@" >> config.log 2>&1 && return $?
> +    echo $compiler -Werror "$@" >> "$CONFIG_LOG"
> +    $compiler -Werror "$@" >> "$CONFIG_LOG" 2>&1 && return $?
>      error_exit "configure test passed without -Werror but failed with -Werror." \
>          "This is probably a bug in the configure script. The failing command" \
>          "will be at the bottom of config.log." \
> @@ -117,8 +110,8 @@ do_libtool() {
>      local mode=$1
>      shift
>      # Run the compiler, capturing its output to the log.
> -    echo $libtool $mode --tag=CC $cc "$@" >> config.log
> -    $libtool $mode --tag=CC $cc "$@" >> config.log 2>&1 || return $?
> +    echo $libtool $mode --tag=CC $cc "$@" >> "$CONFIG_LOG"
> +    $libtool $mode --tag=CC $cc "$@" >> "$CONFIG_LOG" 2>&1 || return $?
>      # Test passed. If this is an --enable-werror build, rerun
>      # the test with -Werror and bail out if it fails. This
>      # makes warning-generating-errors in configure test code
> @@ -132,8 +125,8 @@ do_libtool() {
>             return 0
>          ;;
>      esac
> -    echo $libtool $mode --tag=CC $cc -Werror "$@" >> config.log
> -    $libtool $mode --tag=CC $cc -Werror "$@" >> config.log 2>&1 && return $?
> +    echo $libtool $mode --tag=CC $cc -Werror "$@" >> "$CONFIG_LOG"
> +    $libtool $mode --tag=CC $cc -Werror "$@" >> "$CONFIG_LOG" 2>&1 && return $?
>      error_exit "configure test passed without -Werror but failed with -Werror." \
>          "This is probably a bug in the configure script. The failing command" \
>          "will be at the bottom of config.log." \
> @@ -1384,6 +1377,16 @@ EOF
>  exit 0
>  fi
>  
> +rm -f config.log
> +
> +# Print a helpful header at the top of config.log
> +echo "# QEMU configure log $(date)" >> config.log
> +printf "# Configured with:" >> config.log
> +printf " '%s'" "$0" "$@" >> config.log
> +echo >> config.log
> +echo "#" >> config.log
> +CONFIG_LOG="config.log"
> +
>  # Now we have handled --enable-tcg-interpreter and know we're not just
>  # printing the help message, bail out if the host CPU isn't supported.
>  if test "$ARCH" = "unknown"; then
> 

Applied, thanks!

Paolo
Peter Maydell June 26, 2015, 1:26 p.m. UTC | #2
On 25 June 2015 at 23:38, Marc-André Lureau <marcandre.lureau@gmail.com> wrote:
> It's nice to keep the config.log used to configure the build.
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
> ---
>  configure | 35 +++++++++++++++++++----------------
>  1 file changed, 19 insertions(+), 16 deletions(-)
>
> diff --git a/configure b/configure
> index 1626c2e..dcd15a9 100755
> --- a/configure
> +++ b/configure
> @@ -29,14 +29,7 @@ TMPL="${TMPDIR1}/${TMPB}.lo"
>  TMPA="${TMPDIR1}/lib${TMPB}.la"
>  TMPE="${TMPDIR1}/${TMPB}.exe"
>
> -rm -f config.log
> -
> -# Print a helpful header at the top of config.log
> -echo "# QEMU configure log $(date)" >> config.log
> -printf "# Configured with:" >> config.log
> -printf " '%s'" "$0" "$@" >> config.log
> -echo >> config.log
> -echo "#" >> config.log
> +CONFIG_LOG="/dev/null"

Doesn't this mean we're now going to just drop a bunch of the
logging on the floor in the case where the user didn't say --help?
That doesn't sound great...

If we want to do this I think we should identify the "--help"
case earlier, not just drop all the logging until we reach
the point in configure where we happen to identify it now.

thanks
-- PMM
Marc-André Lureau June 26, 2015, 2:44 p.m. UTC | #3
Hi

On Fri, Jun 26, 2015 at 3:26 PM, Peter Maydell <peter.maydell@linaro.org>
wrote:

> Doesn't this mean we're now going to just drop a bunch of the
> logging on the floor in the case where the user didn't say --help?
> That doesn't sound great...
>
>
It drops a few arch checks before help:

cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing -fno-common -c -o
config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing -fno-common -c -o
config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error __i386__ not defined
 #error __i386__ not defined
  ^
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing -fno-common -c -o
config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing -fno-common -c -o
config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error __ILP32__ not defined
 #error __ILP32__ not defined

Probably more on other systems.

If we want to do this I think we should identify the "--help"
> case earlier, not just drop all the logging until we reach
> the point in configure where we happen to identify it now.
>

Imho, that preliminary probing code doesn't have to be in config.log, but
I'll adapt the patch to fit your proposal nonetheless.

cheers
diff mbox

Patch

diff --git a/configure b/configure
index 1626c2e..dcd15a9 100755
--- a/configure
+++ b/configure
@@ -29,14 +29,7 @@  TMPL="${TMPDIR1}/${TMPB}.lo"
 TMPA="${TMPDIR1}/lib${TMPB}.la"
 TMPE="${TMPDIR1}/${TMPB}.exe"
 
-rm -f config.log
-
-# Print a helpful header at the top of config.log
-echo "# QEMU configure log $(date)" >> config.log
-printf "# Configured with:" >> config.log
-printf " '%s'" "$0" "$@" >> config.log
-echo >> config.log
-echo "#" >> config.log
+CONFIG_LOG="/dev/null"
 
 error_exit() {
     echo
@@ -54,8 +47,8 @@  do_compiler() {
     # is compiler binary to execute.
     local compiler="$1"
     shift
-    echo $compiler "$@" >> config.log
-    $compiler "$@" >> config.log 2>&1 || return $?
+    echo $compiler "$@" >> "$CONFIG_LOG"
+    $compiler "$@" >> "$CONFIG_LOG" 2>&1 || return $?
     # Test passed. If this is an --enable-werror build, rerun
     # the test with -Werror and bail out if it fails. This
     # makes warning-generating-errors in configure test code
@@ -69,8 +62,8 @@  do_compiler() {
            return 0
         ;;
     esac
-    echo $compiler -Werror "$@" >> config.log
-    $compiler -Werror "$@" >> config.log 2>&1 && return $?
+    echo $compiler -Werror "$@" >> "$CONFIG_LOG"
+    $compiler -Werror "$@" >> "$CONFIG_LOG" 2>&1 && return $?
     error_exit "configure test passed without -Werror but failed with -Werror." \
         "This is probably a bug in the configure script. The failing command" \
         "will be at the bottom of config.log." \
@@ -117,8 +110,8 @@  do_libtool() {
     local mode=$1
     shift
     # Run the compiler, capturing its output to the log.
-    echo $libtool $mode --tag=CC $cc "$@" >> config.log
-    $libtool $mode --tag=CC $cc "$@" >> config.log 2>&1 || return $?
+    echo $libtool $mode --tag=CC $cc "$@" >> "$CONFIG_LOG"
+    $libtool $mode --tag=CC $cc "$@" >> "$CONFIG_LOG" 2>&1 || return $?
     # Test passed. If this is an --enable-werror build, rerun
     # the test with -Werror and bail out if it fails. This
     # makes warning-generating-errors in configure test code
@@ -132,8 +125,8 @@  do_libtool() {
            return 0
         ;;
     esac
-    echo $libtool $mode --tag=CC $cc -Werror "$@" >> config.log
-    $libtool $mode --tag=CC $cc -Werror "$@" >> config.log 2>&1 && return $?
+    echo $libtool $mode --tag=CC $cc -Werror "$@" >> "$CONFIG_LOG"
+    $libtool $mode --tag=CC $cc -Werror "$@" >> "$CONFIG_LOG" 2>&1 && return $?
     error_exit "configure test passed without -Werror but failed with -Werror." \
         "This is probably a bug in the configure script. The failing command" \
         "will be at the bottom of config.log." \
@@ -1384,6 +1377,16 @@  EOF
 exit 0
 fi
 
+rm -f config.log
+
+# Print a helpful header at the top of config.log
+echo "# QEMU configure log $(date)" >> config.log
+printf "# Configured with:" >> config.log
+printf " '%s'" "$0" "$@" >> config.log
+echo >> config.log
+echo "#" >> config.log
+CONFIG_LOG="config.log"
+
 # Now we have handled --enable-tcg-interpreter and know we're not just
 # printing the help message, bail out if the host CPU isn't supported.
 if test "$ARCH" = "unknown"; then