* [PATCH v1 0/6] testing/next (without-features, gitlab, python)
@ 2020-12-09 17:00 Alex Bennée
2020-12-09 17:00 ` [PATCH v1 1/6] configure: include moxie-softmmu in deprecated_targets_list Alex Bennée
` (5 more replies)
0 siblings, 6 replies; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
To: qemu-devel
Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
f4bug, cota, stefanha, marcandre.lureau, pbonzini, aurelien
Hi,
With another release away time to start the ball rolling with testing
patches again. Not much in the current queue but few little configure
tweaks and a working version of --without-default-features. Currently
combined with --without-default-devices it's not super useful but on
it's own it cuts a fair amount of weight from the build.
Alex Bennée (6):
configure: include moxie-softmmu in deprecated_targets_list
gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build
configure: add --without-default-features
python: add __repr__ to ConsoleSocket to aid debugging
gitlab: move --without-default-devices build from Travis
gitlab: add --without-default-features build
configure | 161 +++++++++++++++++++---------------
.gitlab-ci.d/crossbuilds.yml | 4 +-
.gitlab-ci.yml | 16 +++-
.travis.yml | 8 --
python/qemu/console_socket.py | 7 ++
5 files changed, 113 insertions(+), 83 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v1 1/6] configure: include moxie-softmmu in deprecated_targets_list
2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
2020-12-09 17:00 ` [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build Alex Bennée
` (4 subsequent siblings)
5 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
To: qemu-devel
Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
richard.henderson, f4bug, Wainer dos Santos Moschetta,
Philippe Mathieu-Daudé,
cota, stefanha, marcandre.lureau, pbonzini, aurelien
We still build it but there is no point including it in the normal
builds as it is ushered out of the door.
Fixes: 4258c8e221 ("docs/system/deprecated: Mark the 'moxie' CPU as deprecated")
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
configure | 2 +-
.gitlab-ci.yml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 18c26e0389..8f2095a2db 100755
--- a/configure
+++ b/configure
@@ -1610,7 +1610,7 @@ if [ "$ARCH" = "unknown" ]; then
fi
default_target_list=""
-deprecated_targets_list=ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu
+deprecated_targets_list=moxie-softmmu,ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu
deprecated_features=""
mak_wilds=""
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d0173e82b1..21b01c0547 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -291,7 +291,7 @@ build-deprecated:
IMAGE: debian-all-test-cross
CONFIGURE_ARGS: --disable-docs --disable-tools
MAKE_CHECK_ARGS: build-tcg
- TARGETS: ppc64abi32-linux-user tilegx-linux-user lm32-softmmu
+ TARGETS: moxie-softmmu ppc64abi32-linux-user tilegx-linux-user lm32-softmmu
unicore32-softmmu
artifacts:
expire_in: 2 days
--
2.20.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build
2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
2020-12-09 17:00 ` [PATCH v1 1/6] configure: include moxie-softmmu in deprecated_targets_list Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
2020-12-09 17:08 ` Thomas Huth
2020-12-09 17:00 ` [PATCH v1 3/6] configure: add --without-default-features Alex Bennée
` (3 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
To: qemu-devel
Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
richard.henderson, f4bug, Wainer dos Santos Moschetta,
Philippe Mathieu-Daudé,
cota, stefanha, marcandre.lureau, pbonzini, aurelien
Otherwise we miss coverage of KVM support in the cross build. To
balance it out add cris-softmmu and ppc-softmmu to the exclude list
which do get coverage elsewhere.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
.gitlab-ci.d/crossbuilds.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 03ebfabb3f..308f4cb755 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -8,8 +8,8 @@
- cd build
- PKG_CONFIG_PATH=$PKG_CONFIG_PATH
../configure --enable-werror $QEMU_CONFIGURE_OPTS --disable-user
- --target-list-exclude="aarch64-softmmu i386-softmmu microblaze-softmmu
- mips-softmmu mipsel-softmmu mips64-softmmu ppc64-softmmu sh4-softmmu
+ --target-list-exclude="cris-softmmu i386-softmmu microblaze-softmmu
+ mips-softmmu mipsel-softmmu mips64-softmmu ppc-softmmu sh4-softmmu
xtensa-softmmu"
- make -j$(expr $(nproc) + 1) all check-build
--
2.20.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v1 3/6] configure: add --without-default-features
2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
2020-12-09 17:00 ` [PATCH v1 1/6] configure: include moxie-softmmu in deprecated_targets_list Alex Bennée
2020-12-09 17:00 ` [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
2020-12-10 0:08 ` Paolo Bonzini
2020-12-09 17:00 ` [PATCH v1 4/6] python: add __repr__ to ConsoleSocket to aid debugging Alex Bennée
` (2 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
To: qemu-devel
Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
f4bug, cota, stefanha, marcandre.lureau, pbonzini, aurelien
By default QEMU enables a lot of features if it can probe and find the
support libraries. It also enables a bunch of features by default.
This patch adds the ability to build --without-default-features which
can be paired with a --without-default-devices for a barely functional
build.
The main use case for this is testing our build assumptions and for
minimising the amount of stuff you build if you just want to test a
particular feature on your relatively slow emulated test system.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
configure | 159 ++++++++++++++++++++++++++++++------------------------
1 file changed, 88 insertions(+), 71 deletions(-)
diff --git a/configure b/configure
index 8f2095a2db..a08e6c96e0 100755
--- a/configure
+++ b/configure
@@ -291,10 +291,24 @@ unset target_list_exclude
#
# Always add --enable-foo and --disable-foo command line args.
# Distributions want to ensure that several features are compiled in, and it
-# is impossible without a --enable-foo that exits if a feature is not found.
+# is impossible without a --enable-foo that exits if a feature is not
+# found.
-brlapi=""
-curl=""
+default_feature=""
+default_yes_feature="yes"
+# parse CC options second
+for opt do
+ optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
+ case "$opt" in
+ --without-default-features)
+ default_feature="no"
+ default_yes_feature="no"
+ ;;
+ esac
+done
+
+brlapi="$default_feature"
+curl="$default_feature"
iconv="auto"
curses="auto"
docs="auto"
@@ -303,52 +317,52 @@ netmap="no"
sdl="auto"
sdl_image="auto"
virtiofsd="auto"
-virtfs=""
+virtfs="$default_feature"
libudev="auto"
mpath="auto"
vnc="enabled"
sparse="auto"
-vde=""
+vde="$default_feature"
vnc_sasl="auto"
vnc_jpeg="auto"
vnc_png="auto"
xkbcommon="auto"
-xen=""
-xen_ctrl_version=""
+xen="$default_feature"
+xen_ctrl_version="$default_feature"
xen_pci_passthrough="auto"
-linux_aio=""
-linux_io_uring=""
-cap_ng=""
-attr=""
-libattr=""
-xfs=""
+linux_aio="$default_feature"
+linux_io_uring="$default_feature"
+cap_ng="$default_feature"
+attr="$default_feature"
+libattr="$default_feature"
+xfs="$default_feature"
tcg="enabled"
-membarrier=""
-vhost_net=""
-vhost_crypto=""
-vhost_scsi=""
-vhost_vsock=""
+membarrier="$default_feature"
+vhost_net="$default_feature"
+vhost_crypto="$default_feature"
+vhost_scsi="$default_feature"
+vhost_vsock="$default_feature"
vhost_user="no"
vhost_user_blk_server="auto"
-vhost_user_fs=""
+vhost_user_fs="$default_feature"
kvm="auto"
hax="auto"
hvf="auto"
whpx="auto"
-rdma=""
-pvrdma=""
+rdma="$default_feature"
+pvrdma="$default_feature"
gprof="no"
debug_tcg="no"
debug="no"
sanitizers="no"
tsan="no"
-fortify_source=""
+fortify_source="$default_feature"
strip_opt="yes"
tcg_interpreter="no"
bigendian="no"
mingw32="no"
gcov="no"
-EXESUF=""
+EXESUF="$default_feature"
HOST_DSOSUF=".so"
modules="no"
module_upgrades="no"
@@ -370,81 +384,81 @@ pie=""
qom_cast_debug="yes"
trace_backends="log"
trace_file="trace"
-spice=""
-rbd=""
-smartcard=""
+spice="$default_feature"
+rbd="$default_feature"
+smartcard="$default_feature"
u2f="auto"
-libusb=""
-usb_redir=""
-opengl=""
+libusb="$default_feature"
+usb_redir="$default_feature"
+opengl="$default_feature"
opengl_dmabuf="no"
cpuid_h="no"
-avx2_opt=""
+avx2_opt="$default_feature"
capstone="auto"
-lzo=""
-snappy=""
-bzip2=""
-lzfse=""
-zstd=""
-guest_agent=""
+lzo="$default_feature"
+snappy="$default_feature"
+bzip2="$default_feature"
+lzfse="$default_feature"
+zstd="$default_feature"
+guest_agent="$default_feature"
guest_agent_with_vss="no"
guest_agent_ntddscsi="no"
-guest_agent_msi=""
-vss_win32_sdk=""
+guest_agent_msi="$default_feature"
+vss_win32_sdk="$default_feature"
win_sdk="no"
-want_tools=""
-libiscsi=""
-libnfs=""
+want_tools="$default_feature"
+libiscsi="$default_feature"
+libnfs="$default_feature"
coroutine=""
-coroutine_pool=""
+coroutine_pool="$default_feature"
debug_stack_usage="no"
crypto_afalg="no"
-seccomp=""
-glusterfs=""
+seccomp="$default_feature"
+glusterfs="$default_feature"
glusterfs_xlator_opt="no"
glusterfs_discard="no"
glusterfs_fallocate="no"
glusterfs_zerofill="no"
glusterfs_ftruncate_has_stat="no"
glusterfs_iocb_has_stat="no"
-gtk=""
+gtk="$default_feature"
gtk_gl="no"
tls_priority="NORMAL"
-gnutls=""
-nettle=""
+gnutls="$default_feature"
+nettle="$default_feature"
nettle_xts="no"
-gcrypt=""
+gcrypt="$default_feature"
gcrypt_hmac="no"
gcrypt_xts="no"
qemu_private_xts="yes"
-auth_pam=""
-vte=""
-virglrenderer=""
-tpm=""
-libssh=""
-live_block_migration="yes"
-numa=""
+auth_pam="$default_feature"
+vte="$default_feature"
+virglrenderer="$default_feature"
+tpm="$default_feature"
+libssh="$default_feature"
+live_block_migration="$default_yes_feature"
+numa="$default_feature"
tcmalloc="no"
jemalloc="no"
-replication="yes"
-bochs="yes"
-cloop="yes"
-dmg="yes"
-qcow1="yes"
-vdi="yes"
-vvfat="yes"
-qed="yes"
-parallels="yes"
+replication="$default_yes_feature"
+bochs="$default_yes_feature"
+cloop="$default_yes_feature"
+dmg="$default_yes_feature"
+qcow1="$default_yes_feature"
+vdi="$default_yes_feature"
+vvfat="$default_yes_feature"
+qed="$default_yes_feature"
+parallels="$default_yes_feature"
sheepdog="no"
-libxml2=""
+libxml2="$default_feature"
debug_mutex="no"
-libpmem=""
+libpmem="$default_feature"
default_devices="yes"
plugins="no"
fuzzing="no"
rng_none="no"
-secret_keyring=""
-libdaxctl=""
+secret_keyring="$default_feature"
+libdaxctl="$default_feature"
meson=""
ninja=""
skip_meson=no
@@ -453,7 +467,7 @@ gettext=""
bogus_os="no"
malloc_trim="auto"
-# parse CC options first
+# parse CC options second
for opt do
optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
case "$opt" in
@@ -796,7 +810,7 @@ Linux)
audio_possible_drivers="oss alsa sdl pa"
linux="yes"
linux_user="yes"
- vhost_user="yes"
+ vhost_user="$default_yes_feature"
;;
esac
@@ -940,6 +954,8 @@ for opt do
;;
--without-default-devices) default_devices="no"
;;
+ --without-default-features) # processed above
+ ;;
--enable-gprof) gprof="yes"
;;
--enable-gcov) gcov="yes"
@@ -1737,7 +1753,8 @@ Advanced options (experts only):
--gdb=GDB-path gdb to use for gdbstub tests [$gdb_bin]
Optional features, enabled with --enable-FEATURE and
-disabled with --disable-FEATURE, default is enabled if available:
+disabled with --disable-FEATURE, default is enabled if available
+(unless built with --without-default-features):
system all system emulation targets
user supported user emulation targets
--
2.20.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v1 4/6] python: add __repr__ to ConsoleSocket to aid debugging
2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
` (2 preceding siblings ...)
2020-12-09 17:00 ` [PATCH v1 3/6] configure: add --without-default-features Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
2020-12-09 17:00 ` [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis Alex Bennée
2020-12-09 17:00 ` [PATCH v1 6/6] gitlab: add --without-default-features build Alex Bennée
5 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
To: qemu-devel
Cc: fam, Willian Rampazzo, berrange, Eduardo Habkost, stefanb,
Alex Bennée, Cleber Rosa, richard.henderson, f4bug,
John Snow, cota, stefanha, marcandre.lureau, pbonzini, aurelien
While attempting to debug some console weirdness I thought it would be
worth making it easier to see what it had inside.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
---
v2
- make more pythonic
---
python/qemu/console_socket.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/python/qemu/console_socket.py b/python/qemu/console_socket.py
index f060d79e06..ac21130e44 100644
--- a/python/qemu/console_socket.py
+++ b/python/qemu/console_socket.py
@@ -45,6 +45,13 @@ class ConsoleSocket(socket.socket):
if drain:
self._drain_thread = self._thread_start()
+ def __repr__(self) -> str:
+ s = super().__repr__()
+ s = s.rstrip(">")
+ s = "%s, logfile=%s, drain_thread=%s>" % (s, self._logfile,
+ self._drain_thread)
+ return s
+
def _drain_fn(self) -> None:
"""Drains the socket and runs while the socket is open."""
while self._open:
--
2.20.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis
2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
` (3 preceding siblings ...)
2020-12-09 17:00 ` [PATCH v1 4/6] python: add __repr__ to ConsoleSocket to aid debugging Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
2020-12-09 17:10 ` Thomas Huth
2020-12-09 17:00 ` [PATCH v1 6/6] gitlab: add --without-default-features build Alex Bennée
5 siblings, 1 reply; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
To: qemu-devel
Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
richard.henderson, f4bug, Wainer dos Santos Moschetta,
Philippe Mathieu-Daudé,
cota, stefanha, marcandre.lureau, pbonzini, aurelien
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
.gitlab-ci.yml | 7 +++++++
.travis.yml | 8 --------
2 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 21b01c0547..878d114d40 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -434,6 +434,13 @@ build-trace-ust-system:
IMAGE: ubuntu2004
CONFIGURE_ARGS: --enable-trace-backends=ust --target-list=x86_64-softmmu
+# Check our reduced build configurations
+build-without-default-devices:
+ <<: *native_build_job_definition
+ variables:
+ IMAGE: debian-amd64
+ CONFIGURE_ARGS: --without-default-devices --disable-user
+
check-patch:
stage: build
image: $CI_REGISTRY_IMAGE/qemu/centos8:latest
diff --git a/.travis.yml b/.travis.yml
index 1f80bdb624..e89996c111 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -224,14 +224,6 @@ jobs:
- ${SRC_DIR}/scripts/travis/coverage-summary.sh
- # We manually include builds which we disable "make check" for
- - name: "GCC without-default-devices (softmmu)"
- env:
- - CONFIG="--without-default-devices --disable-user"
- - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
- - TEST_CMD=""
-
-
# Using newer GCC with sanitizers
- name: "GCC9 with sanitizers (softmmu)"
dist: bionic
--
2.20.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v1 6/6] gitlab: add --without-default-features build
2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
` (4 preceding siblings ...)
2020-12-09 17:00 ` [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
2020-12-09 17:13 ` Thomas Huth
5 siblings, 1 reply; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
To: qemu-devel
Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
richard.henderson, f4bug, Wainer dos Santos Moschetta,
Philippe Mathieu-Daudé,
cota, stefanha, marcandre.lureau, pbonzini, aurelien
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
.gitlab-ci.yml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 878d114d40..f87584ca8f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -441,6 +441,13 @@ build-without-default-devices:
IMAGE: debian-amd64
CONFIGURE_ARGS: --without-default-devices --disable-user
+build-without-default-features:
+ <<: *native_build_job_definition
+ variables:
+ IMAGE: centos8
+ CONFIGURE_ARGS: --without-default-devices --without-default-features --disable-user
+ MAKE_CHECK_ARGS: check-unit
+
check-patch:
stage: build
image: $CI_REGISTRY_IMAGE/qemu/centos8:latest
--
2.20.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build
2020-12-09 17:00 ` [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build Alex Bennée
@ 2020-12-09 17:08 ` Thomas Huth
2020-12-09 18:19 ` Richard Henderson
0 siblings, 1 reply; 14+ messages in thread
From: Thomas Huth @ 2020-12-09 17:08 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
richard.henderson, f4bug, Wainer dos Santos Moschetta, cota,
stefanha, marcandre.lureau, pbonzini, aurelien
On 09/12/2020 18.00, Alex Bennée wrote:
> Otherwise we miss coverage of KVM support in the cross build. To
> balance it out add cris-softmmu and ppc-softmmu to the exclude list
> which do get coverage elsewhere.
Could you maybe add arm-softmmu to the exclude list? It's a subset of
aarch64-softmmu, so we should not lose much if we exclude it here.
Thomas
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis
2020-12-09 17:00 ` [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis Alex Bennée
@ 2020-12-09 17:10 ` Thomas Huth
0 siblings, 0 replies; 14+ messages in thread
From: Thomas Huth @ 2020-12-09 17:10 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
richard.henderson, f4bug, Wainer dos Santos Moschetta, cota,
stefanha, marcandre.lureau, pbonzini, aurelien
On 09/12/2020 18.00, Alex Bennée wrote:
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> .gitlab-ci.yml | 7 +++++++
> .travis.yml | 8 --------
> 2 files changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 21b01c0547..878d114d40 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -434,6 +434,13 @@ build-trace-ust-system:
> IMAGE: ubuntu2004
> CONFIGURE_ARGS: --enable-trace-backends=ust --target-list=x86_64-softmmu
>
> +# Check our reduced build configurations
> +build-without-default-devices:
> + <<: *native_build_job_definition
> + variables:
> + IMAGE: debian-amd64
> + CONFIGURE_ARGS: --without-default-devices --disable-user
We're interested in --without-default-devices in downstream RHEL ... would
it be ok for you to test this with Fedora or CentOS instead?
Thomas
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 6/6] gitlab: add --without-default-features build
2020-12-09 17:00 ` [PATCH v1 6/6] gitlab: add --without-default-features build Alex Bennée
@ 2020-12-09 17:13 ` Thomas Huth
2020-12-09 18:32 ` Alex Bennée
0 siblings, 1 reply; 14+ messages in thread
From: Thomas Huth @ 2020-12-09 17:13 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
richard.henderson, f4bug, Wainer dos Santos Moschetta, cota,
stefanha, marcandre.lureau, pbonzini, aurelien
On 09/12/2020 18.00, Alex Bennée wrote:
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> .gitlab-ci.yml | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 878d114d40..f87584ca8f 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -441,6 +441,13 @@ build-without-default-devices:
> IMAGE: debian-amd64
> CONFIGURE_ARGS: --without-default-devices --disable-user
>
> +build-without-default-features:
> + <<: *native_build_job_definition
> + variables:
> + IMAGE: centos8
> + CONFIGURE_ARGS: --without-default-devices --without-default-features --disable-user
> + MAKE_CHECK_ARGS: check-unit
I wonder whether we'd rather want to check without
"--without-default-devices" here to see whether all code compiles fine with
"--without-default-features" ... ?
Thomas
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build
2020-12-09 17:08 ` Thomas Huth
@ 2020-12-09 18:19 ` Richard Henderson
0 siblings, 0 replies; 14+ messages in thread
From: Richard Henderson @ 2020-12-09 18:19 UTC (permalink / raw)
To: Thomas Huth, Alex Bennée, qemu-devel
Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
f4bug, Wainer dos Santos Moschetta, cota, stefanha,
marcandre.lureau, pbonzini, aurelien
On 12/9/20 11:08 AM, Thomas Huth wrote:
> On 09/12/2020 18.00, Alex Bennée wrote:
>> Otherwise we miss coverage of KVM support in the cross build. To
>> balance it out add cris-softmmu and ppc-softmmu to the exclude list
>> which do get coverage elsewhere.
>
> Could you maybe add arm-softmmu to the exclude list? It's a subset of
> aarch64-softmmu, so we should not lose much if we exclude it here.
Indeed, arm32 kvm has already been dropped, so arm-softmmu is a strict subset
of aarch64-softmmu.
r~
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 6/6] gitlab: add --without-default-features build
2020-12-09 17:13 ` Thomas Huth
@ 2020-12-09 18:32 ` Alex Bennée
2020-12-10 5:51 ` Thomas Huth
0 siblings, 1 reply; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 18:32 UTC (permalink / raw)
To: Thomas Huth
Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
richard.henderson, qemu-devel, Wainer dos Santos Moschetta,
f4bug, cota, stefanha, marcandre.lureau, pbonzini, aurelien
Thomas Huth <thuth@redhat.com> writes:
> On 09/12/2020 18.00, Alex Bennée wrote:
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>> .gitlab-ci.yml | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>> index 878d114d40..f87584ca8f 100644
>> --- a/.gitlab-ci.yml
>> +++ b/.gitlab-ci.yml
>> @@ -441,6 +441,13 @@ build-without-default-devices:
>> IMAGE: debian-amd64
>> CONFIGURE_ARGS: --without-default-devices --disable-user
>>
>> +build-without-default-features:
>> + <<: *native_build_job_definition
>> + variables:
>> + IMAGE: centos8
>> + CONFIGURE_ARGS: --without-default-devices --without-default-features --disable-user
>> + MAKE_CHECK_ARGS: check-unit
>
> I wonder whether we'd rather want to check without
> "--without-default-devices" here to see whether all code compiles fine with
> "--without-default-features" ... ?
Yeah at the moment the full-fat without everything doesn't achieve much.
So how about I swap the IMAGE around with the previous build and drop
the --without-default-devices?
>
> Thomas
--
Alex Bennée
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 3/6] configure: add --without-default-features
2020-12-09 17:00 ` [PATCH v1 3/6] configure: add --without-default-features Alex Bennée
@ 2020-12-10 0:08 ` Paolo Bonzini
0 siblings, 0 replies; 14+ messages in thread
From: Paolo Bonzini @ 2020-12-10 0:08 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: fam, berrange, stefanb, richard.henderson, f4bug, cota, stefanha,
marcandre.lureau, aurelien
On 09/12/20 18:00, Alex Bennée wrote:
> By default QEMU enables a lot of features if it can probe and find the
> support libraries. It also enables a bunch of features by default.
> This patch adds the ability to build --without-default-features which
> can be paired with a --without-default-devices for a barely functional
> build.
>
> The main use case for this is testing our build assumptions and for
> minimising the amount of stuff you build if you just want to test a
> particular feature on your relatively slow emulated test system.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> configure | 159 ++++++++++++++++++++++++++++++------------------------
> 1 file changed, 88 insertions(+), 71 deletions(-)
>
> diff --git a/configure b/configure
> index 8f2095a2db..a08e6c96e0 100755
> --- a/configure
> +++ b/configure
> @@ -291,10 +291,24 @@ unset target_list_exclude
> #
> # Always add --enable-foo and --disable-foo command line args.
> # Distributions want to ensure that several features are compiled in, and it
> -# is impossible without a --enable-foo that exits if a feature is not found.
> +# is impossible without a --enable-foo that exits if a feature is not
> +# found.
>
> -brlapi=""
> -curl=""
> +default_feature=""
> +default_yes_feature="yes"
> +# parse CC options second
> +for opt do
> + optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
> + case "$opt" in
> + --without-default-features)
> + default_feature="no"
> + default_yes_feature="no"
default_yes_features can be replaced with ${default_feature:-yes} if you
wish.
> + ;;
> + esac
> +done
Since Meson has equivalent functionality to --without-default-features,
you also want to add -Dauto_features=disabled to the meson command line.
Also, the gettext feature is true/false/empty rather than yes/no, so
it's not being adjusted. I suggest you change it (in meson_options.txt)
from "boolean" to "feature" (auto/enabled/disabled) and move the
detection code from configure to po/meson.build. It should be as simple as
-if get_option('gettext')
+if find_program('xgettext', required: get_option('gettext')).found()
and then it will also get the functionality from -Dauto_features.
Paolo
> @@ -453,7 +467,7 @@ gettext=""
> bogus_os="no"
> malloc_trim="auto"
>
> -# parse CC options first
> +# parse CC options second
> for opt do
> optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
> case "$opt" in
> @@ -796,7 +810,7 @@ Linux)
> audio_possible_drivers="oss alsa sdl pa"
> linux="yes"
> linux_user="yes"
> - vhost_user="yes"
> + vhost_user="$default_yes_feature"
> ;;
> esac
>
> @@ -940,6 +954,8 @@ for opt do
> ;;
> --without-default-devices) default_devices="no"
> ;;
> + --without-default-features) # processed above
> + ;;
> --enable-gprof) gprof="yes"
> ;;
> --enable-gcov) gcov="yes"
> @@ -1737,7 +1753,8 @@ Advanced options (experts only):
> --gdb=GDB-path gdb to use for gdbstub tests [$gdb_bin]
>
> Optional features, enabled with --enable-FEATURE and
> -disabled with --disable-FEATURE, default is enabled if available:
> +disabled with --disable-FEATURE, default is enabled if available
> +(unless built with --without-default-features):
>
> system all system emulation targets
> user supported user emulation targets
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 6/6] gitlab: add --without-default-features build
2020-12-09 18:32 ` Alex Bennée
@ 2020-12-10 5:51 ` Thomas Huth
0 siblings, 0 replies; 14+ messages in thread
From: Thomas Huth @ 2020-12-10 5:51 UTC (permalink / raw)
To: Alex Bennée
Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
richard.henderson, qemu-devel, Wainer dos Santos Moschetta,
f4bug, cota, stefanha, marcandre.lureau, pbonzini, aurelien
On 09/12/2020 19.32, Alex Bennée wrote:
>
> Thomas Huth <thuth@redhat.com> writes:
>
>> On 09/12/2020 18.00, Alex Bennée wrote:
>>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>> ---
>>> .gitlab-ci.yml | 7 +++++++
>>> 1 file changed, 7 insertions(+)
>>>
>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>> index 878d114d40..f87584ca8f 100644
>>> --- a/.gitlab-ci.yml
>>> +++ b/.gitlab-ci.yml
>>> @@ -441,6 +441,13 @@ build-without-default-devices:
>>> IMAGE: debian-amd64
>>> CONFIGURE_ARGS: --without-default-devices --disable-user
>>>
>>> +build-without-default-features:
>>> + <<: *native_build_job_definition
>>> + variables:
>>> + IMAGE: centos8
>>> + CONFIGURE_ARGS: --without-default-devices --without-default-features --disable-user
>>> + MAKE_CHECK_ARGS: check-unit
>>
>> I wonder whether we'd rather want to check without
>> "--without-default-devices" here to see whether all code compiles fine with
>> "--without-default-features" ... ?
>
> Yeah at the moment the full-fat without everything doesn't achieve much.
> So how about I swap the IMAGE around with the previous build and drop
> the --without-default-devices?
Sounds like a plan, thanks!
Thomas
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2020-12-10 5:53 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
2020-12-09 17:00 ` [PATCH v1 1/6] configure: include moxie-softmmu in deprecated_targets_list Alex Bennée
2020-12-09 17:00 ` [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build Alex Bennée
2020-12-09 17:08 ` Thomas Huth
2020-12-09 18:19 ` Richard Henderson
2020-12-09 17:00 ` [PATCH v1 3/6] configure: add --without-default-features Alex Bennée
2020-12-10 0:08 ` Paolo Bonzini
2020-12-09 17:00 ` [PATCH v1 4/6] python: add __repr__ to ConsoleSocket to aid debugging Alex Bennée
2020-12-09 17:00 ` [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis Alex Bennée
2020-12-09 17:10 ` Thomas Huth
2020-12-09 17:00 ` [PATCH v1 6/6] gitlab: add --without-default-features build Alex Bennée
2020-12-09 17:13 ` Thomas Huth
2020-12-09 18:32 ` Alex Bennée
2020-12-10 5:51 ` Thomas Huth
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.