diff mbox series

[03/30] configure: remove useless test

Message ID 20221209112409.184703-4-pbonzini@redhat.com
State New
Headers show
Series Meson changes for QEMU 8.0 | expand

Commit Message

Paolo Bonzini Dec. 9, 2022, 11:23 a.m. UTC
$cpu is derived from preprocessor defines rather than uname these days,
so do not bother using isainfo on Solaris.  Likewise do not recognize
BeOS's uname -m output.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

Comments

Peter Maydell Dec. 9, 2022, 11:34 a.m. UTC | #1
On Fri, 9 Dec 2022 at 11:25, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> $cpu is derived from preprocessor defines rather than uname these days,
> so do not bother using isainfo on Solaris.  Likewise do not recognize
> BeOS's uname -m output.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  configure | 12 +-----------
>  1 file changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/configure b/configure
> index 543fd5a48bf0..db2b45740449 100755
> --- a/configure
> +++ b/configure
> @@ -337,9 +337,6 @@ for opt do
>    ;;
>    esac
>  done
> -# OS specific
> -# Using uname is really, really broken.  Once we have the right set of checks
> -# we can eliminate its usage altogether.

I note that the fallback if we match no #defines is still "use uname".
We can only get rid of that if we're willing to say "must be a
known host architecture, even if using TCI", though. Or we could
force the 1 person using that setup to specify --cpu manually, perhaps.

>  # Preferred compiler:
>  #  ${CC} (if set)
> @@ -489,13 +486,6 @@ sunos)
>    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

I found a random stackoverflow answer that says the Solaris
compiler does define the __x86_64__ macro that we check for, so
this should be OK.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM
Paolo Bonzini Dec. 9, 2022, 4:35 p.m. UTC | #2
On 12/9/22 12:34, Peter Maydell wrote:
>> -# Using uname is really, really broken.  Once we have the right set of checks
>> -# we can eliminate its usage altogether.
> I note that the fallback if we match no #defines is still "use uname".
> We can only get rid of that if we're willing to say "must be a
> known host architecture, even if using TCI", though. Or we could
> force the 1 person using that setup to specify --cpu manually, perhaps.

Ok I'll change a bit the comments, and add a warning in configure as 
well if the #define checks fail to detect the CPU architecture.

Paolo
Daniel P. Berrangé Dec. 16, 2022, 2:35 p.m. UTC | #3
On Fri, Dec 09, 2022 at 12:23:42PM +0100, Paolo Bonzini wrote:
> $cpu is derived from preprocessor defines rather than uname these days,
> so do not bother using isainfo on Solaris.  Likewise do not recognize
> BeOS's uname -m output.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  configure | 12 +-----------
>  1 file changed, 1 insertion(+), 11 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
diff mbox series

Patch

diff --git a/configure b/configure
index 543fd5a48bf0..db2b45740449 100755
--- a/configure
+++ b/configure
@@ -337,9 +337,6 @@  for opt do
   ;;
   esac
 done
-# OS specific
-# Using uname is really, really broken.  Once we have the right set of checks
-# we can eliminate its usage altogether.
 
 # Preferred compiler:
 #  ${CC} (if set)
@@ -489,13 +486,6 @@  sunos)
   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"
@@ -559,7 +549,7 @@  case "$cpu" in
   armv*b|armv*l|arm)
     cpu="arm" ;;
 
-  i386|i486|i586|i686|i86pc|BePC)
+  i386|i486|i586|i686)
     cpu="i386"
     CPU_CFLAGS="-m32" ;;
   x32)