mirror of https://github.com/xemu-project/xemu.git
* build system fixes and cleanups
* use subproject() for the dtc and keycodemapdb submodules * fix virtio memory leak * update slirp.wrap to latest commit in the master branch -----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmRwi6cUHHBib256aW5p QHJlZGhhdC5jb20ACgkQv/vSX3jHroO3awf9GsLa0sip+lUsV2JgzZGm2mL7Fo9A kBbuehaT+5gI2PGY6Sp1RVdDnf/JS4HkU11TBBVYFpJdDwqerCNcprgOO3Y5Mung Ukg93FgdvORlbTyfnMXNUe8dDaoTe6kvN1kTm+zhzMCJDTSCgZRqWc4Fh5oNg+No pupeR7hjW6nEKSnYVhjP7LjSOteJfR9aeKT/bxRaQpmlegeGVC6RZ1naZtRHY6le Y8KeKoelgBkEGPk5MnmFhnrITwYrfV0g2uP4Jinr5GildC8E/ZSmxo5h1TUqkQFA /MKuIt6cRBitCHyYQLiXY+MZc6AkS3tsAhCo41Nknb4nylKeWgPHBIAWxA== =NRBc -----END PGP SIGNATURE----- Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging * build system fixes and cleanups * use subproject() for the dtc and keycodemapdb submodules * fix virtio memory leak * update slirp.wrap to latest commit in the master branch # -----BEGIN PGP SIGNATURE----- # # iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmRwi6cUHHBib256aW5p # QHJlZGhhdC5jb20ACgkQv/vSX3jHroO3awf9GsLa0sip+lUsV2JgzZGm2mL7Fo9A # kBbuehaT+5gI2PGY6Sp1RVdDnf/JS4HkU11TBBVYFpJdDwqerCNcprgOO3Y5Mung # Ukg93FgdvORlbTyfnMXNUe8dDaoTe6kvN1kTm+zhzMCJDTSCgZRqWc4Fh5oNg+No # pupeR7hjW6nEKSnYVhjP7LjSOteJfR9aeKT/bxRaQpmlegeGVC6RZ1naZtRHY6le # Y8KeKoelgBkEGPk5MnmFhnrITwYrfV0g2uP4Jinr5GildC8E/ZSmxo5h1TUqkQFA # /MKuIt6cRBitCHyYQLiXY+MZc6AkS3tsAhCo41Nknb4nylKeWgPHBIAWxA== # =NRBc # -----END PGP SIGNATURE----- # gpg: Signature made Fri 26 May 2023 03:36:23 AM PDT # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonzini@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [undefined] # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [undefined] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # 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: configure: ignore --make meson: use subproject for keycodemapdb meson: use subproject for internal libfdt meson: simplify logic for -Dfdt virtio: qmp: fix memory leak slirp: update wrap to latest master meson: Add static glib dependency for initrd-stress.img meson: Remove leftover comment configure: unset harmful environment variables Makefile: remove $(TESTS_PYTHON) tests/vm: fix and simplify HOST_ARCH definition tests/docker: simplify HOST_ARCH definition Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
ac84b57b4d
|
@ -13,8 +13,8 @@
|
||||||
[submodule "roms/qemu-palcode"]
|
[submodule "roms/qemu-palcode"]
|
||||||
path = roms/qemu-palcode
|
path = roms/qemu-palcode
|
||||||
url = https://gitlab.com/qemu-project/qemu-palcode.git
|
url = https://gitlab.com/qemu-project/qemu-palcode.git
|
||||||
[submodule "dtc"]
|
[submodule "subprojects/dtc"]
|
||||||
path = dtc
|
path = subprojects/dtc
|
||||||
url = https://gitlab.com/qemu-project/dtc.git
|
url = https://gitlab.com/qemu-project/dtc.git
|
||||||
[submodule "roms/u-boot"]
|
[submodule "roms/u-boot"]
|
||||||
path = roms/u-boot
|
path = roms/u-boot
|
||||||
|
@ -25,8 +25,8 @@
|
||||||
[submodule "roms/QemuMacDrivers"]
|
[submodule "roms/QemuMacDrivers"]
|
||||||
path = roms/QemuMacDrivers
|
path = roms/QemuMacDrivers
|
||||||
url = https://gitlab.com/qemu-project/QemuMacDrivers.git
|
url = https://gitlab.com/qemu-project/QemuMacDrivers.git
|
||||||
[submodule "ui/keycodemapdb"]
|
[submodule "subprojects/keycodemapdb"]
|
||||||
path = ui/keycodemapdb
|
path = subprojects/keycodemapdb
|
||||||
url = https://gitlab.com/qemu-project/keycodemapdb.git
|
url = https://gitlab.com/qemu-project/keycodemapdb.git
|
||||||
[submodule "roms/seabios-hppa"]
|
[submodule "roms/seabios-hppa"]
|
||||||
path = roms/seabios-hppa
|
path = roms/seabios-hppa
|
||||||
|
|
|
@ -4,9 +4,8 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
# Unset some variables known to interfere with behavior of common tools,
|
# Unset some variables known to interfere with behavior of common tools,
|
||||||
# just as autoconf does.
|
# just as autoconf does. Unlike autoconf, we assume that unset exists.
|
||||||
CLICOLOR_FORCE= GREP_OPTIONS=
|
unset CLICOLOR_FORCE GREP_OPTIONS BASH_ENV ENV MAIL MAILPATH CDPATH
|
||||||
unset CLICOLOR_FORCE GREP_OPTIONS
|
|
||||||
|
|
||||||
# Don't allow CCACHE, if present, to use cached results of compile tests!
|
# Don't allow CCACHE, if present, to use cached results of compile tests!
|
||||||
export CCACHE_RECACHE=yes
|
export CCACHE_RECACHE=yes
|
||||||
|
@ -254,7 +253,7 @@ else
|
||||||
git_submodules_action="ignore"
|
git_submodules_action="ignore"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git_submodules="ui/keycodemapdb"
|
git_submodules="subprojects/keycodemapdb"
|
||||||
git="git"
|
git="git"
|
||||||
debug_tcg="no"
|
debug_tcg="no"
|
||||||
docs="auto"
|
docs="auto"
|
||||||
|
@ -401,20 +400,16 @@ gnu/kfreebsd)
|
||||||
;;
|
;;
|
||||||
freebsd)
|
freebsd)
|
||||||
bsd="yes"
|
bsd="yes"
|
||||||
make="${MAKE-gmake}"
|
|
||||||
# needed for kinfo_getvmmap(3) in libutil.h
|
# needed for kinfo_getvmmap(3) in libutil.h
|
||||||
;;
|
;;
|
||||||
dragonfly)
|
dragonfly)
|
||||||
bsd="yes"
|
bsd="yes"
|
||||||
make="${MAKE-gmake}"
|
|
||||||
;;
|
;;
|
||||||
netbsd)
|
netbsd)
|
||||||
bsd="yes"
|
bsd="yes"
|
||||||
make="${MAKE-gmake}"
|
|
||||||
;;
|
;;
|
||||||
openbsd)
|
openbsd)
|
||||||
bsd="yes"
|
bsd="yes"
|
||||||
make="${MAKE-gmake}"
|
|
||||||
;;
|
;;
|
||||||
darwin)
|
darwin)
|
||||||
bsd="yes"
|
bsd="yes"
|
||||||
|
@ -422,7 +417,6 @@ darwin)
|
||||||
;;
|
;;
|
||||||
sunos)
|
sunos)
|
||||||
solaris="yes"
|
solaris="yes"
|
||||||
make="${MAKE-gmake}"
|
|
||||||
;;
|
;;
|
||||||
haiku)
|
haiku)
|
||||||
pie="no"
|
pie="no"
|
||||||
|
@ -526,9 +520,6 @@ case "$cpu" in
|
||||||
CPU_CFLAGS="-m64 -mcpu=ultrasparc" ;;
|
CPU_CFLAGS="-m64 -mcpu=ultrasparc" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
: ${make=${MAKE-make}}
|
|
||||||
|
|
||||||
|
|
||||||
check_py_version() {
|
check_py_version() {
|
||||||
# We require python >= 3.7.
|
# We require python >= 3.7.
|
||||||
# NB: a True python conditional creates a non-zero return code (Failure)
|
# NB: a True python conditional creates a non-zero return code (Failure)
|
||||||
|
@ -631,7 +622,7 @@ for opt do
|
||||||
;;
|
;;
|
||||||
--objcc=*)
|
--objcc=*)
|
||||||
;;
|
;;
|
||||||
--make=*) make="$optarg"
|
--make=*)
|
||||||
;;
|
;;
|
||||||
--install=*)
|
--install=*)
|
||||||
;;
|
;;
|
||||||
|
@ -806,7 +797,7 @@ case $git_submodules_action in
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
ignore)
|
ignore)
|
||||||
if ! test -f "$source_path/ui/keycodemapdb/README"
|
if ! test -f "$source_path/subprojects/keycodemapdb/README"
|
||||||
then
|
then
|
||||||
echo
|
echo
|
||||||
echo "ERROR: missing GIT submodules"
|
echo "ERROR: missing GIT submodules"
|
||||||
|
@ -898,7 +889,6 @@ Advanced options (experts only):
|
||||||
--cross-cc-ARCH=CC use compiler when building ARCH guest test cases
|
--cross-cc-ARCH=CC use compiler when building ARCH guest test cases
|
||||||
--cross-cc-cflags-ARCH= use compiler flags when building ARCH guest tests
|
--cross-cc-cflags-ARCH= use compiler flags when building ARCH guest tests
|
||||||
--cross-prefix-ARCH=PREFIX cross compiler prefix when building ARCH guest test cases
|
--cross-prefix-ARCH=PREFIX cross compiler prefix when building ARCH guest test cases
|
||||||
--make=MAKE use specified make [$make]
|
|
||||||
--python=PYTHON use specified python [$python]
|
--python=PYTHON use specified python [$python]
|
||||||
--ninja=NINJA use specified ninja [$ninja]
|
--ninja=NINJA use specified ninja [$ninja]
|
||||||
--smbd=SMBD use specified smbd [$smbd]
|
--smbd=SMBD use specified smbd [$smbd]
|
||||||
|
@ -951,11 +941,6 @@ then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! has "$make"
|
|
||||||
then
|
|
||||||
error_exit "GNU make ($make) not found"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! check_py_version "$python"; then
|
if ! check_py_version "$python"; then
|
||||||
error_exit "Cannot use '$python', Python >= 3.7 is required." \
|
error_exit "Cannot use '$python', Python >= 3.7 is required." \
|
||||||
"Use --python=/path/to/python to specify a supported Python." \
|
"Use --python=/path/to/python to specify a supported Python." \
|
||||||
|
@ -1188,7 +1173,7 @@ fi
|
||||||
case "$fdt" in
|
case "$fdt" in
|
||||||
auto | enabled | internal)
|
auto | enabled | internal)
|
||||||
# Simpler to always update submodule, even if not needed.
|
# Simpler to always update submodule, even if not needed.
|
||||||
git_submodules="${git_submodules} dtc"
|
git_submodules="${git_submodules} subprojects/dtc"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -1778,7 +1763,6 @@ if test "$container" != no; then
|
||||||
echo "RUNC=$runc" >> $config_host_mak
|
echo "RUNC=$runc" >> $config_host_mak
|
||||||
fi
|
fi
|
||||||
echo "ROMS=$roms" >> $config_host_mak
|
echo "ROMS=$roms" >> $config_host_mak
|
||||||
echo "MAKE=$make" >> $config_host_mak
|
|
||||||
echo "PYTHON=$python" >> $config_host_mak
|
echo "PYTHON=$python" >> $config_host_mak
|
||||||
echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
|
echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
|
||||||
echo "MESON=$meson" >> $config_host_mak
|
echo "MESON=$meson" >> $config_host_mak
|
||||||
|
@ -2031,7 +2015,6 @@ preserve_env CXXFLAGS
|
||||||
preserve_env LD
|
preserve_env LD
|
||||||
preserve_env LDFLAGS
|
preserve_env LDFLAGS
|
||||||
preserve_env LD_LIBRARY_PATH
|
preserve_env LD_LIBRARY_PATH
|
||||||
preserve_env MAKE
|
|
||||||
preserve_env NM
|
preserve_env NM
|
||||||
preserve_env OBJCFLAGS
|
preserve_env OBJCFLAGS
|
||||||
preserve_env OBJCOPY
|
preserve_env OBJCOPY
|
||||||
|
|
|
@ -668,7 +668,7 @@ VirtioDeviceFeatures *qmp_decode_features(uint16_t device_id, uint64_t bitmap)
|
||||||
VirtioInfoList *qmp_x_query_virtio(Error **errp)
|
VirtioInfoList *qmp_x_query_virtio(Error **errp)
|
||||||
{
|
{
|
||||||
VirtioInfoList *list = NULL;
|
VirtioInfoList *list = NULL;
|
||||||
VirtioInfoList *node;
|
VirtioInfo *node;
|
||||||
VirtIODevice *vdev;
|
VirtIODevice *vdev;
|
||||||
|
|
||||||
QTAILQ_FOREACH(vdev, &virtio_list, next) {
|
QTAILQ_FOREACH(vdev, &virtio_list, next) {
|
||||||
|
@ -682,11 +682,10 @@ VirtioInfoList *qmp_x_query_virtio(Error **errp)
|
||||||
if (!strncmp(is_realized->str, "false", 4)) {
|
if (!strncmp(is_realized->str, "false", 4)) {
|
||||||
QTAILQ_REMOVE(&virtio_list, vdev, next);
|
QTAILQ_REMOVE(&virtio_list, vdev, next);
|
||||||
} else {
|
} else {
|
||||||
node = g_new0(VirtioInfoList, 1);
|
node = g_new(VirtioInfo, 1);
|
||||||
node->value = g_new(VirtioInfo, 1);
|
node->path = g_strdup(dev->canonical_path);
|
||||||
node->value->path = g_strdup(dev->canonical_path);
|
node->name = g_strdup(vdev->name);
|
||||||
node->value->name = g_strdup(vdev->name);
|
QAPI_LIST_PREPEND(list, node);
|
||||||
QAPI_LIST_PREPEND(list, node->value);
|
|
||||||
}
|
}
|
||||||
g_string_free(is_realized, true);
|
g_string_free(is_realized, true);
|
||||||
}
|
}
|
||||||
|
|
54
meson.build
54
meson.build
|
@ -404,8 +404,6 @@ if targetos != 'sunos' and not get_option('tsan')
|
||||||
qemu_ldflags += cc.get_supported_link_arguments('-Wl,--warn-common')
|
qemu_ldflags += cc.get_supported_link_arguments('-Wl,--warn-common')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Specify linker-script with add_project_link_arguments so that it is not placed
|
|
||||||
# within a linker --start-group/--end-group pair
|
|
||||||
if get_option('fuzzing')
|
if get_option('fuzzing')
|
||||||
# Specify a filter to only instrument code that is directly related to
|
# Specify a filter to only instrument code that is directly related to
|
||||||
# virtual-devices.
|
# virtual-devices.
|
||||||
|
@ -3061,13 +3059,14 @@ if have_system and vfio_user_server_allowed
|
||||||
endif
|
endif
|
||||||
|
|
||||||
fdt = not_found
|
fdt = not_found
|
||||||
if have_system
|
fdt_opt = get_option('fdt')
|
||||||
fdt_opt = get_option('fdt')
|
if fdt_required.length() > 0 or fdt_opt == 'enabled'
|
||||||
|
if fdt_opt == 'disabled'
|
||||||
|
error('fdt disabled but required by targets ' + ', '.join(fdt_required))
|
||||||
|
endif
|
||||||
|
|
||||||
if fdt_opt in ['enabled', 'auto', 'system']
|
if fdt_opt in ['enabled', 'auto', 'system']
|
||||||
have_internal = fs.exists(meson.current_source_dir() / 'dtc/libfdt/Makefile.libfdt')
|
fdt = cc.find_library('fdt', required: fdt_opt == 'system')
|
||||||
fdt = cc.find_library('fdt',
|
|
||||||
required: fdt_opt == 'system' or
|
|
||||||
fdt_opt == 'enabled' and not have_internal)
|
|
||||||
if fdt.found() and cc.links('''
|
if fdt.found() and cc.links('''
|
||||||
#include <libfdt.h>
|
#include <libfdt.h>
|
||||||
#include <libfdt_env.h>
|
#include <libfdt_env.h>
|
||||||
|
@ -3076,41 +3075,27 @@ if have_system
|
||||||
fdt_opt = 'system'
|
fdt_opt = 'system'
|
||||||
elif fdt_opt == 'system'
|
elif fdt_opt == 'system'
|
||||||
error('system libfdt requested, but it is too old (1.5.1 or newer required)')
|
error('system libfdt requested, but it is too old (1.5.1 or newer required)')
|
||||||
elif have_internal
|
|
||||||
fdt_opt = 'internal'
|
|
||||||
else
|
else
|
||||||
fdt_opt = 'disabled'
|
fdt_opt = 'internal'
|
||||||
fdt = not_found
|
fdt = not_found
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if fdt_opt == 'internal'
|
if not fdt.found()
|
||||||
fdt_files = files(
|
assert(fdt_opt == 'internal')
|
||||||
'dtc/libfdt/fdt.c',
|
have_internal = fs.exists(meson.current_source_dir() / 'subprojects/dtc/meson.build')
|
||||||
'dtc/libfdt/fdt_ro.c',
|
|
||||||
'dtc/libfdt/fdt_wip.c',
|
|
||||||
'dtc/libfdt/fdt_sw.c',
|
|
||||||
'dtc/libfdt/fdt_rw.c',
|
|
||||||
'dtc/libfdt/fdt_strerror.c',
|
|
||||||
'dtc/libfdt/fdt_empty_tree.c',
|
|
||||||
'dtc/libfdt/fdt_addresses.c',
|
|
||||||
'dtc/libfdt/fdt_overlay.c',
|
|
||||||
'dtc/libfdt/fdt_check.c',
|
|
||||||
)
|
|
||||||
|
|
||||||
fdt_inc = include_directories('dtc/libfdt')
|
if not have_internal
|
||||||
libfdt = static_library('fdt',
|
error('libfdt source not found - please pull git submodule')
|
||||||
build_by_default: false,
|
endif
|
||||||
sources: fdt_files,
|
|
||||||
include_directories: fdt_inc)
|
libfdt_proj = subproject('dtc', required: true,
|
||||||
fdt = declare_dependency(link_with: libfdt,
|
default_options: ['tools=false', 'yaml=disabled',
|
||||||
include_directories: fdt_inc)
|
'python=disabled', 'default_library=static'])
|
||||||
|
fdt = libfdt_proj.get_variable('libfdt_dep')
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
fdt_opt = 'disabled'
|
fdt_opt = 'disabled'
|
||||||
endif
|
endif
|
||||||
if not fdt.found() and fdt_required.length() > 0
|
|
||||||
error('fdt not available but required by targets ' + ', '.join(fdt_required))
|
|
||||||
endif
|
|
||||||
|
|
||||||
config_host_data.set('CONFIG_CAPSTONE', capstone.found())
|
config_host_data.set('CONFIG_CAPSTONE', capstone.found())
|
||||||
config_host_data.set('CONFIG_FDT', fdt.found())
|
config_host_data.set('CONFIG_FDT', fdt.found())
|
||||||
|
@ -4043,7 +4028,6 @@ summary(summary_info, bool_yn: true, section: 'Directories')
|
||||||
# Host binaries
|
# Host binaries
|
||||||
summary_info = {}
|
summary_info = {}
|
||||||
summary_info += {'git': config_host['GIT']}
|
summary_info += {'git': config_host['GIT']}
|
||||||
summary_info += {'make': config_host['MAKE']}
|
|
||||||
summary_info += {'python': '@0@ (version: @1@)'.format(python.full_path(), python.language_version())}
|
summary_info += {'python': '@0@ (version: @1@)'.format(python.full_path(), python.language_version())}
|
||||||
summary_info += {'sphinx-build': sphinx_build}
|
summary_info += {'sphinx-build': sphinx_build}
|
||||||
if config_host.has_key('HAVE_GDB_BIN')
|
if config_host.has_key('HAVE_GDB_BIN')
|
||||||
|
|
|
@ -26,7 +26,7 @@ sub_file="${sub_tdir}/submodule.tar"
|
||||||
# independent of what the developer currently has initialized
|
# independent of what the developer currently has initialized
|
||||||
# in their checkout, because the build environment is completely
|
# in their checkout, because the build environment is completely
|
||||||
# different to the host OS.
|
# different to the host OS.
|
||||||
submodules="dtc ui/keycodemapdb"
|
submodules="subprojects/dtc subprojects/keycodemapdb"
|
||||||
submodules="$submodules tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloat-3"
|
submodules="$submodules tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloat-3"
|
||||||
sub_deinit=""
|
sub_deinit=""
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[wrap-git]
|
[wrap-git]
|
||||||
url = https://gitlab.freedesktop.org/slirp/libslirp
|
url = https://gitlab.freedesktop.org/slirp/libslirp
|
||||||
revision = 15c52d697529eb3e78c5d8aa324d61715bce33b6
|
revision = 26be815b86e8d49add8c9a8b320239b9594ff03d
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
slirp = libslirp_dep
|
slirp = libslirp_dep
|
||||||
|
|
|
@ -89,11 +89,9 @@ distclean-tcg: $(DISTCLEAN_TCG_TARGET_RULES)
|
||||||
# Build up our target list from the filtered list of ninja targets
|
# Build up our target list from the filtered list of ninja targets
|
||||||
TARGETS=$(patsubst libqemu-%.fa, %, $(filter libqemu-%.fa, $(ninja-targets)))
|
TARGETS=$(patsubst libqemu-%.fa, %, $(filter libqemu-%.fa, $(ninja-targets)))
|
||||||
|
|
||||||
TESTS_VENV_DIR=$(BUILD_DIR)/pyvenv
|
|
||||||
TESTS_VENV_TOKEN=$(BUILD_DIR)/pyvenv/tests.group
|
TESTS_VENV_TOKEN=$(BUILD_DIR)/pyvenv/tests.group
|
||||||
TESTS_VENV_REQ=$(SRC_PATH)/tests/requirements.txt
|
TESTS_VENV_REQ=$(SRC_PATH)/tests/requirements.txt
|
||||||
TESTS_RESULTS_DIR=$(BUILD_DIR)/tests/results
|
TESTS_RESULTS_DIR=$(BUILD_DIR)/tests/results
|
||||||
TESTS_PYTHON=$(TESTS_VENV_DIR)/bin/python3
|
|
||||||
ifndef AVOCADO_TESTS
|
ifndef AVOCADO_TESTS
|
||||||
AVOCADO_TESTS=tests/avocado
|
AVOCADO_TESTS=tests/avocado
|
||||||
endif
|
endif
|
||||||
|
@ -109,7 +107,7 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
quiet-venv-pip = $(quiet-@)$(call quiet-command-run, \
|
quiet-venv-pip = $(quiet-@)$(call quiet-command-run, \
|
||||||
$(TESTS_PYTHON) -m pip -q --disable-pip-version-check $1, \
|
$(PYTHON) -m pip -q --disable-pip-version-check $1, \
|
||||||
"VENVPIP","$1")
|
"VENVPIP","$1")
|
||||||
|
|
||||||
$(TESTS_VENV_TOKEN): $(TESTS_VENV_REQ)
|
$(TESTS_VENV_TOKEN): $(TESTS_VENV_REQ)
|
||||||
|
@ -131,7 +129,7 @@ FEDORA_31_DOWNLOAD=$(filter $(FEDORA_31_ARCHES),$(FEDORA_31_ARCHES_CANDIDATES))
|
||||||
# download one specific Fedora 31 image
|
# download one specific Fedora 31 image
|
||||||
get-vm-image-fedora-31-%: check-venv
|
get-vm-image-fedora-31-%: check-venv
|
||||||
$(call quiet-command, \
|
$(call quiet-command, \
|
||||||
$(TESTS_PYTHON) -m avocado vmimage get \
|
$(PYTHON) -m avocado vmimage get \
|
||||||
--distro=fedora --distro-version=31 --arch=$*, \
|
--distro=fedora --distro-version=31 --arch=$*, \
|
||||||
"AVOCADO", "Downloading avocado tests VM image for $*")
|
"AVOCADO", "Downloading avocado tests VM image for $*")
|
||||||
|
|
||||||
|
@ -142,7 +140,7 @@ JOBS_OPTION=$(lastword -j1 $(filter-out -j, $(filter -j%,$(MAKEFLAGS))))
|
||||||
|
|
||||||
check-avocado: check-venv $(TESTS_RESULTS_DIR) get-vm-images
|
check-avocado: check-venv $(TESTS_RESULTS_DIR) get-vm-images
|
||||||
$(call quiet-command, \
|
$(call quiet-command, \
|
||||||
$(TESTS_PYTHON) -m avocado \
|
$(PYTHON) -m avocado \
|
||||||
--show=$(AVOCADO_SHOW) run --job-results-dir=$(TESTS_RESULTS_DIR) \
|
--show=$(AVOCADO_SHOW) run --job-results-dir=$(TESTS_RESULTS_DIR) \
|
||||||
$(if $(AVOCADO_TAGS),, \
|
$(if $(AVOCADO_TAGS),, \
|
||||||
--filter-by-tags-include-empty \
|
--filter-by-tags-include-empty \
|
||||||
|
|
|
@ -6,7 +6,7 @@ NULL :=
|
||||||
SPACE := $(NULL) #
|
SPACE := $(NULL) #
|
||||||
COMMA := ,
|
COMMA := ,
|
||||||
|
|
||||||
HOST_ARCH = $(if $(ARCH),$(ARCH),$(shell uname -m))
|
HOST_ARCH = $(shell uname -m)
|
||||||
USER = $(if $(NOUSER),,$(shell id -un))
|
USER = $(if $(NOUSER),,$(shell id -un))
|
||||||
UID = $(if $(NOUSER),,$(shell id -u))
|
UID = $(if $(NOUSER),,$(shell id -u))
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
sysprof = dependency('sysprof-capture-4', required: false)
|
sysprof = dependency('sysprof-capture-4', required: false)
|
||||||
|
glib_static = dependency('glib-2.0', version: glib_req_ver, required: false,
|
||||||
|
method: 'pkg-config', static: true)
|
||||||
|
|
||||||
stress = executable(
|
stress = executable(
|
||||||
'stress',
|
'stress',
|
||||||
files('stress.c'),
|
files('stress.c'),
|
||||||
dependencies: [glib, sysprof],
|
dependencies: [glib_static, sysprof],
|
||||||
link_args: ['-static'],
|
link_args: ['-static'],
|
||||||
build_by_default: false,
|
build_by_default: false,
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
# Makefile for VM tests
|
# Makefile for VM tests
|
||||||
|
|
||||||
# Hack to allow running in an unconfigured build tree
|
# Hack to allow running in an unconfigured build tree
|
||||||
ifeq ($(wildcard $(SRC_PATH)/config-host.mak),)
|
ifeq ($(realpath $(SRC_PATH)),$(realpath .))
|
||||||
VM_PYTHON = PYTHONPATH=$(SRC_PATH)/python /usr/bin/env python3
|
VM_PYTHON = PYTHONPATH=$(SRC_PATH)/python /usr/bin/env python3
|
||||||
VM_VENV =
|
VM_VENV =
|
||||||
HOST_ARCH := $(shell uname -m)
|
|
||||||
else
|
else
|
||||||
VM_PYTHON = $(TESTS_PYTHON)
|
VM_PYTHON = $(PYTHON)
|
||||||
VM_VENV = check-venv
|
VM_VENV = check-venv
|
||||||
HOST_ARCH = $(ARCH)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: vm-build-all vm-clean-all
|
.PHONY: vm-build-all vm-clean-all
|
||||||
|
@ -23,6 +21,7 @@ ARM64_IMAGES += ubuntu.aarch64 centos.aarch64
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
HOST_ARCH = $(shell uname -m)
|
||||||
ifeq ($(HOST_ARCH),x86_64)
|
ifeq ($(HOST_ARCH),x86_64)
|
||||||
IMAGES=$(X86_IMAGES) $(if $(USE_TCG),$(ARM64_IMAGES))
|
IMAGES=$(X86_IMAGES) $(if $(USE_TCG),$(ARM64_IMAGES))
|
||||||
else ifeq ($(HOST_ARCH),aarch64)
|
else ifeq ($(HOST_ARCH),aarch64)
|
||||||
|
|
|
@ -162,15 +162,15 @@ keymaps = [
|
||||||
]
|
]
|
||||||
|
|
||||||
if have_system or xkbcommon.found()
|
if have_system or xkbcommon.found()
|
||||||
|
keycodemapdb_proj = subproject('keycodemapdb', required: true)
|
||||||
foreach e : keymaps
|
foreach e : keymaps
|
||||||
output = 'input-keymap-@0@-to-@1@.c.inc'.format(e[0], e[1])
|
output = 'input-keymap-@0@-to-@1@.c.inc'.format(e[0], e[1])
|
||||||
genh += custom_target(output,
|
genh += custom_target(output,
|
||||||
output: output,
|
output: output,
|
||||||
capture: true,
|
capture: true,
|
||||||
input: files('keycodemapdb/data/keymaps.csv'),
|
input: keycodemapdb_proj.get_variable('keymaps_csv'),
|
||||||
command: [python, files('keycodemapdb/tools/keymap-gen'),
|
command: [python, keycodemapdb_proj.get_variable('keymap_gen').full_path(),
|
||||||
'code-map',
|
'code-map', '--lang', 'glib2',
|
||||||
'--lang', 'glib2',
|
|
||||||
'--varname', 'qemu_input_map_@0@_to_@1@'.format(e[0], e[1]),
|
'--varname', 'qemu_input_map_@0@_to_@1@'.format(e[0], e[1]),
|
||||||
'@INPUT0@', e[0], e[1]])
|
'@INPUT0@', e[0], e[1]])
|
||||||
endforeach
|
endforeach
|
||||||
|
|
Loading…
Reference in New Issue