mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
* configure: use a native non-cross compiler for linux-user * meson: cleanups * target/i386: miscellaneous cleanups and optimizations * target/i386: implement CMPccXADD * target/i386: the sgx_epc_get_section stub is reachable * esp: check for NULL result from scsi_device_find() # -----BEGIN PGP SIGNATURE----- # # iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmWRImYUHHBib256aW5p # QHJlZGhhdC5jb20ACgkQv/vSX3jHroNd7AgAgcyJGiMfUkXqhefplpm06RDXQIa8 # FuoJqPb21lO75DQKfaFRAc4xGLagjJROMJGHMm9HvMu2VlwvOydkQlfFRspENxQ/ # 5XzGdb/X0A7HA/mwUfnMB1AZx0Vs32VI5IBSc6acc9fmgeZ84XQEoM3KBQHUik7X # mSkE4eltR9gJ+4IaGo4voZtK+YoVD8nEcuqmnKihSPWizev0FsZ49aNMtaYa9qC/ # Xs3kiQd/zPibHDHJu0ulFsNZgxtUcvlLHTCf8gO4dHWxCFLXGubMush83McpRtNB # Qoh6cTLH+PBXfrxMR3zmTZMNvo8Euls3s07Y8TkNP4vdIIE/kMeMDW1wJw== # =mq30 # -----END PGP SIGNATURE----- # gpg: Signature made Sun 31 Dec 2023 08:12:22 GMT # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonzini@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full] # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full] # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * tag 'for-upstream' of https://gitlab.com/bonzini/qemu: (46 commits) meson.build: report graphics backends separately configure, meson: rename targetos to host_os meson: rename config_all meson: remove CONFIG_ALL meson: remove config_targetos meson: remove CONFIG_POSIX and CONFIG_WIN32 from config_targetos meson: remove OS definitions from config_targetos meson: always probe u2f and canokey if the option is enabled meson: move subdirs to "Collect sources" section meson: move config-host.h definitions together meson: move CFI detection code with other compiler flags meson: keep subprojects together meson: move accelerator dependency checks together meson: move option validation together meson: move program checks together meson: add more sections to main meson.build configure: unify again the case arms in probe_target_compiler configure: remove unnecessary subshell Makefile: clean qemu-iotests output meson: use version_compare() to compare version ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
@@ -202,6 +202,7 @@ clean: recurse-clean
|
||||
! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-arm.a \
|
||||
-exec rm {} +
|
||||
rm -f TAGS cscope.* *~ */*~
|
||||
@$(MAKE) -Ctests/qemu-iotests clean
|
||||
|
||||
VERSION = $(shell cat $(SRC_PATH)/VERSION)
|
||||
|
||||
|
||||
@@ -17,7 +17,9 @@ if get_option('plugins')
|
||||
tcg_ss.add(files('plugin-gen.c'))
|
||||
endif
|
||||
tcg_ss.add(when: libdw, if_true: files('debuginfo.c'))
|
||||
tcg_ss.add(when: 'CONFIG_LINUX', if_true: files('perf.c'))
|
||||
if host_os == 'linux'
|
||||
tcg_ss.add(files('perf.c'))
|
||||
endif
|
||||
specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_ss)
|
||||
|
||||
specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files(
|
||||
|
||||
@@ -10,9 +10,13 @@ system_ss.add([files(
|
||||
'confidential-guest-support.c',
|
||||
), numa])
|
||||
|
||||
system_ss.add(when: 'CONFIG_POSIX', if_true: files('rng-random.c'))
|
||||
system_ss.add(when: 'CONFIG_POSIX', if_true: files('hostmem-file.c'))
|
||||
system_ss.add(when: 'CONFIG_LINUX', if_true: files('hostmem-memfd.c'))
|
||||
if host_os != 'windows'
|
||||
system_ss.add(files('rng-random.c'))
|
||||
system_ss.add(files('hostmem-file.c'))
|
||||
endif
|
||||
if host_os == 'linux'
|
||||
system_ss.add(files('hostmem-memfd.c'))
|
||||
endif
|
||||
if keyutils.found()
|
||||
system_ss.add(keyutils, files('cryptodev-lkcf.c'))
|
||||
endif
|
||||
|
||||
+8
-3
@@ -88,10 +88,15 @@ if get_option('parallels').allowed()
|
||||
block_ss.add(files('parallels.c', 'parallels-ext.c'))
|
||||
endif
|
||||
|
||||
block_ss.add(when: 'CONFIG_WIN32', if_true: files('file-win32.c', 'win32-aio.c'))
|
||||
block_ss.add(when: 'CONFIG_POSIX', if_true: [files('file-posix.c'), coref, iokit])
|
||||
if host_os == 'windows'
|
||||
block_ss.add(files('file-win32.c', 'win32-aio.c'))
|
||||
else
|
||||
block_ss.add(files('file-posix.c'), coref, iokit)
|
||||
endif
|
||||
block_ss.add(when: libiscsi, if_true: files('iscsi-opts.c'))
|
||||
block_ss.add(when: 'CONFIG_LINUX', if_true: files('nvme.c'))
|
||||
if host_os == 'linux'
|
||||
block_ss.add(files('nvme.c'))
|
||||
endif
|
||||
if get_option('replication').allowed()
|
||||
block_ss.add(files('replication.c'))
|
||||
endif
|
||||
|
||||
@@ -24,6 +24,6 @@ kvm = cc.find_library('kvm', required: true)
|
||||
bsd_user_ss.add(elf, procstat, kvm)
|
||||
|
||||
# Pull in the OS-specific build glue, if any
|
||||
subdir(targetos)
|
||||
subdir(host_os)
|
||||
|
||||
specific_ss.add_all(when: 'CONFIG_BSD_USER', if_true: bsd_user_ss)
|
||||
|
||||
+15
-13
@@ -12,21 +12,23 @@ chardev_ss.add(files(
|
||||
'char-udp.c',
|
||||
'char.c',
|
||||
))
|
||||
chardev_ss.add(when: 'CONFIG_POSIX', if_true: [files(
|
||||
'char-fd.c',
|
||||
'char-pty.c',
|
||||
), util])
|
||||
if targetos in ['linux', 'gnu/kfreebsd', 'freebsd', 'dragonfly']
|
||||
chardev_ss.add(files('char-parallel.c'))
|
||||
if host_os == 'windows'
|
||||
chardev_ss.add(files(
|
||||
'char-console.c',
|
||||
'char-win-stdio.c',
|
||||
'char-win.c',
|
||||
))
|
||||
else
|
||||
chardev_ss.add(files(
|
||||
'char-fd.c',
|
||||
'char-pty.c',
|
||||
), util)
|
||||
if host_os in ['linux', 'gnu/kfreebsd', 'freebsd', 'dragonfly']
|
||||
chardev_ss.add(files('char-parallel.c'))
|
||||
endif
|
||||
endif
|
||||
|
||||
chardev_ss.add(when: 'CONFIG_WIN32', if_true: files(
|
||||
'char-console.c',
|
||||
'char-win-stdio.c',
|
||||
'char-win.c',
|
||||
))
|
||||
|
||||
chardev_ss = chardev_ss.apply(config_targetos, strict: false)
|
||||
chardev_ss = chardev_ss.apply({})
|
||||
|
||||
system_ss.add(files(
|
||||
'char-hmp-cmds.c',
|
||||
|
||||
@@ -334,30 +334,30 @@ EOF
|
||||
}
|
||||
|
||||
if check_define __linux__ ; then
|
||||
targetos=linux
|
||||
host_os=linux
|
||||
elif check_define _WIN32 ; then
|
||||
targetos=windows
|
||||
host_os=windows
|
||||
elif check_define __OpenBSD__ ; then
|
||||
targetos=openbsd
|
||||
host_os=openbsd
|
||||
elif check_define __sun__ ; then
|
||||
targetos=sunos
|
||||
host_os=sunos
|
||||
elif check_define __HAIKU__ ; then
|
||||
targetos=haiku
|
||||
host_os=haiku
|
||||
elif check_define __FreeBSD__ ; then
|
||||
targetos=freebsd
|
||||
host_os=freebsd
|
||||
elif check_define __FreeBSD_kernel__ && check_define __GLIBC__; then
|
||||
targetos=gnu/kfreebsd
|
||||
host_os=gnu/kfreebsd
|
||||
elif check_define __DragonFly__ ; then
|
||||
targetos=dragonfly
|
||||
host_os=dragonfly
|
||||
elif check_define __NetBSD__; then
|
||||
targetos=netbsd
|
||||
host_os=netbsd
|
||||
elif check_define __APPLE__; then
|
||||
targetos=darwin
|
||||
host_os=darwin
|
||||
else
|
||||
# This is a fatal error, but don't report it yet, because we
|
||||
# might be going to just print the --help text, or it might
|
||||
# be the result of a missing compiler.
|
||||
targetos=bogus
|
||||
host_os=bogus
|
||||
fi
|
||||
|
||||
if test ! -z "$cpu" ; then
|
||||
@@ -573,13 +573,13 @@ do
|
||||
fi
|
||||
done
|
||||
|
||||
if test "$targetos" = "windows" ; then
|
||||
if test "$host_os" = "windows" ; then
|
||||
EXESUF=".exe"
|
||||
fi
|
||||
|
||||
meson_option_build_array() {
|
||||
printf '['
|
||||
(if test "$targetos" = windows; then
|
||||
(if test "$host_os" = windows; then
|
||||
IFS=\;
|
||||
else
|
||||
IFS=:
|
||||
@@ -802,7 +802,7 @@ mak_wilds=""
|
||||
|
||||
if [ -n "$host_arch" ] && [ -d "$source_path/common-user/host/$host_arch" ]; then
|
||||
if [ "$linux_user" != no ]; then
|
||||
if [ "$targetos" = linux ]; then
|
||||
if [ "$host_os" = linux ]; then
|
||||
linux_user=yes
|
||||
elif [ "$linux_user" = yes ]; then
|
||||
error_exit "linux-user not supported on this architecture"
|
||||
@@ -813,9 +813,9 @@ if [ -n "$host_arch" ] && [ -d "$source_path/common-user/host/$host_arch" ]; the
|
||||
fi
|
||||
if [ "$bsd_user" != no ]; then
|
||||
if [ "$bsd_user" = "" ]; then
|
||||
test $targetos = freebsd && bsd_user=yes
|
||||
test $host_os = freebsd && bsd_user=yes
|
||||
fi
|
||||
if [ "$bsd_user" = yes ] && ! [ -d "$source_path/bsd-user/$targetos" ]; then
|
||||
if [ "$bsd_user" = yes ] && ! [ -d "$source_path/bsd-user/$host_os" ]; then
|
||||
error_exit "bsd-user not supported on this host OS"
|
||||
fi
|
||||
if [ "$bsd_user" = "yes" ]; then
|
||||
@@ -998,7 +998,7 @@ if test -z "$ninja"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$targetos" = "bogus"; then
|
||||
if test "$host_os" = "bogus"; then
|
||||
# Now that we know that we're not printing the help and that
|
||||
# the compiler works (so the results of the check_defines we used
|
||||
# to identify the OS are reliable), if we didn't recognize the
|
||||
@@ -1007,7 +1007,7 @@ if test "$targetos" = "bogus"; then
|
||||
fi
|
||||
|
||||
# test for any invalid configuration combinations
|
||||
if test "$targetos" = "windows" && ! has "$dlltool"; then
|
||||
if test "$host_os" = "windows" && ! has "$dlltool"; then
|
||||
if test "$plugins" = "yes"; then
|
||||
error_exit "TCG plugins requires dlltool to build on Windows platforms"
|
||||
fi
|
||||
@@ -1041,7 +1041,7 @@ static THREAD int tls_var;
|
||||
int main(void) { return tls_var; }
|
||||
EOF
|
||||
|
||||
if test "$targetos" = windows || test "$targetos" = haiku; then
|
||||
if test "$host_os" = windows || test "$host_os" = haiku; then
|
||||
if test "$pie" = "yes"; then
|
||||
error_exit "PIE not available due to missing OS support"
|
||||
fi
|
||||
@@ -1231,6 +1231,7 @@ probe_target_compiler() {
|
||||
got_cross_cc=no
|
||||
container_image=
|
||||
container_hosts=
|
||||
container_cross_prefix=
|
||||
container_cross_cc=
|
||||
container_cross_ar=
|
||||
container_cross_as=
|
||||
@@ -1272,16 +1273,33 @@ probe_target_compiler() {
|
||||
test "$container" != no || continue
|
||||
test "$host" = "$cpu" || continue
|
||||
case $target_arch in
|
||||
# debian-all-test-cross architectures
|
||||
|
||||
hppa|m68k|mips|riscv64|sparc64)
|
||||
container_image=debian-all-test-cross
|
||||
;;
|
||||
mips64)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=mips64-linux-gnuabi64-
|
||||
;;
|
||||
ppc|ppc64|ppc64le)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=powerpc${target_arch#ppc}-linux-gnu-
|
||||
;;
|
||||
|
||||
# debian-legacy-test-cross architectures (need Debian 11)
|
||||
# - libc6.1-dev-alpha-cross: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054412
|
||||
# - sh4-linux-user: binaries don't run with bookworm compiler
|
||||
|
||||
alpha|sh4)
|
||||
container_image=debian-legacy-test-cross
|
||||
;;
|
||||
|
||||
# architectures with individual containers
|
||||
|
||||
aarch64)
|
||||
# We don't have any bigendian build tools so we only use this for AArch64
|
||||
container_image=debian-arm64-cross
|
||||
container_cross_prefix=aarch64-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc
|
||||
;;
|
||||
alpha)
|
||||
container_image=debian-legacy-test-cross
|
||||
container_cross_prefix=alpha-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc
|
||||
;;
|
||||
arm)
|
||||
# We don't have any bigendian build tools so we only use this for ARM
|
||||
@@ -1290,18 +1308,11 @@ probe_target_compiler() {
|
||||
;;
|
||||
cris)
|
||||
container_image=fedora-cris-cross
|
||||
container_cross_prefix=cris-linux-gnu-
|
||||
;;
|
||||
hexagon)
|
||||
container_image=debian-hexagon-cross
|
||||
container_cross_prefix=hexagon-unknown-linux-musl-
|
||||
container_cross_cc=${container_cross_prefix}clang
|
||||
;;
|
||||
hppa)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=hppa-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc
|
||||
;;
|
||||
i386)
|
||||
container_image=debian-i686-cross
|
||||
container_cross_prefix=i686-linux-gnu-
|
||||
@@ -1310,59 +1321,19 @@ probe_target_compiler() {
|
||||
container_image=debian-loongarch-cross
|
||||
container_cross_prefix=loongarch64-unknown-linux-gnu-
|
||||
;;
|
||||
m68k)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=m68k-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc
|
||||
;;
|
||||
microblaze)
|
||||
container_image=debian-microblaze-cross
|
||||
container_cross_prefix=microblaze-linux-musl-
|
||||
;;
|
||||
mips64el)
|
||||
container_image=debian-mips64el-cross
|
||||
container_cross_prefix=mips64el-linux-gnuabi64-
|
||||
;;
|
||||
mips64)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=mips64-linux-gnuabi64-
|
||||
;;
|
||||
mips)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=mips-linux-gnu-
|
||||
;;
|
||||
nios2)
|
||||
container_image=debian-nios2-cross
|
||||
container_cross_prefix=nios2-linux-gnu-
|
||||
;;
|
||||
ppc)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=powerpc-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc
|
||||
;;
|
||||
ppc64|ppc64le)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=powerpc${target_arch#ppc}-linux-gnu-
|
||||
;;
|
||||
riscv64)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=riscv64-linux-gnu-
|
||||
;;
|
||||
sh4)
|
||||
container_image=debian-legacy-test-cross
|
||||
container_cross_prefix=sh4-linux-gnu-
|
||||
;;
|
||||
sparc64)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=sparc64-linux-gnu-
|
||||
;;
|
||||
tricore)
|
||||
container_image=debian-tricore-cross
|
||||
container_cross_prefix=tricore-
|
||||
;;
|
||||
x86_64)
|
||||
container_image=debian-amd64-cross
|
||||
container_cross_prefix=x86_64-linux-gnu-
|
||||
;;
|
||||
xtensa*)
|
||||
container_image=debian-xtensa-cross
|
||||
@@ -1370,12 +1341,10 @@ probe_target_compiler() {
|
||||
# default to the dc232b cpu
|
||||
container_cross_prefix=/opt/2020.07/xtensa-dc232b-elf/bin/xtensa-dc232b-elf-
|
||||
;;
|
||||
*)
|
||||
# Debian and GNU architecture names usually match
|
||||
container_image=debian-$target_arch-cross
|
||||
container_cross_prefix=$target_arch-linux-gnu-
|
||||
;;
|
||||
esac
|
||||
# Debian and GNU architecture names usually match
|
||||
: ${container_image:=debian-$target_arch-cross}
|
||||
: ${container_cross_prefix:=$target_arch-linux-gnu-}
|
||||
: ${container_cross_cc:=${container_cross_prefix}gcc}
|
||||
: ${container_cross_ar:=${container_cross_prefix}ar}
|
||||
: ${container_cross_as:=${container_cross_prefix}as}
|
||||
@@ -1387,8 +1356,8 @@ probe_target_compiler() {
|
||||
done
|
||||
|
||||
try=cross
|
||||
# For softmmu/roms we might be able to use the host compiler
|
||||
if [ "${1%softmmu}" != "$1" ]; then
|
||||
# For softmmu/roms also look for a bi-endian or multilib-enabled host compiler
|
||||
if [ "${1%softmmu}" != "$1" ] || test "$target_arch" = "$cpu"; then
|
||||
case "$target_arch:$cpu" in
|
||||
aarch64_be:aarch64 | \
|
||||
armeb:arm | \
|
||||
@@ -1559,7 +1528,7 @@ LINKS="$LINKS pc-bios/s390-ccw/Makefile"
|
||||
LINKS="$LINKS pc-bios/vof/Makefile"
|
||||
LINKS="$LINKS .gdbinit scripts" # scripts needed by relative path in .gdbinit
|
||||
LINKS="$LINKS tests/avocado tests/data"
|
||||
LINKS="$LINKS tests/qemu-iotests/check"
|
||||
LINKS="$LINKS tests/qemu-iotests/check tests/qemu-iotests/Makefile"
|
||||
LINKS="$LINKS python"
|
||||
LINKS="$LINKS contrib/plugins/Makefile "
|
||||
for f in $LINKS ; do
|
||||
@@ -1572,8 +1541,8 @@ echo "# Automatically generated by configure - do not modify" > Makefile.prereqs
|
||||
|
||||
# Mac OS X ships with a broken assembler
|
||||
if have_target i386-softmmu x86_64-softmmu && \
|
||||
test "$targetos" != "darwin" && test "$targetos" != "sunos" && \
|
||||
test "$targetos" != "haiku" && \
|
||||
test "$host_os" != "darwin" && test "$host_os" != "sunos" && \
|
||||
test "$host_os" != "haiku" && \
|
||||
probe_target_compiler i386-softmmu; then
|
||||
subdirs="$subdirs pc-bios/optionrom"
|
||||
config_mak=pc-bios/optionrom/config.mak
|
||||
@@ -1637,7 +1606,7 @@ echo "NINJA=$ninja" >> $config_host_mak
|
||||
echo "EXESUF=$EXESUF" >> $config_host_mak
|
||||
|
||||
# use included Linux headers for KVM architectures
|
||||
if test "$targetos" = "linux" && test -n "$linux_arch"; then
|
||||
if test "$host_os" = "linux" && test -n "$linux_arch"; then
|
||||
symlink "$source_path/linux-headers/asm-$linux_arch" linux-headers/asm
|
||||
fi
|
||||
|
||||
@@ -1660,21 +1629,20 @@ echo "SRC_PATH=$source_path/contrib/plugins" >> contrib/plugins/$config_host_mak
|
||||
echo "PKG_CONFIG=${pkg_config}" >> contrib/plugins/$config_host_mak
|
||||
echo "CC=$cc $CPU_CFLAGS" >> contrib/plugins/$config_host_mak
|
||||
echo "CFLAGS=${CFLAGS-$default_cflags} $EXTRA_CFLAGS" >> contrib/plugins/$config_host_mak
|
||||
if test "$targetos" = windows; then
|
||||
if test "$host_os" = windows; then
|
||||
echo "DLLTOOL=$dlltool" >> contrib/plugins/$config_host_mak
|
||||
fi
|
||||
if test "$targetos" = darwin; then
|
||||
if test "$host_os" = darwin; then
|
||||
echo "CONFIG_DARWIN=y" >> contrib/plugins/$config_host_mak
|
||||
fi
|
||||
if test "$targetos" = windows; then
|
||||
if test "$host_os" = windows; then
|
||||
echo "CONFIG_WIN32=y" >> contrib/plugins/$config_host_mak
|
||||
fi
|
||||
|
||||
# tests/tcg configuration
|
||||
(config_host_mak=tests/tcg/config-host.mak
|
||||
mkdir -p tests/tcg
|
||||
echo "# Automatically generated by configure - do not modify" > $config_host_mak
|
||||
echo "SRC_PATH=$source_path" >> $config_host_mak
|
||||
echo "# Automatically generated by configure - do not modify" > tests/tcg/$config_host_mak
|
||||
echo "SRC_PATH=$source_path" >> tests/tcg/$config_host_mak
|
||||
|
||||
tcg_tests_targets=
|
||||
for target in $target_list; do
|
||||
@@ -1717,9 +1685,8 @@ for target in $target_list; do
|
||||
done
|
||||
|
||||
if test "$tcg" = "enabled"; then
|
||||
echo "TCG_TESTS_TARGETS=$tcg_tests_targets" >> config-host.mak
|
||||
echo "TCG_TESTS_TARGETS=$tcg_tests_targets" >> $config_host_mak
|
||||
fi
|
||||
)
|
||||
|
||||
if test "$skip_meson" = no; then
|
||||
cross="config-meson.cross.new"
|
||||
@@ -1748,7 +1715,7 @@ if test "$skip_meson" = no; then
|
||||
echo "# environment defaults, can still be overridden on " >> $cross
|
||||
echo "# the command line" >> $cross
|
||||
if test -e "$source_path/.git" && \
|
||||
{ test "$targetos" = linux || test "$targetos" = "windows"; }; then
|
||||
{ test "$host_os" = linux || test "$host_os" = "windows"; }; then
|
||||
echo 'werror = true' >> $cross
|
||||
fi
|
||||
echo "[project options]" >> $cross
|
||||
@@ -1785,7 +1752,7 @@ if test "$skip_meson" = no; then
|
||||
echo "windmc = [$(meson_quote $windmc)]" >> $cross
|
||||
if test "$cross_compile" = "yes"; then
|
||||
echo "[host_machine]" >> $cross
|
||||
echo "system = '$targetos'" >> $cross
|
||||
echo "system = '$host_os'" >> $cross
|
||||
case "$cpu" in
|
||||
i386)
|
||||
echo "cpu_family = 'x86'" >> $cross
|
||||
@@ -1811,8 +1778,8 @@ if test "$skip_meson" = no; then
|
||||
fi
|
||||
mv $cross config-meson.cross
|
||||
meson_add_machine_file config-meson.cross
|
||||
if test -f "$source_path/configs/meson/$targetos.txt"; then
|
||||
meson_add_machine_file $source_path/configs/meson/$targetos.txt
|
||||
if test -f "$source_path/configs/meson/$host_os.txt"; then
|
||||
meson_add_machine_file $source_path/configs/meson/$host_os.txt
|
||||
fi
|
||||
|
||||
rm -rf meson-private meson-info meson-logs
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
executable('ivshmem-client', files('ivshmem-client.c', 'main.c'), genh,
|
||||
dependencies: glib,
|
||||
build_by_default: targetos == 'linux',
|
||||
build_by_default: host_os == 'linux',
|
||||
install: false)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
executable('ivshmem-server', files('ivshmem-server.c', 'main.c'), genh,
|
||||
dependencies: [qemuutil, rt],
|
||||
build_by_default: targetos == 'linux',
|
||||
build_by_default: host_os == 'linux',
|
||||
install: false)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
executable('vhost-user-blk', files('vhost-user-blk.c'),
|
||||
dependencies: [qemuutil, vhost_user],
|
||||
build_by_default: targetos == 'linux',
|
||||
build_by_default: host_os == 'linux',
|
||||
install: false)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
executable('vhost-user-input', files('main.c'),
|
||||
dependencies: [qemuutil, vhost_user],
|
||||
build_by_default: targetos == 'linux',
|
||||
build_by_default: host_os == 'linux',
|
||||
install: false)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
if libiscsi.found()
|
||||
executable('vhost-user-scsi', files('vhost-user-scsi.c'),
|
||||
dependencies: [qemuutil, libiscsi, vhost_user],
|
||||
build_by_default: targetos == 'linux',
|
||||
build_by_default: host_os == 'linux',
|
||||
install: false)
|
||||
endif
|
||||
|
||||
@@ -256,21 +256,6 @@ Target-independent emulator sourcesets:
|
||||
``system_ss`` only in system emulators, ``user_ss`` only in user-mode
|
||||
emulators.
|
||||
|
||||
Target-independent sourcesets must exercise particular care when using
|
||||
``if_false`` rules. The ``if_false`` rule will be used correctly when linking
|
||||
emulator binaries; however, when *compiling* target-independent files
|
||||
into .o files, Meson may need to pick *both* the ``if_true`` and
|
||||
``if_false`` sides to cater for targets that want either side. To
|
||||
achieve that, you can add a special rule using the ``CONFIG_ALL``
|
||||
symbol::
|
||||
|
||||
# Some targets have CONFIG_ACPI, some don't, so this is not enough
|
||||
system_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi.c'),
|
||||
if_false: files('acpi-stub.c'))
|
||||
|
||||
# This is required as well:
|
||||
system_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c'))
|
||||
|
||||
Target-dependent emulator sourcesets:
|
||||
In the target-dependent set lives CPU emulation, some device emulation and
|
||||
much glue code. This sometimes also has to be compiled multiple times,
|
||||
|
||||
@@ -316,6 +316,6 @@ variable::
|
||||
|
||||
host_kconfig = \
|
||||
(have_tpm ? ['CONFIG_TPM=y'] : []) + \
|
||||
(targetos == 'linux' ? ['CONFIG_LINUX=y'] : []) + \
|
||||
(host_os == 'linux' ? ['CONFIG_LINUX=y'] : []) + \
|
||||
(have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \
|
||||
...
|
||||
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
fsdev_ss = ss.source_set()
|
||||
fsdev_ss.add(files('qemu-fsdev-opts.c', 'qemu-fsdev-throttle.c'))
|
||||
fsdev_ss.add(when: 'CONFIG_ALL', if_true: files('qemu-fsdev-dummy.c'))
|
||||
fsdev_ss.add(when: ['CONFIG_FSDEV_9P'], if_true: files(
|
||||
'9p-iov-marshal.c',
|
||||
'9p-marshal.c',
|
||||
'qemu-fsdev.c',
|
||||
), if_false: files('qemu-fsdev-dummy.c'))
|
||||
system_ss.add_all(when: 'CONFIG_LINUX', if_true: fsdev_ss)
|
||||
system_ss.add_all(when: 'CONFIG_DARWIN', if_true: fsdev_ss)
|
||||
if host_os in ['linux', 'darwin']
|
||||
system_ss.add_all(fsdev_ss)
|
||||
endif
|
||||
|
||||
if have_virtfs_proxy_helper
|
||||
executable('virtfs-proxy-helper',
|
||||
|
||||
+2
-2
@@ -14,8 +14,8 @@ gdb_system_ss = ss.source_set()
|
||||
gdb_user_ss.add(files('gdbstub.c', 'user.c'))
|
||||
gdb_system_ss.add(files('gdbstub.c', 'system.c'))
|
||||
|
||||
gdb_user_ss = gdb_user_ss.apply(config_targetos, strict: false)
|
||||
gdb_system_ss = gdb_system_ss.apply(config_targetos, strict: false)
|
||||
gdb_user_ss = gdb_user_ss.apply({})
|
||||
gdb_system_ss = gdb_system_ss.apply({})
|
||||
|
||||
libgdb_user = static_library('gdb_user',
|
||||
gdb_user_ss.sources() + genh,
|
||||
|
||||
+5
-2
@@ -13,8 +13,11 @@ fs_ss.add(files(
|
||||
'coth.c',
|
||||
'coxattr.c',
|
||||
))
|
||||
fs_ss.add(when: 'CONFIG_LINUX', if_true: files('9p-util-linux.c'))
|
||||
fs_ss.add(when: 'CONFIG_DARWIN', if_true: files('9p-util-darwin.c'))
|
||||
if host_os == 'darwin'
|
||||
fs_ss.add(files('9p-util-darwin.c'))
|
||||
elif host_os == 'linux'
|
||||
fs_ss.add(files('9p-util-linux.c'))
|
||||
endif
|
||||
fs_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-9p-backend.c'))
|
||||
system_ss.add_all(when: 'CONFIG_FSDEV_9P', if_true: fs_ss)
|
||||
|
||||
|
||||
@@ -33,9 +33,4 @@ endif
|
||||
system_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c', 'ghes-stub.c', 'acpi_interface.c'))
|
||||
system_ss.add(when: 'CONFIG_ACPI_PCI_BRIDGE', if_false: files('pci-bridge-stub.c'))
|
||||
system_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss)
|
||||
system_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c', 'aml-build-stub.c',
|
||||
'acpi-x86-stub.c', 'ipmi-stub.c', 'ghes-stub.c',
|
||||
'acpi-mem-hotplug-stub.c', 'acpi-cpu-hotplug-stub.c',
|
||||
'acpi-pci-hotplug-stub.c', 'acpi-nvdimm-stub.c',
|
||||
'cxl-stub.c', 'pci-bridge-stub.c'))
|
||||
system_ss.add(files('acpi-qmp-cmds.c'))
|
||||
|
||||
@@ -11,5 +11,3 @@ system_ss.add(when: 'CONFIG_CXL',
|
||||
if_false: files(
|
||||
'cxl-host-stubs.c',
|
||||
))
|
||||
|
||||
system_ss.add(when: 'CONFIG_ALL', if_true: files('cxl-host-stubs.c'))
|
||||
|
||||
@@ -69,8 +69,11 @@ if config_all_devices.has_key('CONFIG_VIRTIO_GPU')
|
||||
virtio_gpu_ss = ss.source_set()
|
||||
virtio_gpu_ss.add(when: 'CONFIG_VIRTIO_GPU',
|
||||
if_true: [files('virtio-gpu-base.c', 'virtio-gpu.c'), pixman])
|
||||
virtio_gpu_ss.add(when: 'CONFIG_LINUX', if_true: files('virtio-gpu-udmabuf.c'),
|
||||
if_false: files('virtio-gpu-udmabuf-stubs.c'))
|
||||
if host_os == 'linux'
|
||||
virtio_gpu_ss.add(files('virtio-gpu-udmabuf.c'))
|
||||
else
|
||||
virtio_gpu_ss.add(files('virtio-gpu-udmabuf-stubs.c'))
|
||||
endif
|
||||
virtio_gpu_ss.add(when: 'CONFIG_VHOST_USER_GPU', if_true: files('vhost-user-gpu.c'))
|
||||
hw_display_modules += {'virtio-gpu': virtio_gpu_ss}
|
||||
|
||||
@@ -140,5 +143,4 @@ endif
|
||||
|
||||
system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_lcdc.c'))
|
||||
|
||||
system_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-vga-stub.c'))
|
||||
modules += { 'hw-display': hw_display_modules }
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user