On 10/8/20 7:44 PM, Richard Henderson wrote: > On 10/8/20 10:02 AM, Paolo Bonzini wrote: >> On 08/10/20 16:48, Claudio Fontana wrote: >>> on master, a build without tcg like: >>> >>> exec '../configure' '--disable-tcg' '--enable-kvm' '--enable-hax' "$@" >>> >>> make -j120 check >>> Generating qemu-version.h with a meson_exe.py custom command >>> make: *** No rule to make target 'qemu-system-aarch64', needed by >>> 'check-block'. Stop. >>> make: *** Waiting for unfinished jobs.... >>> >>> qemu-system-aarch64 is required for check-block now? >> >> No, it's not, it's an unnecessary dependency. This will fix it: >> >> diff --git a/tests/Makefile.include b/tests/Makefile.include >> index 5aca98e60c..1ca70d88ce 100644 >> --- a/tests/Makefile.include >> +++ b/tests/Makefile.include >> @@ -140,7 +140,7 @@ QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = >> tests/qemu-iotests/socket_scm_helper$(EXE >> check: check-block >> check-block: $(SRC_PATH)/tests/check-block.sh qemu-img$(EXESUF) \ >> qemu-io$(EXESUF) qemu-nbd$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) \ >> - $(patsubst %-softmmu,qemu-system-%,$(filter >> %-softmmu,$(TARGET_DIRS))) >> + qemu-system-$(patsubst ppc64%,ppc64, $(shell uname -m)) > > Why doesn't the original line work? Waiting until all of the configured
The original line breaks because without TCG built-in there will be no qemu-system-aarch64 to wait for. > qemu-system-* executables to finish building doesn't seem wrong, even if they > won't all be used by check-block. > > This replacement would seem to break e.g. > > ./configure --target-list=arm-softmmu > > by making check-block dependent on qemu-system-x86_64, which will never be > built. > > > r~ > Your concern makes sense to me, it seems we just end up breaking another use case.. is there a way here to get in this makefile context the list of actual targets we are waiting for? Ciao, C