Add qemu_unregister_reset
[qemu] / configure
index 42d46f2..a55dbc5 100755 (executable)
--- a/configure
+++ b/configure
@@ -190,7 +190,7 @@ io_thread="no"
 nptl="yes"
 mixemu="no"
 bluez="yes"
-kvm="yes"
+kvm="no"
 kerneldir=""
 aix="no"
 blobs="yes"
@@ -290,7 +290,6 @@ SunOS)
     make="gmake"
     install="ginstall"
     needs_libsunmath="no"
-    kvm="no"
     solarisrev=`uname -r | cut -f2 -d.`
     # have to select again, because `uname -m` returns i86pc
     # even on an x86_64 box.
@@ -330,6 +329,7 @@ audio_possible_drivers="oss alsa sdl esd pa"
 linux="yes"
 linux_user="yes"
 usb="linux"
+kvm="yes"
 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
     kqemu="yes"
     audio_possible_drivers="$audio_possible_drivers fmod"
@@ -356,11 +356,7 @@ else
 fi
 [ -f "$workdir/vl.c" ] || source_path_used="yes"
 
-werror="no"
-# generate compile errors on warnings for development builds
-#if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
-#werror="yes";
-#fi
+werror=""
 
 for opt do
   optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
@@ -384,9 +380,9 @@ for opt do
   ;;
   --install=*) install="$optarg"
   ;;
-  --extra-cflags=*) CFLAGS="$optarg"
+  --extra-cflags=*) EXTRA_CFLAGS="$optarg"
   ;;
-  --extra-ldflags=*) LDFLAGS="$optarg"
+  --extra-ldflags=*) EXTRA_LDFLAGS="$optarg"
   ;;
   --cpu=*) cpu="$optarg"
   ;;
@@ -471,11 +467,11 @@ for opt do
       sparc_cpu="$optarg"
       case $sparc_cpu in
         v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
-                 target_cpu="sparc"; cpu="sparc" ;;
+                 target_arch2="sparc"; cpu="sparc" ;;
         v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
-                 target_cpu="sparc"; cpu="sparc" ;;
+                 target_arch2="sparc"; cpu="sparc" ;;
         v9)    SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
-                 target_cpu="sparc64"; cpu="sparc64" ;;
+                 target_arch2="sparc64"; cpu="sparc64" ;;
         *)     echo "undefined SPARC architecture. Exiting";exit 1;;
       esac
   ;;
@@ -517,8 +513,21 @@ if test "$debug" = "no" ; then
 fi
 CFLAGS="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
 LDFLAGS="$LDFLAGS -g"
+
+# Consult white-list to determine whether to enable werror
+# by default.  Only enable by default for git builds
+if test -z "$werror" ; then
+    z_version=`cut -f3 -d. $source_path/VERSION`
+    if test "$z_version" = "50" -a \
+        "$linux" = "yes" ; then
+        werror="yes"
+    else
+        werror="no"
+    fi
+fi
+
 if test "$werror" = "yes" ; then
-CFLAGS="$CFLAGS -Werror"
+    CFLAGS="$CFLAGS -Werror"
 fi
 
 if test "$solaris" = "no" ; then
@@ -592,14 +601,14 @@ echo "  --source-path=PATH       path of source code [$source_path]"
 echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
 echo "  --cc=CC                  use C compiler CC [$cc]"
 echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."
-echo "  --extra-cflags=CFLAGS    add C compiler flags CFLAGS"
-echo "  --extra-ldflags=LDFLAGS  add linker flags LDFLAGS"
+echo "  --extra-cflags=CFLAGS    append extra C compiler flags CFLAGS"
+echo "  --extra-ldflags=LDFLAGS  append extra linker flags LDFLAGS"
 echo "  --make=MAKE              use specified make [$make]"
 echo "  --install=INSTALL        use specified install [$install]"
 echo "  --static                 enable static build [$static]"
 echo "  --enable-debug-tcg       enable TCG debugging"
 echo "  --disable-debug-tcg      disable TCG debugging (default)"
