From a3ae5a783f203bc08a8f56675db4bfbee079f264 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Fri, 9 Mar 2018 12:21:09 -0500 Subject: [PATCH] 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 --- qemu/configure | 49 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/qemu/configure b/qemu/configure index 1da64d52..87b8d5cf 100755 --- a/qemu/configure +++ b/qemu/configure @@ -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