From: Richard Henderson <richard.henderson@linaro.org>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [PULL 07/16] configure, meson: move ARCH to meson.build
Date: Mon, 20 Dec 2021 18:46:16 -0800 [thread overview]
Message-ID: <29e8d139-58e8-6aa3-c9a8-0d13c9c88eaf@linaro.org> (raw)
In-Reply-To: <20211219141711.248066-8-pbonzini@redhat.com>
On 12/19/21 6:17 AM, Paolo Bonzini wrote:
> $ARCH and the HOST_* symbols are only used by the QEMU build; configure
> uses $cpu instead. Remove it from config-host.mak.
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> configure | 21 ++++-----------------
> meson.build | 26 +++++++++++++++++---------
> 2 files changed, 21 insertions(+), 26 deletions(-)
This broke the cross-compiler infrastructure for tests, because tests/tcg/configure.sh
uses $ARCH, which is no longer defined.
r~
>
> diff --git a/configure b/configure
> index 108b7621e2..6e06ac6161 100755
> --- a/configure
> +++ b/configure
> @@ -635,11 +635,9 @@ else
> cpu=$(uname -m)
> fi
>
> -ARCH=
> -# Normalise host CPU name, set ARCH and multilib cflags
> +# Normalise host CPU name, set multilib cflags
> # Note that this case should only have supported host CPUs, not guests.
> case "$cpu" in
> - aarch64|riscv) ;;
> armv*b|armv*l|arm)
> cpu="arm" ;;
>
> @@ -668,8 +666,7 @@ case "$cpu" in
> CPU_CFLAGS="-m64 -mlittle" ;;
>
> s390)
> - CPU_CFLAGS="-m31"
> - ARCH=unknown ;;
> + CPU_CFLAGS="-m31" ;;
> s390x)
> CPU_CFLAGS="-m64" ;;
>
> @@ -678,15 +675,7 @@ case "$cpu" in
> CPU_CFLAGS="-m32 -mv8plus -mcpu=ultrasparc" ;;
> sparc64)
> CPU_CFLAGS="-m64 -mcpu=ultrasparc" ;;
> -
> - *)
> - # This will result in either an error or falling back to TCI later
> - ARCH=unknown
> - ;;
> esac
> -if test -z "$ARCH"; then
> - ARCH="$cpu"
> -fi
>
> : ${make=${MAKE-make}}
>
> @@ -3406,8 +3395,6 @@ echo "GIT=$git" >> $config_host_mak
> echo "GIT_SUBMODULES=$git_submodules" >> $config_host_mak
> echo "GIT_SUBMODULES_ACTION=$git_submodules_action" >> $config_host_mak
>
> -echo "ARCH=$ARCH" >> $config_host_mak
> -
> if test "$debug_tcg" = "yes" ; then
> echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
> fi
> @@ -3898,12 +3885,12 @@ if test "$skip_meson" = no; then
> cross_arg="--cross-file config-meson.cross"
> echo "[host_machine]" >> $cross
> echo "system = '$targetos'" >> $cross
> - case "$ARCH" in
> + case "$cpu" in
> i386)
> echo "cpu_family = 'x86'" >> $cross
> ;;
> *)
> - echo "cpu_family = '$ARCH'" >> $cross
> + echo "cpu_family = '$cpu'" >> $cross
> ;;
> esac
> echo "cpu = '$cpu'" >> $cross
> diff --git a/meson.build b/meson.build
> index 4fdaa65b05..2495360fd0 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -67,6 +67,14 @@ endif
>
> targetos = host_machine.system()
>
> +if cpu not in supported_cpus
> + host_arch = 'unknown'
> +elif cpu == 'x86'
> + host_arch = 'i386'
> +else
> + host_arch = cpu
> +endif
> +
> if cpu in ['x86', 'x86_64']
> kvm_targets = ['i386-softmmu', 'x86_64-softmmu']
> elif cpu == 'aarch64'
> @@ -335,9 +343,9 @@ if targetos == 'netbsd'
> endif
> endif
>
> -tcg_arch = config_host['ARCH']
> +tcg_arch = host_arch
> if not get_option('tcg').disabled()
> - if cpu not in supported_cpus
> + if host_arch == 'unknown'
> if get_option('tcg_interpreter')
> warning('Unsupported CPU @0@, will use TCG with TCI (slow)'.format(cpu))
> else
> @@ -353,11 +361,11 @@ if not get_option('tcg').disabled()
> endif
> if get_option('tcg_interpreter')
> tcg_arch = 'tci'
> - elif config_host['ARCH'] == 'sparc64'
> + elif host_arch == 'sparc64'
> tcg_arch = 'sparc'
> - elif config_host['ARCH'] == 'x86_64'
> + elif host_arch == 'x86_64'
> tcg_arch = 'i386'
> - elif config_host['ARCH'] == 'ppc64'
> + elif host_arch == 'ppc64'
> tcg_arch = 'ppc'
> endif
> add_project_arguments('-iquote', meson.current_source_dir() / 'tcg' / tcg_arch,
> @@ -1426,6 +1434,8 @@ config_host_data.set_quoted('CONFIG_QEMU_LOCALSTATEDIR', get_option('prefix') /
> config_host_data.set_quoted('CONFIG_QEMU_MODDIR', get_option('prefix') / qemu_moddir)
> config_host_data.set_quoted('CONFIG_SYSCONFDIR', get_option('prefix') / get_option('sysconfdir'))
>
> +config_host_data.set('HOST_' + host_arch.to_upper(), 1)
> +
> config_host_data.set('CONFIG_ATTR', libattr.found())
> config_host_data.set('CONFIG_BRLAPI', brlapi.found())
> config_host_data.set('CONFIG_COCOA', cocoa.found())
> @@ -1775,8 +1785,6 @@ foreach k, v: config_host
> v = '"' + '", "'.join(v.split()) + '", '
> endif
> config_host_data.set(k, v)
> - elif k == 'ARCH'
> - config_host_data.set('HOST_' + v.to_upper(), 1)
> elif strings.contains(k)
> config_host_data.set_quoted(k, v)
> elif k.startswith('CONFIG_')
> @@ -1919,7 +1927,7 @@ foreach target : target_dirs
> endif
>
> foreach k, v: disassemblers
> - if config_host['ARCH'].startswith(k) or config_target['TARGET_BASE_ARCH'].startswith(k)
> + if host_arch.startswith(k) or config_target['TARGET_BASE_ARCH'].startswith(k)
> foreach sym: v
> config_target += { sym: 'y' }
> config_all_disas += { sym: 'y' }
> @@ -2888,7 +2896,7 @@ foreach target : target_dirs
> endif
> if 'CONFIG_LINUX_USER' in config_target
> base_dir = 'linux-user'
> - target_inc += include_directories('linux-user/host/' / config_host['ARCH'])
> + target_inc += include_directories('linux-user/host/' / host_arch)
> endif
> if 'CONFIG_BSD_USER' in config_target
> base_dir = 'bsd-user'
>
next prev parent reply other threads:[~2021-12-21 2:47 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-19 14:16 [PULL 00/16] Misc patches for 2021-12-20 Paolo Bonzini
2021-12-19 14:16 ` [PULL 01/16] configure: make $targetos lowercase, use windows instead of MINGW32 Paolo Bonzini
2021-12-19 14:16 ` [PULL 02/16] configure: move target detection before CPU detection Paolo Bonzini
2021-12-19 14:16 ` [PULL 03/16] configure: unify two case statements on $cpu Paolo Bonzini
2021-12-19 14:16 ` [PULL 04/16] configure: unify ppc64 and ppc64le Paolo Bonzini
2021-12-19 14:17 ` [PULL 05/16] configure: unify x86_64 and x32 Paolo Bonzini
2021-12-19 14:17 ` [PULL 06/16] meson: rename "arch" variable Paolo Bonzini
2021-12-19 14:17 ` [PULL 07/16] configure, meson: move ARCH to meson.build Paolo Bonzini
2021-12-21 2:46 ` Richard Henderson [this message]
2022-07-19 13:00 ` Peter Maydell
2022-07-19 18:10 ` Paolo Bonzini
2022-07-20 0:51 ` Richard Henderson
2021-12-19 14:17 ` [PULL 08/16] configure: remove unnecessary symlinks Paolo Bonzini
2021-12-19 14:17 ` [PULL 09/16] configure: remove DIRS Paolo Bonzini
2022-01-07 11:02 ` Thomas Huth
2021-12-19 14:17 ` [PULL 10/16] meson: reenable test-fdmon-epoll Paolo Bonzini
2021-12-19 14:17 ` [PULL 11/16] cpu: remove unnecessary #ifdef CONFIG_TCG Paolo Bonzini
2021-12-19 14:20 ` [PULL 12/16] meson: add "check" argument to run_command Paolo Bonzini
2021-12-19 14:20 ` [PULL 13/16] hw/scsi: Fix scsi_bus_init_named() docstring Paolo Bonzini
2021-12-19 14:20 ` [PULL 14/16] hw/scsi/megasas: Fails command if SGL buffer overflows Paolo Bonzini
2021-12-19 14:20 ` [PULL 15/16] tests/qtest/fuzz-megasas-test: Add test for GitLab issue #521 Paolo Bonzini
2021-12-19 14:20 ` [PULL 16/16] hw/i386/vmmouse: Require 'i8042' property to be set Paolo Bonzini
2021-12-20 4:47 ` [PULL 00/16] Misc patches for 2021-12-20 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=29e8d139-58e8-6aa3-c9a8-0d13c9c88eaf@linaro.org \
--to=richard.henderson@linaro.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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).