-echo "  --disable-debug          enable common debug build options"
+echo "  --enable-debug           enable common debug build options"
 echo "  --enable-sparse          enable sparse checker"
 echo "  --disable-sparse         disable sparse checker (default)"
 echo "  --disable-strip          disable stripping binaries"
@@ -705,6 +714,7 @@ ppc64-softmmu \
 sh4-softmmu \
 sh4eb-softmmu \
 sparc-softmmu \
+sparc64-softmmu \
 "
     fi
 # the following are Linux specific
@@ -839,9 +849,9 @@ if test "$xen" = "yes" ; then
 cat > $TMPC <<EOF
 #include <xenctrl.h>
 #include <xs.h>
-int main(void) { xs_daemon_open; xc_interface_open; }
+int main(void) { xs_daemon_open(); xc_interface_open(); return 0; }
 EOF
-   if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC -lxenstore -lxenctrl 2> /dev/null > /dev/null ; then
+   if $cc $CFLAGS $ARCH_CFLAGS -c -o $TMPO $TMPC $LDFLAGS -lxenstore -lxenctrl 2> /dev/null > /dev/null ; then
       :
    else
       xen="no"
@@ -1068,6 +1078,7 @@ fi # -z $brlapi
 
 if test "$curses" = "yes" ; then
   curses=no
+  ncurses=no
   cat > $TMPC << EOF
 #include <curses.h>
 #ifdef __OpenBSD__
@@ -1075,7 +1086,10 @@ if test "$curses" = "yes" ; then
 #endif
 int main(void) { resize_term(0, 0); return curses_version(); }
 EOF
-  if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses > /dev/null 2> /dev/null ; then
+  if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lncurses > /dev/null 2> /dev/null ; then
+    curses=yes
+    ncurses=yes
+  elif $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses > /dev/null 2> /dev/null ; then
     curses=yes
   fi
 fi # test "$curses"
