qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 36/39] add autoconfy --with-arch= option, compatible with --sparc-cpu
Date: Tue, 12 Oct 2010 15:00:54 +0200	[thread overview]
Message-ID: <1286888457-5033-37-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1286888457-5033-1-git-send-email-pbonzini@redhat.com>

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
        Please test this on SPARC. :)

 configure |   72 +++++++++++++++++++++++++++++++++----------------------------
 1 files changed, 39 insertions(+), 33 deletions(-)

diff --git a/configure b/configure
index d6f472b..99de45b 100755
--- a/configure
+++ b/configure
@@ -82,7 +82,7 @@ path_of() {
 cpu=""
 sysroot="/usr/gnemul/qemu-%M"
 static="no"
-sparc_cpu=""
+with_arch=""
 cross_prefix=""
 cross_compiling="no"
 default_cross_prefix=""
@@ -215,20 +215,7 @@ for opt do
   ;;
   --extra-ldflags=*) LDFLAGS="$optarg $LDFLAGS"
   ;;
-  --sparc_cpu=*)
-    sparc_cpu="$optarg"
-    case $sparc_cpu in
-    v7|v8|v8plus|v8plusa)
-      cpu="sparc"
-    ;;
-    v9)
-      cpu="sparc64"
-    ;;
-    *)
-      echo "undefined SPARC architecture. Exiting";
-      exit 1
-    ;;
-    esac
+  --with-arch=*|--sparc_cpu=*) with_arch="$optarg"
   ;;
   esac
 done
@@ -661,7 +648,7 @@ for opt do
   ;;
   --enable-uname-release=*) uname_release="$optarg"
   ;;
-  --sparc_cpu=*)
+  --with-arch=*|--sparc_cpu=*)
   ;;
   --enable-werror) werror="yes"
   ;;
@@ -721,21 +708,40 @@ for opt do
 done
 
 #
-# If cpu ~= sparc and  sparc_cpu hasn't been defined, plug in the right
-# QEMU_CFLAGS/LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
+# Plug in the right QEMU_CFLAGS/LDFLAGS for the architecture
 #
 host_guest_base="no"
+
 case "$cpu" in
-    sparc) case $sparc_cpu in
-           v7|v8)
-             QEMU_CFLAGS="-mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__ $QEMU_CFLAGS"
-           ;;
-           v8plus|v8plusa)
-             QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_${sparc_cpu}__ $QEMU_CFLAGS"
-           ;;
-           *) # sparc_cpu not defined in the command line
-             QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_v8plus__ $QEMU_CFLAGS"
-           esac
+    arm*|i386|x86_64|mips*|hppa*|s390|s390x)
+      test -n "$with_arch" && QEMU_CFLAGS="-march=${with_arch} $QEMU_CFLAGS"
+      ;;
+
+    sparc|sparc64)
+      test "$with_arch" = v8plusa && with_arch=v8plus
+      case "$cpu:$with_arch" in
+      *:v7|*:v8|*:v8plus)
+        QEMU_CFLAGS="-mcpu=${with_arch} -D__sparc_${with_arch}__ $QEMU_CFLAGS"
+        cpu=sparc
+      ;;
+      *:v9)
+        QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_${with_arch}__ $QEMU_CFLAGS"
+        cpu=sparc64
+      ;;
+      sparc:*) QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_v8plus__ $QEMU_CFLAGS"
+      ;;
+      sparc64:*) QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_v9__ $QEMU_CFLAGS"
+      ;;
+      esac
+      ;;
+
+    *)
+      test -n "$with_arch" && QEMU_CFLAGS="-mcpu=${with_arch} $QEMU_CFLAGS"
+      ;;
+esac
+
+case "${cpu}" in
+    sparc)
            LDFLAGS="-m32 $LDFLAGS"
            QEMU_CFLAGS="-m32 -ffixed-g2 -ffixed-g3 $QEMU_CFLAGS"
            if test "$solaris" = "no" ; then
@@ -744,9 +750,8 @@ case "$cpu" in
            fi
            ;;
     sparc64)
-           QEMU_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__ $QEMU_CFLAGS"
            LDFLAGS="-m64 $LDFLAGS"
-           QEMU_CFLAGS="-ffixed-g5 -ffixed-g6 -ffixed-g7 $QEMU_CFLAGS"
+           QEMU_CFLAGS="-m64 -ffixed-g5 -ffixed-g6 -ffixed-g7 $QEMU_CFLAGS"
            if test "$solaris" != "no" ; then
              QEMU_CFLAGS="-ffixed-g1 $QEMU_CFLAGS"
            fi
@@ -812,6 +817,7 @@ echo "Advanced options (experts only):"
 echo "  --srcdir=PATH            path of source code [$srcdir]"
 echo "  --build=BUILD            specify triplet for build machine [$build]"
 echo "  --enable-targets=LIST    choose compiled targets [$target_list]"
+echo "  --with-arch=ARCH         build qemu for given architecture"
 echo "  --with-sysroot=PREFIX    where to find shared libraries, etc."
 echo "                           use %M for cpu name [$sysroot]"
 echo "  --host=HOST              cross-compile for host triplet HOST [$host]"
@@ -879,7 +885,6 @@ echo "  --disable-guest-base     disable GUEST_BASE support"
 echo "  --enable-user-pie        build usermode emulation targets as PIE"
 echo "  --disable-user-pie       do not build usermode emulation targets as PIE"
 echo "  --enable-uname-release=R Return R for uname -r in usermode emulation"
