[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 05/10] configure: unify two case statements on $cpu
From: |
Paolo Bonzini |
Subject: |
[PATCH 05/10] configure: unify two case statements on $cpu |
Date: |
Thu, 16 Dec 2021 09:51:34 +0100 |
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 67 ++++++++++++++++++++++++++-----------------------------
1 file changed, 32 insertions(+), 35 deletions(-)
diff --git a/configure b/configure
index a774086891..65df8d02d9 100755
--- a/configure
+++ b/configure
@@ -635,32 +635,47 @@ else
fi
ARCH=
-# Normalise host CPU name and set ARCH.
+# Normalise host CPU name, set ARCH and multilib cflags
# Note that this case should only have supported host CPUs, not guests.
case "$cpu" in
- ppc|ppc64|s390x|sparc64|x32|riscv)
- ;;
- ppc64le)
- ARCH="ppc64"
- ;;
+ aarch64|riscv) ;;
+ armv*b|armv*l|arm)
+ cpu="arm" ;;
+
i386|i486|i586|i686|i86pc|BePC)
cpu="i386"
- ;;
+ CPU_CFLAGS="-m32" ;;
+ x32)
+ CPU_CFLAGS="-mx32" ;;
x86_64|amd64)
cpu="x86_64"
- ;;
- armv*b|armv*l|arm)
- cpu="arm"
- ;;
- aarch64)
- cpu="aarch64"
- ;;
+ # ??? Only extremely old AMD cpus do not have cmpxchg16b.
+ # If we truly care, we should simply detect this case at
+ # runtime and generate the fallback to serial emulation.
+ CPU_CFLAGS="-m64 -mcx16" ;;
+
mips*)
- cpu="mips"
- ;;
+ cpu="mips" ;;
+
+ ppc)
+ CPU_CFLAGS="-m32" ;;
+ ppc64)
+ CPU_CFLAGS="-m64" ;;
+ ppc64le)
+ ARCH="ppc64" ;;
+
+ s390)
+ CPU_CFLAGS="-m31"
+ ARCH=unknown ;;
+ s390x)
+ CPU_CFLAGS="-m64" ;;
+
sparc|sun4[cdmuv])
cpu="sparc"
- ;;
+ 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
@@ -1255,24 +1270,6 @@ local_statedir="${local_statedir:-$prefix/var}"
firmwarepath="${firmwarepath:-$datadir/qemu-firmware}"
localedir="${localedir:-$datadir/locale}"
-case "$cpu" in
- ppc) CPU_CFLAGS="-m32" ;;
- ppc64) CPU_CFLAGS="-m64" ;;
- sparc) CPU_CFLAGS="-m32 -mv8plus -mcpu=ultrasparc" ;;
- sparc64) CPU_CFLAGS="-m64 -mcpu=ultrasparc" ;;
- s390) CPU_CFLAGS="-m31" ;;
- s390x) CPU_CFLAGS="-m64" ;;
- i386) CPU_CFLAGS="-m32" ;;
- x32) CPU_CFLAGS="-mx32" ;;
-
- # ??? Only extremely old AMD cpus do not have cmpxchg16b.
- # If we truly care, we should simply detect this case at
- # runtime and generate the fallback to serial emulation.
- x86_64) CPU_CFLAGS="-m64 -mcx16" ;;
-
- # No special flags required for other host CPUs
-esac
-
if eval test -z "\${cross_cc_$cpu}"; then
eval "cross_cc_${cpu}=\$cc"
cross_cc_vars="$cross_cc_vars cross_cc_${cpu}"
--
2.33.1
- [PATCH 06/10] configure: unify ppc64 and ppc64le, (continued)
- [PATCH 06/10] configure: unify ppc64 and ppc64le, Paolo Bonzini, 2021/12/16
- [PATCH 10/10] configure: remove unnecessary symlinks, Paolo Bonzini, 2021/12/16
- [PATCH 04/10] configure: do not set bsd_user/linux_user early, Paolo Bonzini, 2021/12/16
- [PATCH 09/10] configure, meson: move ARCH to meson.build, Paolo Bonzini, 2021/12/16
- [PATCH 05/10] configure: unify two case statements on $cpu,
Paolo Bonzini <=
- [PATCH 08/10] meson: rename "arch" variable, Paolo Bonzini, 2021/12/16
- [PATCH 07/10] configure: unify x86_64 and x32, Paolo Bonzini, 2021/12/16
- Re: [PATCH 07/10] configure: unify x86_64 and x32, Richard Henderson, 2021/12/17