summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-03-16 08:27:40 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2021-05-04 14:15:35 +0200
commit699d388430287b71c0d7ccf76986058259ac7342 (patch)
tree603479e9188760123064824992f35c1e40428993
parentd77e90fa0e987d0fa7611dd399eedc93cf787caa (diff)
downloadfocaccia-qemu-699d388430287b71c0d7ccf76986058259ac7342.tar.gz
focaccia-qemu-699d388430287b71c0d7ccf76986058259ac7342.zip
configure: handle meson options that have changed type
Usually Meson uses pre-serialized information in meson-private to
speed up re-runs.  This is not possible for version changes, where
Meson instead rebuilds the serialized information using cmd_line.txt.
In some cases cmd_line.txt can contain stale information, since it
is not rebuild except when "meson setup" is invoked.  Update it in
the configure script to allow upgrading our Meson version.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rwxr-xr-xconfigure9
1 files changed, 9 insertions, 0 deletions
diff --git a/configure b/configure
index 0b8283c95c..54f8475444 100755
--- a/configure
+++ b/configure
@@ -6458,6 +6458,15 @@ if test "$skip_meson" = no; then
   if test "$?" -ne 0 ; then
       error_exit "meson setup failed"
   fi
+else
+  if test -f meson-private/cmd_line.txt; then
+    # Adjust old command line options whose type was changed
+    # Avoids having to use "setup --wipe" when Meson is upgraded
+    perl -i -ne '
+      s/^gettext = true$/gettext = auto/;
+      s/^gettext = false$/gettext = disabled/;
+      print;' meson-private/cmd_line.txt
+  fi
 fi
 
 if test -n "${deprecated_features}"; then