qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: fam@euphon.net, berrange@redhat.com, f4bug@amsat.org,
	stefanha@redhat.com, crosa@redhat.com, pbonzini@redhat.com,
	"Alex Bennée" <alex.bennee@linaro.org>,
	aurelien@aurel32.net
Subject: [PATCH v1 15/25] tests/tcg: prepare Makefile.prereqs at configure time
Date: Tue, 19 Apr 2022 10:10:10 +0100	[thread overview]
Message-ID: <20220419091020.3008144-16-alex.bennee@linaro.org> (raw)
In-Reply-To: <20220419091020.3008144-1-alex.bennee@linaro.org>

From: Paolo Bonzini <pbonzini@redhat.com>

List the dependencies of the build-tcg-tests-* and run-tcg-tests-*
targets in a Makefile fragment, without going through Makefile.prereqs's
"parsing" of config-*.mak.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220401141326.1244422-13-pbonzini@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/Makefile.include     |  9 ++++++---
 tests/tcg/Makefile.prereqs | 18 ------------------
 tests/tcg/configure.sh     | 10 ++++++++--
 3 files changed, 14 insertions(+), 23 deletions(-)
 delete mode 100644 tests/tcg/Makefile.prereqs

diff --git a/tests/Makefile.include b/tests/Makefile.include
index 05c534ea56..b5d0d6bc98 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -39,14 +39,17 @@ SPEED = quick
 # Build up our target list from the filtered list of ninja targets
 TARGETS=$(patsubst libqemu-%.fa, %, $(filter libqemu-%.fa, $(ninja-targets)))
 
+-include tests/tcg/Makefile.prereqs
+config-host.mak: $(SRC_PATH)/tests/tcg/configure.sh
+tests/tcg/Makefile.prereqs: config-host.mak
+
 # Per guest TCG tests
 BUILD_TCG_TARGET_RULES=$(patsubst %,build-tcg-tests-%, $(TARGETS))
 CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(TARGETS))
 RUN_TCG_TARGET_RULES=$(patsubst %,run-tcg-tests-%, $(TARGETS))
 
-# Probe for the Docker Builds needed for each build
-$(foreach PROBE_TARGET,$(TARGET_DIRS), 				\
-	$(eval -include $(SRC_PATH)/tests/tcg/Makefile.prereqs))
+$(foreach TARGET,$(TARGETS), \
+        $(eval $(BUILD_DIR)/tests/tcg/config-$(TARGET).mak: config-host.mak))
 
 $(BUILD_TCG_TARGET_RULES): build-tcg-tests-%: $(if $(CONFIG_PLUGIN),test-plugins)
 	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) \
diff --git a/tests/tcg/Makefile.prereqs b/tests/tcg/Makefile.prereqs
deleted file mode 100644
index 9a29604a83..0000000000
--- a/tests/tcg/Makefile.prereqs
+++ /dev/null
@@ -1,18 +0,0 @@
-# -*- Mode: makefile -*-
-#
-# TCG Compiler Probe
-#
-# This Makefile fragment is included multiple times in the main make
-# script to probe for available compilers. This is used to build up a
-# selection of required docker targets before we invoke a sub-make for
-# each target.
-
-DOCKER_IMAGE:=
-
--include $(BUILD_DIR)/tests/tcg/config-$(PROBE_TARGET).mak
-
-ifneq ($(DOCKER_IMAGE),)
-build-tcg-tests-$(PROBE_TARGET): docker-image-$(DOCKER_IMAGE)
-endif
-$(BUILD_DIR)/tests/tcg/config_$(PROBE_TARGET).mak: config-host.mak
-config-host.mak: $(SRC_PATH)/tests/tcg/configure.sh
diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
index 0d864c24fc..904c351029 100755
--- a/tests/tcg/configure.sh
+++ b/tests/tcg/configure.sh
@@ -80,6 +80,8 @@ fi
 : ${cross_as_tricore="tricore-as"}
 : ${cross_ld_tricore="tricore-ld"}
 
+makefile=tests/tcg/Makefile.prereqs
+: > $makefile
 for target in $target_list; do
   arch=${target%%-*}
 
@@ -226,14 +228,17 @@ for target in $target_list; do
   echo "target=$target" >> $config_target_mak
   case $target in
     *-softmmu)
-      echo "QEMU=$PWD/qemu-system-$arch" >> $config_target_mak
+      qemu="qemu-system-$arch"
       ;;
     *-linux-user|*-bsd-user)
-      echo "QEMU=$PWD/qemu-$arch" >> $config_target_mak
+      qemu="qemu-$arch"
       ;;
   esac
 
+  echo "run-tcg-tests-$target: $qemu\$(EXESUF)" >> $makefile
+
   eval "target_compiler_cflags=\${cross_cc_cflags_$arch}"
