From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [PATCH 03/10] configure: move target detection before CPU detection
Date: Thu, 16 Dec 2021 09:51:32 +0100 [thread overview]
Message-ID: <20211216085139.99682-4-pbonzini@redhat.com> (raw)
In-Reply-To: <20211216085139.99682-1-pbonzini@redhat.com>
This makes more sense, since target detection can affect CPU detection
on Solaris.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 115 ++++++++++++++++++++++++++----------------------------
1 file changed, 55 insertions(+), 60 deletions(-)
diff --git a/configure b/configure
index 63438c1900..157691d99e 100755
--- a/configure
+++ b/configure
@@ -528,16 +528,67 @@ else
targetos=bogus
fi
-# Some host OSes need non-standard checks for which CPU to use.
-# Note that these checks are broken for cross-compilation: if you're
-# cross-compiling to one of these OSes then you'll need to specify
-# the correct CPU with the --cpu option.
+# OS specific
+
case $targetos in
+windows)
+ mingw32="yes"
+ plugins="no"
+ pie="no"
+;;
+gnu/kfreebsd)
+ bsd="yes"
+;;
+freebsd)
+ bsd="yes"
+ bsd_user="yes"
+ make="${MAKE-gmake}"
+ # needed for kinfo_getvmmap(3) in libutil.h
+;;
+dragonfly)
+ bsd="yes"
+ make="${MAKE-gmake}"
+;;
+netbsd)
+ bsd="yes"
+ make="${MAKE-gmake}"
+;;
+openbsd)
+ bsd="yes"
+ make="${MAKE-gmake}"
+;;
+darwin)
+ bsd="yes"
+ darwin="yes"
+ # Disable attempts to use ObjectiveC features in os/object.h since they
+ # won't work when we're compiling with gcc as a C compiler.
+ QEMU_CFLAGS="-DOS_OBJECT_USE_OBJC=0 $QEMU_CFLAGS"
+;;
sunos)
+ solaris="yes"
+ make="${MAKE-gmake}"
+ smbd="${SMBD-/usr/sfw/sbin/smbd}"
+# needed for CMSG_ macros in sys/socket.h
+ QEMU_CFLAGS="-D_XOPEN_SOURCE=600 $QEMU_CFLAGS"
+# needed for TIOCWIN* defines in termios.h
+ QEMU_CFLAGS="-D__EXTENSIONS__ $QEMU_CFLAGS"
# $(uname -m) returns i86pc even on an x86_64 box, so default based on isainfo
+ # Note that this check is broken for cross-compilation: if you're
+ # cross-compiling to one of these OSes then you'll need to specify
+ # the correct CPU with the --cpu option.
if test -z "$cpu" && test "$(isainfo -k)" = "amd64"; then
cpu="x86_64"
fi
+;;
+haiku)
+ pie="no"
+ QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -D_BSD_SOURCE -fPIC $QEMU_CFLAGS"
+;;
+linux)
+ linux="yes"
+ linux_user="yes"
+ vhost_user=${default_feature:-yes}
+;;
esac
if test ! -z "$cpu" ; then
@@ -621,62 +672,6 @@ if test -z "$ARCH"; then
ARCH="$cpu"
fi
-# OS specific
-
-case $targetos in
-windows)
- mingw32="yes"
- plugins="no"
- pie="no"
-;;
-gnu/kfreebsd)
- bsd="yes"
-;;
-freebsd)
- bsd="yes"
- bsd_user="yes"
- make="${MAKE-gmake}"
- # needed for kinfo_getvmmap(3) in libutil.h
-;;
-dragonfly)
- bsd="yes"
- make="${MAKE-gmake}"
-;;
-netbsd)
- bsd="yes"
- make="${MAKE-gmake}"
-;;
-openbsd)
- bsd="yes"
- make="${MAKE-gmake}"
-;;
-darwin)
- bsd="yes"
- darwin="yes"
- # Disable attempts to use ObjectiveC features in os/object.h since they
- # won't work when we're compiling with gcc as a C compiler.
- QEMU_CFLAGS="-DOS_OBJECT_USE_OBJC=0 $QEMU_CFLAGS"
-;;
-sunos)
- solaris="yes"
- make="${MAKE-gmake}"
- smbd="${SMBD-/usr/sfw/sbin/smbd}"
-# needed for CMSG_ macros in sys/socket.h
- QEMU_CFLAGS="-D_XOPEN_SOURCE=600 $QEMU_CFLAGS"
-# needed for TIOCWIN* defines in termios.h
- QEMU_CFLAGS="-D__EXTENSIONS__ $QEMU_CFLAGS"
-;;
-haiku)
- pie="no"
- QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -D_BSD_SOURCE -fPIC $QEMU_CFLAGS"
-;;
-linux)
- linux="yes"
- linux_user="yes"
- vhost_user=${default_feature:-yes}
-;;
-esac
-
: ${make=${MAKE-make}}
# We prefer python 3.x. A bare 'python' is traditionally
--
2.33.1
next prev parent reply other threads:[~2021-12-16 8:56 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-16 8:51 [PATCH 00/10] configure cleanups, mostly wrt $cpu and $targetos Paolo Bonzini
2021-12-16 8:51 ` [PATCH 01/10] configure: simplify creation of plugin symbol list Paolo Bonzini
2021-12-17 20:42 ` Richard Henderson
2021-12-16 8:51 ` [PATCH 02/10] configure: make $targetos lowercase, use windows instead of MINGW32 Paolo Bonzini
2021-12-17 20:44 ` Richard Henderson
2021-12-16 8:51 ` Paolo Bonzini [this message]
2021-12-16 8:51 ` [PATCH 04/10] configure: do not set bsd_user/linux_user early Paolo Bonzini
2021-12-17 20:49 ` Richard Henderson
2021-12-18 10:16 ` Paolo Bonzini
2021-12-16 8:51 ` [PATCH 05/10] configure: unify two case statements on $cpu Paolo Bonzini
2021-12-17 21:37 ` Richard Henderson
2021-12-16 8:51 ` [PATCH 06/10] configure: unify ppc64 and ppc64le Paolo Bonzini
2021-12-16 9:06 ` Philippe Mathieu-Daudé
2021-12-17 21:43 ` Richard Henderson
2021-12-16 8:51 ` [PATCH 07/10] configure: unify x86_64 and x32 Paolo Bonzini
2021-12-16 9:10 ` Philippe Mathieu-Daudé
2021-12-16 15:30 ` Paolo Bonzini
2021-12-17 21:48 ` Richard Henderson
2021-12-20 9:52 ` Philippe Mathieu-Daudé
2021-12-17 21:46 ` Richard Henderson
2021-12-16 8:51 ` [PATCH 08/10] meson: rename "arch" variable Paolo Bonzini
2021-12-16 9:10 ` Philippe Mathieu-Daudé
2021-12-17 21:49 ` Richard Henderson
2021-12-16 8:51 ` [PATCH 09/10] configure, meson: move ARCH to meson.build Paolo Bonzini
2021-12-17 22:02 ` Richard Henderson
2021-12-16 8:51 ` [PATCH 10/10] configure: remove unnecessary symlinks Paolo Bonzini
2021-12-17 22:03 ` 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=20211216085139.99682-4-pbonzini@redhat.com \
--to=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).