On Mon, 14 Oct 2024 at 12:45, Peter Maydell <peter.mayd...@linaro.org> wrote: > > On Mon, 14 Oct 2024 at 12:01, Paolo Bonzini <pbonz...@redhat.com> wrote: > > > > If the defaults for --enable-rust ($rust in configure) and Meson's rust > > option are out of sync, incremental builds will pick Meson's default. > > > > This happens because, on an incremental build, configure does not run > > Meson, Make does instead. Meson then gets the command line options > > from either coredata.dat (which has everything cached in Python's pickle > > format) or cmd_line.txt (slow path when Meson version is upgraded), but > > neither knows about the rust option, and the meson_options.txt default > > is used. > > > > This will cause have_rust to be true if rustc is available; and the build > > to fail because configure did not put a RUST_TARGET_TRIPLE in > > config-host.mak. > > > > When in the Rust pull request I changed the $rust default from auto > > to disabled, I should have made the same change to meson_options.txt; > > do it now. > > > > Cc: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> > > Reported-by: Peter Maydell <peter.mayd...@linaro.org> > > Reported-by: Daniel P. Berrangé <berra...@redhat.com> > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > > This fixes the issue I was seeing with my local > incremental rebuild. > > Tested-by: Peter Maydell <peter.mayd...@linaro.org>
...but this change broke 'make vm-build-openbsd', because meson-buildoptions.py fell over with an error from the JSON decoder: make: Entering directory '/home/peter.maydell/qemu-openbsd/build' /home/peter.maydell/qemu-openbsd/build/pyvenv/bin/meson introspect --buildoptions /home/peter.maydell/qemu-openbsd/meson.build | /home/peter.maydell/qemu-openbsd/build/pyvenv/bin/python3 -B \ scripts/meson-buildoptions.py > /home/peter.maydell/qemu-openbsd/scripts/meson-buildoptions.sh.tmp && mv /home/peter.maydell/qemu-openbsd/scripts/meson-buildoptions.sh.tmp /home/peter.maydell/qemu-openbsd/scripts/meson-buildoptions.sh Trying to enter hw/core which has already been visited --> Skipping Unable to evaluate subdir([]) in AstInterpreter --> Skipping Traceback (most recent call last): File "/home/peter.maydell/qemu-openbsd/build/scripts/meson-buildoptions.py", line 245, in <module> options = load_options(json.load(sys.stdin)) File "/usr/lib/python3.10/json/__init__.py", line 293, in load return loads(fp.read(), File "/usr/lib/python3.10/json/__init__.py", line 346, in loads return _default_decoder.decode(s) File "/usr/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1) make: *** No rule to make target '/home/peter.maydell/qemu-openbsd/scripts/meson-buildoptions.sh', needed by 'config-host.mak'. Stop. make: Leaving directory '/home/peter.maydell/qemu-openbsd/build' -- PMM