qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/4] configure: keep track of Python version


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH 1/4] configure: keep track of Python version
Date: Fri, 9 Nov 2018 13:49:08 -0200
User-agent: Mutt/1.9.2 (2017-12-15)

On Fri, Nov 09, 2018 at 10:07:07AM -0500, Cleber Rosa wrote:
> Some functionality is dependent on the Python version
> detected/configured on configure.  While it's possible to run the
> Python version later and check for the version, doing it once is
> preferable.  Also, it's a relevant information to keep in build logs,
> as the overall behavior of the build can be affected by it.
> 
> Signed-off-by: Cleber Rosa <address@hidden>
> ---
>  configure | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/configure b/configure
> index 74e313a810..67fff0290d 100755
> --- a/configure
> +++ b/configure
> @@ -1740,6 +1740,9 @@ if ! $python -c 'import sys; sys.exit(sys.version_info 
> < (2,7))'; then
>        "Use --python=/path/to/python to specify a supported Python."
>  fi
>  
> +# Preserve python version since some functionality is dependent on it
> +python_version=$($python -V 2>&1 | sed -e 's/Python\ //')

What about:
  $($python -c 'import sys;print(sys.version)')
?

It is very verbose, but I think that's a good thing.

> +
>  # Suppress writing compiled files
>  python="$python -B"
>  
> @@ -5918,7 +5921,7 @@ echo "LDFLAGS           $LDFLAGS"
>  echo "QEMU_LDFLAGS      $QEMU_LDFLAGS"
>  echo "make              $make"
>  echo "install           $install"
> -echo "python            $python"
> +echo "python            $python ($python_version)"
>  if test "$slirp" = "yes" ; then
>      echo "smbd              $smbd"
>  fi
> @@ -6823,6 +6826,7 @@ echo "INSTALL_DATA=$install -c -m 0644" >> 
> $config_host_mak
>  echo "INSTALL_PROG=$install -c -m 0755" >> $config_host_mak
>  echo "INSTALL_LIB=$install -c -m 0644" >> $config_host_mak
>  echo "PYTHON=$python" >> $config_host_mak
> +echo "PYTHON_VERSION=$python_version" >> $config_host_mak

The output of "python -V" and "sys.version" seems to be meant for
humans, not software.  If we really want something to be used in
conditional makefile rules, I'd prefer to use sys.version_info.
e.g.:

  python_major_version="$($python -c 'import sys;print(sys.version_info[0])')"
  echo "PYTHON_MAJOR_VERSION=$python_major_version"


>  echo "CC=$cc" >> $config_host_mak
>  if $iasl -h > /dev/null 2>&1; then
>    echo "IASL=$iasl" >> $config_host_mak
> -- 
> 2.19.1
> 

-- 
Eduardo



reply via email to

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