-echo "  --sparc_cpu=V            Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
 echo "  --disable-uuid           disable uuid support"
 echo "  --enable-uuid            enable uuid support"
 echo "  --disable-vde            disable support for vde network"
@@ -920,6 +925,7 @@ echo "  --make=MAKE              use specified make [$make]"
 echo "  --install=INSTALL        use specified install [$install]"
 echo "  --static                 enable static build [$static]"
 echo "  --target-list=LIST       set target list [$target_list]"
+echo "  --sparc_cpu=V            Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
 echo ""
 echo "Some influential environment variables can be passed on the command line:"
 echo "  CC          C compiler command"
@@ -2323,8 +2329,8 @@ echo "VNC SASL support  $vnc_sasl"
 echo "VNC JPEG support  $vnc_jpeg"
 echo "VNC PNG support   $vnc_png"
 echo "VNC thread        $vnc_thread"
-if test -n "$sparc_cpu"; then
-    echo "Target Sparc Arch $sparc_cpu"
+if test -n "$with_arch"; then
+echo "Target Arch       $with_arch"
 fi
 echo "xen support       $xen"
 echo "brlapi support    $brlapi"
-- 
1.7.2.3

  parent reply	other threads:[~2010-10-12 13:02 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-12 13:00 [Qemu-devel] [PATCH 00/39] Make configure command line autoconf-compatible Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 01/39] default compilation tools to environment variables Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 02/39] default make and install " Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 03/39] move feature variables to the top Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 04/39] fix sparse support (?) Paolo Bonzini
2010-10-12 19:02   ` Blue Swirl
2010-10-13  7:15     ` Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 05/39] test cc with the complete set of chosen flags Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 06/39] include failed source file in config.log Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 07/39] do not pass bogus $(SRC_PATH) include paths to cc during configure Paolo Bonzini
2010-10-12 19:09   ` Blue Swirl
2010-10-13  7:25     ` Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 08/39] provide portable sizeof(long) test Paolo Bonzini
2010-10-12 13:47   ` malc
2010-10-12 14:31     ` Paolo Bonzini
2010-10-12 14:38       ` malc
2010-10-12 14:40         ` Paolo Bonzini
2010-10-12 14:41           ` malc
2010-10-12 14:58             ` Paolo Bonzini
2010-10-12 15:12               ` malc
2010-10-12 15:32                 ` Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 09/39] fix spelling of $pkg_config, move default together with other cross tools Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 10/39] do not default to non-prefixed pkg-config when cross compiling Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 11/39] reorganize sdl-config tests Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 12/39] move --srcdir detection earlier Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 13/39] properly detect compiler in tests/Makefile Paolo Bonzini
2010-10-12 19:04   ` Blue Swirl
2010-10-13  7:19     ` Paolo Bonzini
2010-10-13 19:05       ` Blue Swirl
2010-10-12 13:00 ` [Qemu-devel] [PATCH 14/39] remove HOST_CC mention from roms/{sea, vga}bios/config.mak Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 15/39] let --host-cc slide into oblivion Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 16/39] introduce CFLAGS= and LDFLAGS= configure command-line options Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 17/39] introduce CPPFLAGS configure variable Paolo Bonzini
2010-10-12 19:11   ` Blue Swirl
2010-10-12 13:00 ` [Qemu-devel] [PATCH 18/39] add autoconfy alias CC= for --cc Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 19/39] add CPP variable Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 20/39] add autoconfy aliases MAKE=/INSTALL= for --make and --install Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 21/39] add autoconfy aliases --with-* for audio library options Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 22/39] make trace options use autoconfy names Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 23/39] deprecate --audio-card-list Paolo Bonzini
2010-10-12 13:49   ` malc
2010-10-12 14:30     ` Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 24/39] add autoconfy alias --enable-audio-drivers alias for --audio-drv-list Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 25/39] add autoconfy alias --enable-block-drivers for --block-drv-whitelist Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 26/39] add libtooly alias --enable-static for --static Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 27/39] add autoconfy alias --with-sysroot for --interp-prefix Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 28/39] rename interp_prefix to sysroot Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 29/39] add autoconfy alias --enable-targets for --target-list Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 30/39] add autoconfy alias --with-headers for --kerneldir Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 31/39] add autoconfy alias --srcdir= for --source-path Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 32/39] rename SRC_PATH to srcdir Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 33/39] rename source_path " Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 34/39] add autoconfy --host= option deprecating --cross-prefix Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 35/39] add autoconfy --build= option to be used instead of undocumented --cpu Paolo Bonzini
2010-10-12 13:00 ` Paolo Bonzini [this message]
2010-10-12 19:47   ` [Qemu-devel] [PATCH 36/39] add autoconfy --with-arch= option, compatible with --sparc-cpu Blue Swirl
2010-10-13  7:32     ` Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 37/39] make more options "standard" Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 38/39] provide a more gnuish default sysroot Paolo Bonzini
2010-10-12 13:00 ` [Qemu-devel] [PATCH 39/39] use host triplets for feature detection Paolo Bonzini
2010-10-12 13:22 ` [Qemu-devel] [PATCH 00/39] Make configure command line autoconf-compatible malc
2010-10-12 13:26   ` Paolo Bonzini
2010-10-12 13:32     ` malc
2010-10-12 14:30       ` Anthony Liguori
2010-10-12 14:34         ` Paolo Bonzini

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=1286888457-5033-37-git-send-email-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).