@@ -1158,7 +1172,9 @@ EOF
        | grep "error: " \
        | awk -F "error: " '{if (NR>1) printf(", "); printf("%s",$2);}'`
       if test "$kvmerr" != "" ; then
-        kvm="no - (${kvmerr})"
+        kvm="no - (${kvmerr})\n\
+    NOTE: To enable KVM support, update your kernel to 2.6.29+ or install \
+recent kvm-kmod from http://sourceforge.net/projects/kvm."
       fi
     fi
   fi
@@ -1233,8 +1249,7 @@ fi
 # have syscall stubs for these implemented.
 #
 atfile=no
-if [ "$linux_user" = "yes" ] ; then
-  cat > $TMPC << EOF
+cat > $TMPC << EOF
 #define _ATFILE_SOURCE
 #include <sys/types.h>
 #include <fcntl.h>
@@ -1247,9 +1262,8 @@ main(void)
        return (unlinkat(AT_FDCWD, "nonexistent_file", 0));
 }
 EOF
-  if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null > /dev/null ; then
-    atfile=yes
-  fi
+if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null > /dev/null ; then
+  atfile=yes
 fi
 
 # Check for inotify functions when we are building linux-user
@@ -1258,8 +1272,7 @@ fi
 # don't provide them even if kernel supports them.
 #
 inotify=no
-if [ "$linux_user" = "yes" ] ; then
-  cat > $TMPC << EOF
+cat > $TMPC << EOF
 #include <sys/inotify.h>
 
 int
@@ -1269,9 +1282,65 @@ main(void)
        return inotify_init();
 }
 EOF
-  if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null > /dev/null ; then
-    inotify=yes
-  fi
+if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null > /dev/null ; then
+  inotify=yes
+fi
+
+# check if utimensat and futimens are supported
+utimens=no
+cat > $TMPC << EOF
+#define _ATFILE_SOURCE
+#define _GNU_SOURCE
+#include <stddef.h>
+#include <fcntl.h>
+
+int main(void)
+{
+    utimensat(AT_FDCWD, "foo", NULL, 0);
+    futimens(0, NULL);
+    return 0;
+}
+EOF
+if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
+  utimens=yes
+fi
+
+# check if pipe2 is there
+pipe2=no
+cat > $TMPC << EOF
+#define _GNU_SOURCE
+#include <unistd.h>
+#include <fcntl.h>
+
+int main(void)
+{
+    int pipefd[2];
+    pipe2(pipefd, O_CLOEXEC);
+    return 0;
+}
+EOF
+if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
+  pipe2=yes
+fi
+
+# check if tee/splice is there. vmsplice was added same time.
+splice=no
+cat > $TMPC << EOF
+#define _GNU_SOURCE
+#include <unistd.h>
+#include <fcntl.h>
+#include <limits.h>
+
+int main(void)
+{
+    int len, fd;
+    len = tee(STDIN_FILENO, STDOUT_FILENO, INT_MAX, SPLICE_F_NONBLOCK);
+    splice(STDIN_FILENO, NULL, fd, NULL, len, SPLICE_F_MOVE);
+    return 0;
+}
+EOF
+if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
+  splice=yes
 fi
 
 # Check if tools are available to build documentation.
@@ -1377,7 +1446,7 @@ echo "vde support       $vde"
 echo "AIO support       $aio"
 echo "IO thread         $io_thread"
 echo "Install blobs     $blobs"
-echo "KVM support       $kvm"
+echo -e "KVM support       $kvm"
 echo "fdt support       $fdt"
 echo "preadv support    $preadv"
 
@@ -1421,8 +1490,8 @@ echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
 echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
 echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
 echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
-echo "CFLAGS=$CFLAGS" >> $config_mak
-echo "LDFLAGS=$LDFLAGS" >> $config_mak
+echo "CFLAGS=$CFLAGS $EXTRA_CFLAGS" >> $config_mak
+echo "LDFLAGS=$LDFLAGS $EXTRA_LDFLAGS" >> $config_mak
 echo "EXESUF=$EXESUF" >> $config_mak
 echo "PTHREADLIBS=$PTHREADLIBS" >> $config_mak
 echo "CLOCKLIBS=$CLOCKLIBS" >> $config_mak
@@ -1520,7 +1589,7 @@ if test "$bigendian" = "yes" ; then
 fi
 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
 if test "$mingw32" = "yes" ; then
-  echo "CONFIG_WIN32=yes" >> $config_mak
+  echo "CONFIG_WIN32=y" >> $config_mak
   echo "#define CONFIG_WIN32 1" >> $config_h
 else
   cat > $TMPC << EOF
@@ -1546,17 +1615,17 @@ if [ "$openbsd" = "yes" ] ; then
 fi
 
 if test "$darwin" = "yes" ; then
-  echo "CONFIG_DARWIN=yes" >> $config_mak
+  echo "CONFIG_DARWIN=y" >> $config_mak
   echo "#define CONFIG_DARWIN 1" >> $config_h
 fi
 
 if test "$aix" = "yes" ; then
-  echo "CONFIG_AIX=yes" >> $config_mak
+  echo "CONFIG_AIX=y" >> $config_mak
   echo "#define CONFIG_AIX 1" >> $config_h
 fi
 
 if test "$solaris" = "yes" ; then
-  echo "CONFIG_SOLARIS=yes" >> $config_mak
+  echo "CONFIG_SOLARIS=y" >> $config_mak
   echo "#define HOST_SOLARIS $solarisrev" >> $config_h
   if test "$needs_libsunmath" = "yes" ; then
     echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
@@ -1564,7 +1633,7 @@ if test "$solaris" = "yes" ; then
   fi
 fi
 if test -n "$sparc_cpu"; then
-  echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
+  echo "CONFIG__sparc_${sparc_cpu}__=y" >> $config_mak
   echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
 fi
 if test "$gprof" = "yes" ; then
@@ -1572,31 +1641,31 @@ if test "$gprof" = "yes" ; then
   echo "#define HAVE_GPROF 1" >> $config_h
 fi
 if test "$static" = "yes" ; then
-  echo "CONFIG_STATIC=yes" >> $config_mak
+  echo "CONFIG_STATIC=y" >> $config_mak
   echo "#define CONFIG_STATIC 1" >> $config_h
 fi
 if test $profiler = "yes" ; then
   echo "#define CONFIG_PROFILER 1" >> $config_h
 fi
 if test "$slirp" = "yes" ; then
-  echo "CONFIG_SLIRP=yes" >> $config_mak
+  echo "CONFIG_SLIRP=y" >> $config_mak
   echo "#define CONFIG_SLIRP 1" >> $config_h
 fi
 if test "$vde" = "yes" ; then
-  echo "CONFIG_VDE=yes" >> $config_mak
+  echo "CONFIG_VDE=y" >> $config_mak
   echo "#define CONFIG_VDE 1" >> $config_h
   echo "VDE_LIBS=-lvdeplug" >> $config_mak
 fi
 for card in $audio_card_list; do
     def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
-    echo "$def=yes" >> $config_mak
+    echo "$def=y" >> $config_mak
     echo "#define $def 1" >> $config_h
 done
 echo "#define AUDIO_DRIVERS \\" >> $config_h
 for drv in $audio_drv_list; do
     echo "    &${drv}_audio_driver, \\" >>$config_h
     def=CONFIG_`echo $drv | tr '[:lower:]' '[:upper:]'`
-    echo "$def=yes" >> $config_mak
+    echo "$def=y" >> $config_mak
     if test "$drv" = "fmod"; then
         echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
         echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
@@ -1606,17 +1675,17 @@ for drv in $audio_drv_list; do
 done
 echo "" >>$config_h
 if test "$mixemu" = "yes" ; then
-  echo "CONFIG_MIXEMU=yes" >> $config_mak
+  echo "CONFIG_MIXEMU=y" >> $config_mak
   echo "#define CONFIG_MIXEMU 1" >> $config_h
 fi
 if test "$vnc_tls" = "yes" ; then
-  echo "CONFIG_VNC_TLS=yes" >> $config_mak
+  echo "CONFIG_VNC_TLS=y" >> $config_mak
   echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
   echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
   echo "#define CONFIG_VNC_TLS 1" >> $config_h
 fi
 if test "$vnc_sasl" = "yes" ; then
-  echo "CONFIG_VNC_SASL=yes" >> $config_mak
+  echo "CONFIG_VNC_SASL=y" >> $config_mak
   echo "CONFIG_VNC_SASL_CFLAGS=$vnc_sasl_cflags" >> $config_mak
   echo "CONFIG_VNC_SASL_LIBS=$vnc_sasl_libs" >> $config_mak
   echo "#define CONFIG_VNC_SASL 1" >> $config_h
@@ -1645,7 +1714,7 @@ else
 fi
 if test "$sdl1" = "yes" ; then
   echo "#define CONFIG_SDL 1" >> $config_h
-  echo "CONFIG_SDL=yes" >> $config_mak
+  echo "CONFIG_SDL=y" >> $config_mak
   if test "$target_softmmu" = "no" -o "$static" = "yes"; then
     echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
   elif test "$sdl_x11" = "yes" ; then
@@ -1661,31 +1730,44 @@ if test "$sdl1" = "yes" ; then
 fi
 if test "$cocoa" = "yes" ; then
   echo "#define CONFIG_COCOA 1" >> $config_h
-  echo "CONFIG_COCOA=yes" >> $config_mak
+  echo "CONFIG_COCOA=y" >> $config_mak
 fi
 if test "$curses" = "yes" ; then
   echo "#define CONFIG_CURSES 1" >> $config_h
-  echo "CONFIG_CURSES=yes" >> $config_mak
-  echo "CURSES_LIBS=-lcurses" >> $config_mak
+  echo "CONFIG_CURSES=y" >> $config_mak
+  if test "$ncurses" = "yes" ; then
+    echo "CURSES_LIBS=-lncurses" >> $config_mak
+  else
+    echo "CURSES_LIBS=-lcurses" >> $config_mak
+  fi
 fi
 if test "$atfile" = "yes" ; then
   echo "#define CONFIG_ATFILE 1" >> $config_h
 fi
+if test "$utimens" = "yes" ; then
+  echo "#define CONFIG_UTIMENSAT 1" >> $config_h
+fi
+if test "$pipe2" = "yes" ; then
+  echo "#define CONFIG_PIPE2 1" >> $config_h
+fi
+if test "$splice" = "yes" ; then
+  echo "#define CONFIG_SPLICE 1" >> $config_h
+fi
 if test "$inotify" = "yes" ; then
   echo "#define CONFIG_INOTIFY 1" >> $config_h
 fi
 if test "$curl" = "yes" ; then
-  echo "CONFIG_CURL=yes" >> $config_mak
+  echo "CONFIG_CURL=y" >> $config_mak
   echo "CURL_LIBS=$curl_libs" >> $config_mak
   echo "#define CONFIG_CURL 1" >> $config_h
 fi
 if test "$brlapi" = "yes" ; then
-  echo "CONFIG_BRLAPI=yes" >> $config_mak
+  echo "CONFIG_BRLAPI=y" >> $config_mak
   echo "#define CONFIG_BRLAPI 1" >> $config_h
   echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak
 fi
 if test "$bluez" = "yes" ; then
-  echo "CONFIG_BLUEZ=yes" >> $config_mak
+  echo "CONFIG_BLUEZ=y" >> $config_mak
   echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_mak
   echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_mak
   echo "#define CONFIG_BLUEZ 1" >> $config_h
@@ -1695,10 +1777,10 @@ if test "$xen" = "yes" ; then
 fi
 if test "$aio" = "yes" ; then
   echo "#define CONFIG_AIO 1" >> $config_h
-  echo "CONFIG_AIO=yes" >> $config_mak
+  echo "CONFIG_AIO=y" >> $config_mak
 fi
 if test "$io_thread" = "yes" ; then
-  echo "CONFIG_IOTHREAD=yes" >> $config_mak
+  echo "CONFIG_IOTHREAD=y" >> $config_mak
   echo "#define CONFIG_IOTHREAD 1" >> $config_h
 fi
 if test "$blobs" = "yes" ; then
@@ -1740,7 +1822,11 @@ esac
 # Determine what linker flags to use to force archive inclusion
 check_linker_flags()
 {
-    $cc $ARCH_CFLAGS -o $TMPE $OS_CFLAGS $TMPC -Wl,$1 -Wl,$2 >/dev/null 2>/dev/null
+    w2=
+    if test "$2" ; then
+       w2=-Wl,$2
+    fi
+    $cc $ARCH_CFLAGS -o $TMPE $OS_CFLAGS $TMPC -Wl,$1 ${w2} >/dev/null 2>/dev/null
 }
 
 cat > $TMPC << EOF
@@ -1754,6 +1840,10 @@ elif check_linker_flags -z,allextract -z,defaultextract ; then
     # Solaris ld
     echo "ARLIBS_BEGIN=-Wl,-z,allextract" >> $config_mak
     echo "ARLIBS_END=-Wl,-z,defaultextract" >> $config_mak
+elif check_linker_flags -all_load ; then
+    # Mac OS X
+    echo "ARLIBS_BEGIN=-all_load" >> $config_mak
+    echo "ARLIBS_END=" >> $config_mak
 else
     echo "Error: your linker does not support --whole-archive or -z."
     echo "Please report to qemu-devel@nongnu.org"
@@ -1762,7 +1852,7 @@ fi
 
 if test "$xen" = "yes" ;
     then
-    echo "CONFIG_XEN=yes" >> $config_mak
+    echo "CONFIG_XEN=y" >> $config_mak
 fi
 
 tools=
@@ -1774,6 +1864,12 @@ if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
 fi
 echo "TOOLS=$tools" >> $config_mak
 
+roms=
+if test "$cpu" = "i386" -o "$cpu" = "x86_64" ; then
+  roms="pc-bios/optionrom"
+fi
+echo "ROMS=$roms" >> $config_mak
+
 if test -f ${config_h}~ ; then
   if cmp -s $config_h ${config_h}~ ; then
     mv ${config_h}~ $config_h
@@ -1788,40 +1884,40 @@ for target in $target_list; do
 target_dir="$target"
 config_mak=$target_dir/config.mak
 config_h=$target_dir/config.h
-target_cpu=`echo $target | cut -d '-' -f 1`
+target_arch2=`echo $target | cut -d '-' -f 1`
 target_bigendian="no"
-[ "$target_cpu" = "armeb" ] && target_bigendian=yes
-[ "$target_cpu" = "m68k" ] && target_bigendian=yes
-[ "$target_cpu" = "microblaze" ] && target_bigendian=yes
-[ "$target_cpu" = "mips" ] && target_bigendian=yes
-[ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
-[ "$target_cpu" = "mips64" ] && target_bigendian=yes
-[ "$target_cpu" = "ppc" ] && target_bigendian=yes
-[ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
-[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
-[ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
-[ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
-[ "$target_cpu" = "sparc" ] && target_bigendian=yes
-[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
-[ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
+[ "$target_arch2" = "armeb" ] && target_bigendian=yes
+[ "$target_arch2" = "m68k" ] && target_bigendian=yes
+[ "$target_arch2" = "microblaze" ] && target_bigendian=yes
+[ "$target_arch2" = "mips" ] && target_bigendian=yes
+[ "$target_arch2" = "mipsn32" ] && target_bigendian=yes
+[ "$target_arch2" = "mips64" ] && target_bigendian=yes
+[ "$target_arch2" = "ppc" ] && target_bigendian=yes
+[ "$target_arch2" = "ppcemb" ] && target_bigendian=yes
+[ "$target_arch2" = "ppc64" ] && target_bigendian=yes
+[ "$target_arch2" = "ppc64abi32" ] && target_bigendian=yes
+[ "$target_arch2" = "sh4eb" ] && target_bigendian=yes
+[ "$target_arch2" = "sparc" ] && target_bigendian=yes
+[ "$target_arch2" = "sparc64" ] && target_bigendian=yes
+[ "$target_arch2" = "sparc32plus" ] && target_bigendian=yes
 target_softmmu="no"
 target_user_only="no"
 target_linux_user="no"
 target_darwin_user="no"
 target_bsd_user="no"
 case "$target" in
-  ${target_cpu}-softmmu)
+  ${target_arch2}-softmmu)
     target_softmmu="yes"
     ;;
-  ${target_cpu}-linux-user)
+  ${target_arch2}-linux-user)
     target_user_only="yes"
     target_linux_user="yes"
     ;;
-  ${target_cpu}-darwin-user)
+  ${target_arch2}-darwin-user)
     target_user_only="yes"
     target_darwin_user="yes"
     ;;
-  ${target_cpu}-bsd-user)
+  ${target_arch2}-bsd-user)
     target_user_only="yes"
     target_bsd_user="yes"
     ;;
@@ -1859,40 +1955,41 @@ echo "#include \"../config-host.h\"" >> $config_h
 bflt="no"
 elfload32="no"
 target_nptl="no"
-interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
+interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
 gdb_xml_files=""
+target_kvm="$kvm"
 
 # Make sure the target and host cpus are compatible
-if test "$kvm" = "yes" -a ! \( "$target_cpu" = "$cpu" -o \
-  \( "$target_cpu" = "ppcemb" -a "$cpu" = "ppc" \) -o \
-  \( "$target_cpu" = "x86_64" -a "$cpu" = "i386"   \) -o \
-  \( "$target_cpu" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
-  kvm="no"
+if test ! \( "$target_arch2" = "$cpu" -o \
+  \( "$target_arch2" = "ppcemb" -a "$cpu" = "ppc" \) -o \
+  \( "$target_arch2" = "x86_64" -a "$cpu" = "i386"   \) -o \
+  \( "$target_arch2" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
+  target_kvm="no"
 fi
 # Disable KVM for linux-user
-if test "$kvm" = "yes" -a "$target_softmmu" = "no" ; then
-  kvm="no"
+if test "$target_softmmu" = "no" ; then
+  target_kvm="no"
 fi
 
-case "$target_cpu" in
+case "$target_arch2" in
   i386)
     echo "TARGET_ARCH=i386" >> $config_mak
     echo "#define TARGET_ARCH \"i386\"" >> $config_h
     echo "#define TARGET_I386 1" >> $config_h
     if test $kqemu = "yes" -a "$target_softmmu" = "yes"
     then
-      echo "CONFIG_KQEMU=yes" >> $config_mak
+      echo "CONFIG_KQEMU=y" >> $config_mak
       echo "#define CONFIG_KQEMU 1" >> $config_h
     fi
-    if test "$kvm" = "yes" ; then
-      echo "CONFIG_KVM=yes" >> $config_mak
+    if test "$target_kvm" = "yes" ; then
+      echo "CONFIG_KVM=y" >> $config_mak
       echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
       echo "#define CONFIG_KVM 1" >> $config_h
     fi
     if test "$xen" = "yes" -a "$target_softmmu" = "yes";
     then
-      echo "CONFIG_XEN=yes" >> $config_mak
+      echo "CONFIG_XEN=y" >> $config_mak
       echo "#define CONFIG_XEN 1" >> $config_h
     fi
     target_phys_bits=32
@@ -1904,17 +2001,17 @@ case "$target_cpu" in
     echo "#define TARGET_X86_64 1" >> $config_h
     if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
     then
-      echo "CONFIG_KQEMU=yes" >> $config_mak
+      echo "CONFIG_KQEMU=y" >> $config_mak
       echo "#define CONFIG_KQEMU 1" >> $config_h
     fi
-    if test "$kvm" = "yes" ; then
-      echo "CONFIG_KVM=yes" >> $config_mak
+    if test "$target_kvm" = "yes" ; then
+      echo "CONFIG_KVM=y" >> $config_mak
       echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
       echo "#define CONFIG_KVM 1" >> $config_h
     fi
     if test "$xen" = "yes" -a "$target_softmmu" = "yes"
     then
-      echo "CONFIG_XEN=yes" >> $config_mak
+      echo "CONFIG_XEN=y" >> $config_mak
       echo "#define CONFIG_XEN 1" >> $config_h
     fi
     target_phys_bits=64
@@ -1962,6 +2059,7 @@ case "$target_cpu" in
     echo "#define TARGET_ARCH \"mips\"" >> $config_h
     echo "#define TARGET_MIPS 1" >> $config_h
     echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
+    target_nptl="yes"
     target_phys_bits=64
   ;;
   mipsn32|mipsn32el)
@@ -1992,8 +2090,8 @@ case "$target_cpu" in
     echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
     echo "#define TARGET_PPC 1" >> $config_h
     echo "#define TARGET_PPCEMB 1" >> $config_h
-    if test "$kvm" = "yes" ; then
-      echo "CONFIG_KVM=yes" >> $config_mak
+    if test "$target_kvm" = "yes" ; then
+      echo "CONFIG_KVM=y" >> $config_mak
       echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
       echo "#define CONFIG_KVM 1" >> $config_h
     fi
@@ -2068,19 +2166,19 @@ if test "$target_bigendian" = "yes" ; then
   echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
 fi
 if test "$target_softmmu" = "yes" ; then
-  echo "CONFIG_SOFTMMU=yes" >> $config_mak
+  echo "CONFIG_SOFTMMU=y" >> $config_mak
   echo "#define CONFIG_SOFTMMU 1" >> $config_h
 fi
 if test "$target_user_only" = "yes" ; then
-  echo "CONFIG_USER_ONLY=yes" >> $config_mak
+  echo "CONFIG_USER_ONLY=y" >> $config_mak
   echo "#define CONFIG_USER_ONLY 1" >> $config_h
 fi
 if test "$target_linux_user" = "yes" ; then
-  echo "CONFIG_LINUX_USER=yes" >> $config_mak
+  echo "CONFIG_LINUX_USER=y" >> $config_mak
   echo "#define CONFIG_LINUX_USER 1" >> $config_h
 fi
 if test "$target_darwin_user" = "yes" ; then
-  echo "CONFIG_DARWIN_USER=yes" >> $config_mak
+  echo "CONFIG_DARWIN_USER=y" >> $config_mak
   echo "#define CONFIG_DARWIN_USER 1" >> $config_h
 fi
 list=""
@@ -2091,28 +2189,28 @@ if test ! -z "$gdb_xml_files" ; then
 fi
 echo "TARGET_XML_FILES=$list" >> $config_mak
 
-if test "$target_cpu" = "arm" \
-     -o "$target_cpu" = "armeb" \
-     -o "$target_cpu" = "m68k" \
-     -o "$target_cpu" = "microblaze" \
-     -o "$target_cpu" = "mips" \
-     -o "$target_cpu" = "mipsel" \
-     -o "$target_cpu" = "mipsn32" \
-     -o "$target_cpu" = "mipsn32el" \
-     -o "$target_cpu" = "mips64" \
-     -o "$target_cpu" = "mips64el" \
-     -o "$target_cpu" = "ppc" \
-     -o "$target_cpu" = "ppc64" \
-     -o "$target_cpu" = "ppc64abi32" \
-     -o "$target_cpu" = "ppcemb" \
-     -o "$target_cpu" = "sparc" \
-     -o "$target_cpu" = "sparc64" \
-     -o "$target_cpu" = "sparc32plus"; then
-  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
+if test "$target_arch2" = "arm" \
+     -o "$target_arch2" = "armeb" \
+     -o "$target_arch2" = "m68k" \
+     -o "$target_arch2" = "microblaze" \
+     -o "$target_arch2" = "mips" \
+     -o "$target_arch2" = "mipsel" \
+     -o "$target_arch2" = "mipsn32" \
+     -o "$target_arch2" = "mipsn32el" \
+     -o "$target_arch2" = "mips64" \
+     -o "$target_arch2" = "mips64el" \
+     -o "$target_arch2" = "ppc" \
+     -o "$target_arch2" = "ppc64" \
+     -o "$target_arch2" = "ppc64abi32" \
+     -o "$target_arch2" = "ppcemb" \
+     -o "$target_arch2" = "sparc" \
+     -o "$target_arch2" = "sparc64" \
+     -o "$target_arch2" = "sparc32plus"; then
+  echo "CONFIG_SOFTFLOAT=y" >> $config_mak
   echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
 fi
 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
-  echo "TARGET_HAS_BFLT=yes" >> $config_mak
+  echo "TARGET_HAS_BFLT=y" >> $config_mak
   echo "#define TARGET_HAS_BFLT 1" >> $config_h
 fi
 if test "$target_user_only" = "yes" \
@@ -2121,11 +2219,11 @@ if test "$target_user_only" = "yes" \
 fi
 # 32 bit ELF loader in addition to native 64 bit loader?
 if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
-  echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
+  echo "TARGET_HAS_ELFLOAD32=y" >> $config_mak
   echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
 fi
 if test "$target_bsd_user" = "yes" ; then
-  echo "CONFIG_BSD_USER=yes" >> $config_mak
+  echo "CONFIG_BSD_USER=y" >> $config_mak
   echo "#define CONFIG_BSD_USER 1" >> $config_h
 fi
 
@@ -2135,10 +2233,11 @@ done # for target in $targets
 
 # build tree in object directory if source path is different from current one
 if test "$source_path_used" = "yes" ; then
-    DIRS="tests tests/cris slirp audio block"
+    DIRS="tests tests/cris slirp audio block pc-bios/optionrom"
     FILES="Makefile tests/Makefile"
     FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
     FILES="$FILES tests/test-mmap.c"
+    FILES="$FILES pc-bios/optionrom/Makefile"
     for dir in $DIRS ; do
             mkdir -p $dir
     done