qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] configure: warn if not using a separate build directory


From: Markus Armbruster
Subject: Re: [PATCH v2] configure: warn if not using a separate build directory
Date: Tue, 31 Mar 2020 18:16:24 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Daniel P. Berrangé <address@hidden> writes:

> Running configure directly from the source directory is a build
> configuration that will go away in future. It is also not currently
> covered by any automated testing. Display a deprecation warning if
> the user attempts to use an in-srcdir build setup, so that they are
> aware that they're building QEMU in an undesirable manner.
>
> Signed-off-by: Daniel P. Berrangé <address@hidden>
> ---
>
> Changed in v2:
>
>  - Use existing $source_path variable (Eric)
>  - Remove bash-ism in comparison (Eric)
>  - Safe quoting of directory paths (Eric)
>  - Rename variables to reflect that we're applying canonicalization (Eric)
>
>  configure | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>
> diff --git a/configure b/configure
> index e225a1e3ff..5991e0e6e5 100755
> --- a/configure
> +++ b/configure
> @@ -285,6 +285,16 @@ then
>    error_exit "main directory cannot contain spaces nor colons"
>  fi
>  
> +canon_build_path=$(realpath -- "$PWD")
> +canon_source_path=$(realpath -- "$source_path")
> +
> +in_srcdir=no
> +if [ "$canon_build_path" = "$canon_source_path" ]
> +then
> +    in_srcdir=yes
> +fi
> +
> +
>  # default parameters
>  cpu=""
>  iasl="iasl"
> @@ -6799,6 +6809,23 @@ if test "$supported_os" = "no"; then
>      echo "us upstream at address@hidden."
>  fi
>  
> +if test "$in_srcdir" = "yes"; then
> +    echo
> +    echo "WARNING: SUPPORT FOR IN SOURCE DIR BUILDS IS DEPRECATED"

I don't like shouted warnings, but it's consistent with what we have.

> +    echo
> +    echo "Support for running the 'configure' script directly from the"
> +    echo "source directory is deprecated and will go away in a future"
> +    echo "release. In source dir builds are not covered by automated"
> +    echo "testing and are liable to break without warning. Users are"
> +    echo "strongly recommended to switch to a separate build directory:"
> +    echo
> +    echo "  $ mkdir build"
> +    echo "  $ cd build"
> +    echo "  $ ../configure"
> +    echo "  $ make"
> +    echo
> +fi
> +
>  config_host_mak="config-host.mak"
>  
>  echo "# Automatically generated by configure - do not modify" 
> >config-all-disas.mak

Output is suboptimal because we run $source_path/tests/tcg/configure.sh
after emitting warnings, and it's chatty:

    [...]
    plugin support    no
    fuzzing support   no
    gdb               /usr/bin/gdb

    WARNING: SUPPORT FOR IN SOURCE DIR BUILDS IS DEPRECATED

    Support for running the 'configure' script directly from the
    source directory is deprecated and will go away in a future
    release. In source dir builds are not covered by automated
    testing and are liable to break without warning. Users are
    strongly recommended to switch to a separate build directory:

      $ mkdir build
      $ cd build
      $ ../configure
      $ make

--> cross containers  podman

    NOTE: guest cross-compilers enabled: cc cc

Not this patch's fault.

Reviewed-by: Markus Armbruster <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]