+  echo "QEMU=$PWD/$qemu" >> $config_target_mak
   echo "CROSS_CC_GUEST_CFLAGS=$target_compiler_cflags" >> $config_target_mak
 
   got_cross_cc=no
@@ -329,6 +334,7 @@ for target in $target_list; do
           test -n "$container_image"; then
       for host in $container_hosts; do
           if test "$host" = "$cpu"; then
+              echo "build-tcg-tests-$target: docker-image-$container_image" >> $makefile
               echo "DOCKER_IMAGE=$container_image" >> $config_target_mak
               echo "DOCKER_CROSS_CC_GUEST=$container_cross_cc" >> \
                    $config_target_mak
-- 
2.30.2



  parent reply	other threads:[~2022-04-19 10:04 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-19  9:09 [PATCH v1 for 7.1 00/25] testing, docs and gdbstub pre-PR Alex Bennée
2022-04-19  9:09 ` [PATCH v1 01/25] tests/avocado: update aarch64_virt test to exercise -cpu max Alex Bennée
2022-04-19  9:09 ` [PATCH v1 02/25] docs/devel: add some notes on the binfmt-image-debian targets Alex Bennée
2022-04-19 18:30   ` Richard Henderson
2022-04-19  9:09 ` [PATCH v1 03/25] docs/devel: drop :hidden: and :includehidden: tags Alex Bennée
2022-04-19 18:33   ` Richard Henderson
2022-04-19  9:09 ` [PATCH v1 04/25] tests/docker: remove dead code for linux-user containers Alex Bennée
2022-04-19 18:34   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 05/25] tests/docker: remove test targets Alex Bennée
2022-04-19 18:35   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 06/25] tests/docker: remove dead variable Alex Bennée
2022-04-19 18:36   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 07/25] tests/docker: remove unnecessary default definitions Alex Bennée
2022-04-19 18:37   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 08/25] tests/docker: inline variable definitions or move close to use Alex Bennée
2022-04-19 18:42   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 09/25] tests/docker: remove unnecessary filtering of $(DOCKER_IMAGES) Alex Bennée
2022-04-19 18:44   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 10/25] tests/docker: simplify docker-TEST@IMAGE targets Alex Bennée
2022-04-19 18:46   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 11/25] tests/docker: do not duplicate rules for hexagon-cross Alex Bennée
2022-04-19 18:47   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 12/25] tests/tcg: add compiler test variables when using containers Alex Bennée
2022-04-19 18:48   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 13/25] tests/tcg: remove CONFIG_LINUX_USER from config-target.mak Alex Bennée
2022-04-19 18:49   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 14/25] tests/tcg: remove CONFIG_USER_ONLY " Alex Bennée
2022-04-19 18:53   ` Richard Henderson
2022-04-19  9:10 ` Alex Bennée [this message]
2022-04-19 18:57   ` [PATCH v1 15/25] tests/tcg: prepare Makefile.prereqs at configure time Richard Henderson
2022-04-19  9:10 ` [PATCH v1 16/25] tests/tcg: list test targets in Makefile.prereqs Alex Bennée
2022-04-19 18:58   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 17/25] tests/tcg: invoke Makefile.target directly from QEMU's makefile Alex Bennée
2022-04-19 19:04   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 18/25] tests/tcg: isolate from QEMU's config-host.mak Alex Bennée
2022-04-19 19:05   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 19/25] tests/docker: remove SKIP_DOCKER_BUILD Alex Bennée
2022-04-19 19:06   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 20/25] tests/tcg: fix non-static build Alex Bennée
2022-04-19 19:10   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 21/25] tests/tcg: remove duplicate sha512-sse case Alex Bennée
2022-04-19 19:11   ` Richard Henderson
2022-04-19  9:10 ` [PATCH v1 22/25] tests/tcg: add float_convd test Alex Bennée
2022-04-19 19:14   ` Richard Henderson
2022-04-20 14:55     ` Alex Bennée
2022-04-19  9:10 ` [PATCH v1 23/25] tests/tcg: add missing reference files for float_convs Alex Bennée
2022-04-19 19:17   ` Richard Henderson
2022-04-20 14:59     ` Alex Bennée
2022-04-19  9:10 ` [PATCH v1 24/25] target/i386: fix byte swap issue with XMM register access Alex Bennée
2022-04-19  9:10 ` [PATCH v1 25/25] tests/guest-debug: better handle gdb crashes Alex Bennée
2022-04-19 19:19   ` Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220419091020.3008144-16-alex.bennee@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=aurelien@aurel32.net \
    --cc=berrange@redhat.com \
    --cc=crosa@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=fam@euphon.net \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).