On Windows it is not possible to invoke a Python script as $NINJA. If ninja is present use it directly, while if it is not we can keep using ninjatool.
Reported-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- configure | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 51b6164f69..340d01e185 100755 --- a/configure +++ b/configure @@ -568,6 +568,7 @@ rng_none="no" secret_keyring="" libdaxctl="" meson="" +ninja="" skip_meson=no gettext="" @@ -1052,6 +1053,8 @@ for opt do ;; --meson=*) meson="$optarg" ;; + --ninja=*) ninja="$optarg" + ;; --smbd=*) smbd="$optarg" ;; --extra-cflags=*) @@ -1820,6 +1823,7 @@ Advanced options (experts only): --python=PYTHON use specified python [$python] --sphinx-build=SPHINX use specified sphinx-build [$sphinx_build] --meson=MESON use specified meson [$meson] + --ninja=NINJA use specified ninja [$ninja] --smbd=SMBD use specified smbd [$smbd] --with-git=GIT use specified git [$git] --static enable static build [$static] @@ -2058,6 +2062,16 @@ case "$meson" in *) meson=$(command -v meson) ;; esac +# Probe for ninja (used for compdb) + +if test -z "$ninja"; then + for c in ninja ninja-build samu; do + if has $c; then + ninja="$(command -v ninja)" + break + fi + done +fi # Check that the C compiler works. Doing this here before testing # the host CPU ensures that we had a valid CC to autodetect the @@ -8194,7 +8208,7 @@ fi mv $cross config-meson.cross rm -rf meson-private meson-info meson-logs -NINJA=$PWD/ninjatool $meson setup \ +NINJA=${ninja-$PWD/ninjatool} $meson setup \ --prefix "${pre_prefix}$prefix" \ --libdir "${pre_prefix}$libdir" \ --libexecdir "${pre_prefix}$libexecdir" \ -- 2.26.2