qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 015/143] build-sys: add meson submodule


From: Alex Bennée
Subject: Re: [PATCH 015/143] build-sys: add meson submodule
Date: Fri, 07 Aug 2020 11:37:08 +0100
User-agent: mu4e 1.5.5; emacs 28.0.50

Paolo Bonzini <pbonzini@redhat.com> writes:

> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  .gitmodules               |  3 +++
>  configure                 | 44 +++++++++++++++++++++++++++++++++++++++++---
>  meson                     |  1 +
>  scripts/archive-source.sh |  3 ++-
>  4 files changed, 47 insertions(+), 4 deletions(-)
>  create mode 160000 meson
>
> diff --git a/.gitmodules b/.gitmodules
> index 9c0501a..ce97939 100644
> --- a/.gitmodules
> +++ b/.gitmodules
> @@ -58,3 +58,6 @@
>  [submodule "roms/qboot"]
>       path = roms/qboot
>       url = https://github.com/bonzini/qboot
> +[submodule "meson"]
> +     path = meson
> +     url = https://github.com/mesonbuild/meson/
> diff --git a/configure b/configure
> index 13db149..d87d544 100755
> --- a/configure
> +++ b/configure
> @@ -174,6 +174,25 @@ path_of() {
>      return 1
>  }
>  
> +version_ge () {
> +    local_ver1=`echo $1 | tr . ' '`
> +    local_ver2=`echo $2 | tr . ' '`
> +    while true; do
> +        set x $local_ver1
> +        local_first=${2-0}
> +        # shift 2 does nothing if there are less than 2 arguments
> +        shift; shift
> +        local_ver1=$*
> +        set x $local_ver2
> +        # the second argument finished, the first must be greater or equal
> +        test $# = 1 && return 0
> +        test $local_first -lt $2 && return 1
> +        test $local_first -gt $2 && return 0
> +        shift; shift
> +        local_ver2=$*
> +    done
> +}
> +
>  have_backend () {
>      echo "$trace_backends" | grep "$1" >/dev/null
>  }
> @@ -1965,9 +1984,28 @@ then
>      error_exit "Python not found. Use --python=/path/to/python"
>  fi
>  
> -if ! has "$meson"
> -then
> -    error_exit "Meson not found. Use --meson=/path/to/meson"
> +if test -z "$meson" ; then
> +    if has meson && version_ge "$(meson --version)" 0.55.0; then
> +        meson=meson
> +    elif test -e "${source_path}/.git" && test $git_update = 'yes' ; then
> +        meson=git
> +    elif test -e "${source_path}/meson/meson.py" ; then
> +        meson=internal
> +    fi
> +fi
> +
> +case "$meson" in
> +    git | internal)

Is "internal" meant to be synonymous with "git"? AFAICT we don't
actually do anything with --meson=internal which is why it failed later.

> +        if test "$meson" = git; then
> +            git_submodules="${git_submodules} meson"
> +            (cd "${source_path}" && GIT="$git" "./scripts/git-submodule.sh" 
> update meson)
> +        fi
> +        meson="${source_path}/meson/meson.py"
> +        ;;
> +esac
> +
> +if ! has "$meson" ; then
> +    error_exit "Meson not found. Use --meson=/path/to/meson|git|internal"
>  fi
<snip>

-- 
Alex Bennée



reply via email to

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