meson: link emulators without Makefile.target

The binaries move to the root directory, e.g. qemu-system-i386 or
qemu-arm.  This requires changes to qtests, CI, etc.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2020-08-03 17:04:25 +02:00
parent f556b4a10d
commit 64ed6f92ff
32 changed files with 181 additions and 344 deletions

43
configure vendored
View file

@ -362,7 +362,6 @@ audio_drv_list=""
block_drv_rw_whitelist=""
block_drv_ro_whitelist=""
host_cc="cc"
libs_cpu=""
libs_softmmu=""
libs_tools=""
audio_win_int=""
@ -5477,7 +5476,6 @@ case "$capstone" in
else
LIBCAPSTONE=libcapstone.a
fi
libs_cpu="-L$PWD/capstone -lcapstone $libs_cpu"
capstone_libs="-L$PWD/capstone -lcapstone"
capstone_cflags="-I${source_path}/capstone/include"
;;
@ -5486,7 +5484,6 @@ case "$capstone" in
capstone_libs="$($pkg_config --libs capstone)"
capstone_cflags="$($pkg_config --cflags capstone)"
QEMU_CFLAGS="$QEMU_CFLAGS $($pkg_config --cflags capstone)"
libs_cpu="$($pkg_config --libs capstone) $libs_cpu"
;;
no)
@ -6403,7 +6400,10 @@ fi
if test "$fuzzing" = "yes" ; then
write_c_fuzzer_skeleton
if compile_prog "$CPU_CFLAGS -Werror -fsanitize=fuzzer" ""; then
have_fuzzer=yes
have_fuzzer=yes
else
error_exit "Your compiler doesn't support -fsanitize=fuzzer"
exit 1
fi
fi
@ -6915,7 +6915,6 @@ echo "qemu_helperdir=$libexecdir" >> $config_host_mak
echo "qemu_localedir=$qemu_localedir" >> $config_host_mak
echo "qemu_icondir=$qemu_icondir" >> $config_host_mak
echo "qemu_desktopdir=$qemu_desktopdir" >> $config_host_mak
echo "libs_cpu=$libs_cpu" >> $config_host_mak
echo "libs_softmmu=$libs_softmmu" >> $config_host_mak
echo "GIT=$git" >> $config_host_mak
echo "GIT_SUBMODULES=$git_submodules" >> $config_host_mak
@ -7780,14 +7779,7 @@ if test "$have_mlockall" = "yes" ; then
echo "HAVE_MLOCKALL=y" >> $config_host_mak
fi
if test "$fuzzing" = "yes" ; then
if test "$have_fuzzer" = "yes"; then
FUZZ_LDFLAGS=" -fsanitize=fuzzer"
FUZZ_CFLAGS=" -fsanitize=fuzzer"
QEMU_CFLAGS="$QEMU_CFLAGS -fsanitize=fuzzer-no-link"
else
error_exit "Your compiler doesn't support -fsanitize=fuzzer"
exit 1
fi
QEMU_CFLAGS="$QEMU_CFLAGS -fsanitize=fuzzer-no-link"
fi
if test "$plugins" = "yes" ; then
@ -7902,8 +7894,6 @@ if test "$libudev" != "no"; then
fi
if test "$fuzzing" != "no"; then
echo "CONFIG_FUZZ=y" >> $config_host_mak
echo "FUZZ_CFLAGS=$FUZZ_CFLAGS" >> $config_host_mak
echo "FUZZ_LDFLAGS=$FUZZ_LDFLAGS" >> $config_host_mak
fi
if test "$edk2_blobs" = "yes" ; then
@ -8176,8 +8166,6 @@ if [ "$TARGET_SYSTBL_ABI" != "" ] && [ "$TARGET_SYSTBL" = "" ]; then
TARGET_SYSTBL=syscall.tbl
fi
symlink "$source_path/Makefile.target" "$target_dir/Makefile"
upper() {
echo "$@"| LC_ALL=C tr '[a-z]' '[A-Z]'
}
@ -8253,9 +8241,6 @@ fi
# generate QEMU_CFLAGS/QEMU_LDFLAGS for targets
cflags=""
ldflags=""
disas_config() {
echo "CONFIG_${1}_DIS=y" >> $config_target_mak
echo "CONFIG_${1}_DIS=y" >> config-all-disas.mak
@ -8340,24 +8325,6 @@ if test "$tcg_interpreter" = "yes" ; then
disas_config "TCI"
fi
# Newer kernels on s390 check for an S390_PGSTE program header and
# enable the pgste page table extensions in that case. This makes
# the vm.allocate_pgste sysctl unnecessary. We enable this program
# header if
# - we build on s390x
# - we build the system emulation for s390x (qemu-system-s390x)
# - KVM is enabled
# - the linker supports --s390-pgste
if test "$TARGET_ARCH" = "s390x" && test "$target_softmmu" = "yes" && \
test "$ARCH" = "s390x" && test "$kvm" = "yes"; then
if ld_has --s390-pgste ; then
ldflags="-Wl,--s390-pgste $ldflags"
fi
fi
echo "QEMU_LDFLAGS+=$ldflags" >> $config_target_mak
echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak
done # for target in $targets
echo "PIXMAN_CFLAGS=$pixman_cflags" >> $config_host_mak