configure: Warn about deprecated hosts

We plan to drop support in a future QEMU release for host OSes
and host architectures for which we have no test machine where
we can build and run tests. For the 2.9 release, make configure
print a warning if it is run on such a host, so that the user
has some warning of the plans and can volunteer to help us
maintain the port if they need it to continue to function.

This commit flags up as deprecated the CPU architectures:
* ia64
* sparc
* anything which we don't have a TCG port for
(and which was presumably using TCI)
and the OSes:
* GNU/kFreeBSD
* DragonFly BSD
* NetBSD
* OpenBSD
* Solaris
* AIX
* Haiku

It also makes entirely unrecognized host OS strings be
rejected rather than treated as if they were Linux (which
likely never worked).

Backports commit 898be3e0415c6d614395c087ef1e91210797cda7 from qemu
This commit is contained in:
Peter Maydell 2018-03-09 12:21:09 -05:00 committed by Lioncash
parent 4149e877c4
commit a3ae5a783f
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

49
qemu/configure vendored
View file

@ -178,6 +178,9 @@ tcg="yes"
cpuid_h="no"
avx2_opt="no"
supported_cpu="no"
supported_os="no"
# parse CC options first
for opt do
optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
@ -356,23 +359,32 @@ ARCH=
# Normalise host CPU name and set ARCH.
# Note that this case should only have supported host CPUs, not guests.
case "$cpu" in
ppc|ppc64|s390|s390x|sparc64|x32)
ppc|ppc64|s390|s390x|x32)
cpu="$cpu"
supported_cpu="yes"
;;
sparc64)
cpu="$cpu"
;;
i386|i486|i586|i686|i86pc|BePC)
cpu="i386"
supported_cpu="yes"
;;
x86_64|amd64)
cpu="x86_64"
supported_cpu="yes"
;;
armv*b|armv*l|arm)
cpu="arm"
supported_cpu="yes"
;;
aarch64|aarch64eb)
cpu="aarch64"
supported_cpu="yes"
;;
mips*)
cpu="mips"
supported_cpu="yes"
;;
sparc|sun4[cdmuv])
cpu="sparc"
@ -391,6 +403,7 @@ fi
case $targetos in
MINGW32*)
mingw32="yes"
supported_os="yes"
;;
GNU/kFreeBSD)
bsd="yes"
@ -400,6 +413,7 @@ FreeBSD)
make="${MAKE-gmake}"
# needed for kinfo_getvmmap(3) in libutil.h
LIBS="-lutil $LIBS"
supported_os="yes"
;;
DragonFly)
bsd="yes"
@ -424,6 +438,7 @@ Darwin)
# 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"
supported_os="yes"
;;
SunOS)
solaris="yes"
@ -442,8 +457,12 @@ Haiku)
QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS $QEMU_CFLAGS"
LIBS="-lposix_error_mapper -lnetwork $LIBS"
;;
*)
Linux)
linux="yes"
supported_os="yes"
;;
*)
error_exit "Unsupported host OS $targetos"
;;
esac
@ -1288,6 +1307,32 @@ if test "$tcg" = "yes" ; then
fi
echo "avx2 optimization $avx2_opt"
if test "$supported_cpu" = "no"; then
echo
echo "WARNING: SUPPORT FOR THIS HOST CPU WILL GO AWAY IN FUTURE RELEASES!"
echo
echo "CPU host architecture $cpu support is not currently maintained."
echo "The QEMU project intends to remove support for this host CPU in"
echo "a future release if nobody volunteers to maintain it and to"
echo "provide a build host for our continuous integration setup."
echo "configure has succeeded and you can continue to build, but"
echo "if you care about QEMU on this platform you should contact"
echo "us upstream at qemu-devel@nongnu.org."
fi
if test "$supported_os" = "no"; then
echo
echo "WARNING: SUPPORT FOR THIS HOST OS WILL GO AWAY IN FUTURE RELEASES!"
echo
echo "CPU host OS $targetos support is not currently maintained."
echo "The QEMU project intends to remove support for this host CPU in"
echo "a future release if nobody volunteers to maintain it and to"
echo "provide a build host for our continuous integration setup."
echo "configure has succeeded and you can continue to build, but"
echo "if you care about QEMU on this platform you should contact"
echo "us upstream at qemu-devel@nongnu.org."
fi
config_host_mak="config-host.mak"
echo "# Automatically generated by configure - do not modify" > $config_host_mak