Diff for /qemu/configure between versions 1.1.1.11 and 1.1.1.17

version 1.1.1.11, 2018/04/24 17:34:29 version 1.1.1.17, 2018/04/24 19:17:17
Line 15  TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$- Line 15  TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-
 TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"  TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
 TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.exe"  TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.exe"
   
 trap "rm -f $TMPC $TMPO $TMPE ; exit" 0 2 3 15  # NB: do not call "exit" in the trap handler; this is buggy with some shells;
   # see <1285349658-3122-1-git-send-email-loic.minier@linaro.org>
   trap "rm -f $TMPC $TMPO $TMPE" EXIT INT QUIT TERM
   rm -f config.log
   
 compile_object() {  compile_object() {
   $cc $QEMU_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null    echo $cc $QEMU_CFLAGS -c -o $TMPO $TMPC >> config.log
     $cc $QEMU_CFLAGS -c -o $TMPO $TMPC >> config.log 2>&1
 }  }
   
 compile_prog() {  compile_prog() {
   local_cflags="$1"    local_cflags="$1"
   local_ldflags="$2"    local_ldflags="$2"
   $cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags > /dev/null 2> /dev/null    echo $cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags >> config.log
     $cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags >> config.log 2>&1
   }
   
   # symbolically link $1 to $2.  Portable version of "ln -sf".
   symlink() {
     rm -f $2
     ln -s $1 $2
   }
   
   # check whether a command is available to this shell (may be either an
   # executable or a builtin)
   has() {
       type "$1" >/dev/null 2>&1
   }
   
   # search for an executable in PATH
   path_of() {
       local_command="$1"
       local_ifs="$IFS"
       local_dir=""
   
       # pathname has a dir component?
       if [ "${local_command#*/}" != "$local_command" ]; then
           if [ -x "$local_command" ] && [ ! -d "$local_command" ]; then
               echo "$local_command"
               return 0
           fi
       fi
       if [ -z "$local_command" ]; then
           return 1
       fi
   
       IFS=:
       for local_dir in $PATH; do
           if [ -x "$local_dir/$local_command" ] && [ ! -d "$local_dir/$local_command" ]; then
               echo "$local_dir/$local_command"
               IFS="${local_ifs:-$(printf ' \t\n')}"
               return 0
           fi
       done
       # not found
       IFS="${local_ifs:-$(printf ' \t\n')}"
       return 1
 }  }
   
 # default parameters  # default parameters
   source_path=`dirname "$0"`
 cpu=""  cpu=""
 prefix=""  
 interp_prefix="/usr/gnemul/qemu-%M"  interp_prefix="/usr/gnemul/qemu-%M"
 static="no"  static="no"
 sparc_cpu=""  sparc_cpu=""
 cross_prefix=""  cross_prefix=""
 cc="gcc"  
 audio_drv_list=""  audio_drv_list=""
 audio_card_list="ac97 es1370 sb16"  audio_card_list="ac97 es1370 sb16 hda"
 audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus"  audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus hda"
 block_drv_whitelist=""  block_drv_whitelist=""
 host_cc="gcc"  host_cc="gcc"
 ar="ar"  
 make="make"  
 install="install"  
 objcopy="objcopy"  
 ld="ld"  
 helper_cflags=""  helper_cflags=""
 libs_softmmu=""  libs_softmmu=""
 libs_tools=""  libs_tools=""
 audio_pt_int=""  audio_pt_int=""
 audio_win_int=""  audio_win_int=""
   cc_i386=i386-pc-linux-gnu-gcc
   libs_qga=""
   
   target_list=""
   
   # Default value for a variable defining feature "foo".
   #  * foo="no"  feature will only be used if --enable-foo arg is given
   #  * foo=""    feature will be searched for, and if found, will be used
   #              unless --disable-foo is given
   #  * foo="yes" this value will only be set by --enable-foo flag.
   #              feature will searched for,
   #              if not found, configure exits with error
   #
   # Always add --enable-foo and --disable-foo command line args.
   # Distributions want to ensure that several features are compiled in, and it
   # is impossible without a --enable-foo that exits if a feature is not found.
   
   bluez=""
   brlapi=""
   curl=""
   curses=""
   docs=""
   fdt=""
   nptl=""
   sdl=""
   vnc="yes"
   sparse="no"
   uuid=""
   vde=""
   vnc_tls=""
   vnc_sasl=""
   vnc_jpeg=""
   vnc_png=""
   vnc_thread="no"
   xen=""
   xen_ctrl_version=""
   linux_aio=""
   attr=""
   libattr=""
   xfs=""
   
   vhost_net="no"
   kvm="no"
   gprof="no"
   debug_tcg="no"
   debug_mon="no"
   debug="no"
   strip_opt="yes"
   tcg_interpreter="no"
   bigendian="no"
   mingw32="no"
   EXESUF=""
   prefix="/usr/local"
   mandir="\${prefix}/share/man"
   datadir="\${prefix}/share/qemu"
   docdir="\${prefix}/share/doc/qemu"
   bindir="\${prefix}/bin"
   libdir="\${prefix}/lib"
   includedir="\${prefix}/include"
   sysconfdir="\${prefix}/etc"
   confsuffix="/qemu"
   slirp="yes"
   fmod_lib=""
   fmod_inc=""
   oss_lib=""
   bsd="no"
   linux="no"
   solaris="no"
   profiler="no"
   cocoa="no"
   softmmu="yes"
   linux_user="no"
   darwin_user="no"
   bsd_user="no"
   guest_base=""
   uname_release=""
   mixemu="no"
   aix="no"
   blobs="yes"
   pkgversion=""
   check_utests=""
   pie=""
   zero_malloc=""
   trace_backend="nop"
   trace_file="trace"
   spice=""
   rbd=""
   smartcard=""
   smartcard_nss=""
   usb_redir=""
   opengl=""
   zlib="yes"
   guest_agent="yes"
   libiscsi=""
   
 # parse CC options first  # parse CC options first
 for opt do  for opt do
Line 57  for opt do Line 192  for opt do
   case "$opt" in    case "$opt" in
   --cross-prefix=*) cross_prefix="$optarg"    --cross-prefix=*) cross_prefix="$optarg"
   ;;    ;;
   --cc=*) cc="$optarg"    --cc=*) CC="$optarg"
     ;;
     --source-path=*) source_path="$optarg"
   ;;    ;;
   --cpu=*) cpu="$optarg"    --cpu=*) cpu="$optarg"
   ;;    ;;
Line 86  done Line 223  done
 # Using uname is really, really broken.  Once we have the right set of checks  # Using uname is really, really broken.  Once we have the right set of checks
 # we can eliminate it's usage altogether  # we can eliminate it's usage altogether
   
 cc="${cross_prefix}${cc}"  cc="${CC-${cross_prefix}gcc}"
 ar="${cross_prefix}${ar}"  ar="${AR-${cross_prefix}ar}"
 objcopy="${cross_prefix}${objcopy}"  objcopy="${OBJCOPY-${cross_prefix}objcopy}"
 ld="${cross_prefix}${ld}"  ld="${LD-${cross_prefix}ld}"
   libtool="${LIBTOOL-${cross_prefix}libtool}"
   strip="${STRIP-${cross_prefix}strip}"
   windres="${WINDRES-${cross_prefix}windres}"
   pkg_config="${PKG_CONFIG-${cross_prefix}pkg-config}"
   sdl_config="${SDL_CONFIG-${cross_prefix}sdl-config}"
   
 # default flags for all hosts  # default flags for all hosts
 QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS"  QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS"
 CFLAGS="-g $CFLAGS"  CFLAGS="-g $CFLAGS"
 QEMU_CFLAGS="-Wall -Wundef -Wendif-labels -Wwrite-strings -Wmissing-prototypes $QEMU_CFLAGS"  QEMU_CFLAGS="-Wall -Wundef -Wwrite-strings -Wmissing-prototypes $QEMU_CFLAGS"
 QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS"  QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS"
 QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS"  QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS"
 QEMU_CFLAGS="-U_FORTIFY_SOURCE $QEMU_CFLAGS"  QEMU_CFLAGS="-D_FORTIFY_SOURCE=2 $QEMU_CFLAGS"
 QEMU_CFLAGS="-I. -I\$(SRC_PATH) $QEMU_CFLAGS"  QEMU_INCLUDES="-I. -I\$(SRC_PATH) -I\$(SRC_PATH)/fpu"
 LDFLAGS="-g $LDFLAGS"  LDFLAGS="-g $LDFLAGS"
   
 gcc_flags="-Wold-style-declaration -Wold-style-definition"  # make source path absolute
 cat > $TMPC << EOF  source_path=`cd "$source_path"; pwd`
 int main(void) { }  
 EOF  
 for flag in $gcc_flags; do  
     if compile_prog "$QEMU_CFLAGS" "$flag" ; then  
         QEMU_CFLAGS="$flag $QEMU_CFLAGS"  
     fi  
 done  
   
 # check that the C compiler works.  
 cat > $TMPC <<EOF  
 int main(void) {}  
 EOF  
   
 if compile_object ; then  
   : C compiler works ok  
 else  
     echo "ERROR: \"$cc\" either does not exist or does not work"  
     exit 1  
 fi  
   
 check_define() {  check_define() {
 cat > $TMPC <<EOF  cat > $TMPC <<EOF
Line 156  elif check_define _ARCH_PPC ; then Line 279  elif check_define _ARCH_PPC ; then
   fi    fi
 elif check_define __mips__ ; then  elif check_define __mips__ ; then
   cpu="mips"    cpu="mips"
   elif check_define __ia64__ ; then
     cpu="ia64"
   elif check_define __s390__ ; then
     if check_define __s390x__ ; then
       cpu="s390x"
     else
       cpu="s390"
     fi
   elif check_define __ARMEB__ ; then
     cpu="armv4b"
   elif check_define __ARMEL__ ; then
     cpu="armv4l"
   elif check_define __hppa__ ; then
     cpu="hppa"
 else  else
   cpu=`uname -m`    cpu=`uname -m`
 fi  fi
   
 target_list=""  
 case "$cpu" in  case "$cpu" in
   alpha|cris|ia64|m68k|microblaze|ppc|ppc64|sparc64)    alpha|cris|ia64|lm32|m68k|microblaze|ppc|ppc64|sparc64|unicore32)
     cpu="$cpu"      cpu="$cpu"
   ;;    ;;
   i386|i486|i586|i686|i86pc|BePC)    i386|i486|i586|i686|i86pc|BePC)
Line 177  case "$cpu" in Line 313  case "$cpu" in
   armv*l)    armv*l)
     cpu="armv4l"      cpu="armv4l"
   ;;    ;;
   parisc|parisc64)    hppa|parisc|parisc64)
     cpu="hppa"      cpu="hppa"
   ;;    ;;
   mips*)    mips*)
Line 193  case "$cpu" in Line 329  case "$cpu" in
     cpu="sparc"      cpu="sparc"
   ;;    ;;
   *)    *)
     cpu="unknown"      echo "Unsupported CPU = $cpu"
       exit 1
   ;;    ;;
 esac  esac
   
 # Default value for a variable defining feature "foo".  
 #  * foo="no"  feature will only be used if --enable-foo arg is given  
 #  * foo=""    feature will be searched for, and if found, will be used  
 #              unless --disable-foo is given  
 #  * foo="yes" this value will only be set by --enable-foo flag.  
 #              feature will searched for,  
 #              if not found, configure exits with error  
 #  
 # Always add --enable-foo and --disable-foo command line args.  
 # Distributions want to ensure that several features are compiled in, and it  
 # is impossible without a --enable-foo that exits if a feature is not found.  
   
 bluez=""  
 brlapi=""  
 curl=""  
 curses=""  
 docs=""  
 fdt=""  
 kvm=""  
 nptl=""  
 sdl=""  
 sparse="no"  
 uuid=""  
 vde=""  
 vnc_tls=""  
 vnc_sasl=""  
 xen=""  
 linux_aio=""  
   
 gprof="no"  
 debug_tcg="no"  
 debug="no"  
 strip_opt="yes"  
 bigendian="no"  
 mingw32="no"  
 EXESUF=""  
 slirp="yes"  
 fmod_lib=""  
 fmod_inc=""  
 oss_lib=""  
 bsd="no"  
 linux="no"  
 solaris="no"  
 profiler="no"  
 cocoa="no"  
 softmmu="yes"  
 linux_user="no"  
 darwin_user="no"  
 bsd_user="no"  
 guest_base=""  
 uname_release=""  
 io_thread="no"  
 mixemu="no"  
 kerneldir=""  
 aix="no"  
 blobs="yes"  
 pkgversion=""  
 check_utests="no"  
 user_pie="no"  
 zero_malloc=""  
   
 # OS specific  # OS specific
 if check_define __linux__ ; then  if check_define __linux__ ; then
   targetos="Linux"    targetos="Linux"
Line 267  elif check_define __OpenBSD__ ; then Line 343  elif check_define __OpenBSD__ ; then
   targetos='OpenBSD'    targetos='OpenBSD'
 elif check_define __sun__ ; then  elif check_define __sun__ ; then
   targetos='SunOS'    targetos='SunOS'
   elif check_define __HAIKU__ ; then
     targetos='Haiku'
 else  else
   targetos=`uname -s`    targetos=`uname -s`
 fi  fi
Line 290  GNU/kFreeBSD) Line 368  GNU/kFreeBSD)
 ;;  ;;
 FreeBSD)  FreeBSD)
   bsd="yes"    bsd="yes"
   make="gmake"    make="${MAKE-gmake}"
   audio_drv_list="oss"    audio_drv_list="oss"
   audio_possible_drivers="oss sdl esd pa"    audio_possible_drivers="oss sdl esd pa"
     # needed for kinfo_getvmmap(3) in libutil.h
     LIBS="-lutil $LIBS"
 ;;  ;;
 DragonFly)  DragonFly)
   bsd="yes"    bsd="yes"
   make="gmake"    make="${MAKE-gmake}"
   audio_drv_list="oss"    audio_drv_list="oss"
   audio_possible_drivers="oss sdl esd pa"    audio_possible_drivers="oss sdl esd pa"
 ;;  ;;
 NetBSD)  NetBSD)
   bsd="yes"    bsd="yes"
   make="gmake"    make="${MAKE-gmake}"
   audio_drv_list="oss"    audio_drv_list="oss"
   audio_possible_drivers="oss sdl esd"    audio_possible_drivers="oss sdl esd"
   oss_lib="-lossaudio"    oss_lib="-lossaudio"
 ;;  ;;
 OpenBSD)  OpenBSD)
   bsd="yes"    bsd="yes"
   make="gmake"    make="${MAKE-gmake}"
   audio_drv_list="oss"    audio_drv_list="oss"
   audio_possible_drivers="oss sdl esd"    audio_possible_drivers="oss sdl esd"
   oss_lib="-lossaudio"    oss_lib="-lossaudio"
Line 338  Darwin) Line 418  Darwin)
 ;;  ;;
 SunOS)  SunOS)
   solaris="yes"    solaris="yes"
   make="gmake"    make="${MAKE-gmake}"
   install="ginstall"    install="${INSTALL-ginstall}"
   ld="gld"    ld="gld"
     smbd="${SMBD-/usr/sfw/sbin/smbd}"
   needs_libsunmath="no"    needs_libsunmath="no"
   solarisrev=`uname -r | cut -f2 -d.`    solarisrev=`uname -r | cut -f2 -d.`
   # have to select again, because `uname -m` returns i86pc    # have to select again, because `uname -m` returns i86pc
Line 378  SunOS) Line 459  SunOS)
 ;;  ;;
 AIX)  AIX)
   aix="yes"    aix="yes"
   make="gmake"    make="${MAKE-gmake}"
   ;;
   Haiku)
     haiku="yes"
     QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS $QEMU_CFLAGS"
     LIBS="-lposix_error_mapper -lnetwork $LIBS"
 ;;  ;;
 *)  *)
   audio_drv_list="oss"    audio_drv_list="oss"
Line 386  AIX) Line 472  AIX)
   linux="yes"    linux="yes"
   linux_user="yes"    linux_user="yes"
   usb="linux"    usb="linux"
     kvm="yes"
     vhost_net="yes"
   if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then    if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
     audio_possible_drivers="$audio_possible_drivers fmod"      audio_possible_drivers="$audio_possible_drivers fmod"
   fi    fi
Line 399  if [ "$bsd" = "yes" ] ; then Line 487  if [ "$bsd" = "yes" ] ; then
   bsd_user="yes"    bsd_user="yes"
 fi  fi
   
   : ${make=${MAKE-make}}
   : ${install=${INSTALL-install}}
   : ${python=${PYTHON-python}}
   : ${smbd=${SMBD-/usr/sbin/smbd}}
   
 if test "$mingw32" = "yes" ; then  if test "$mingw32" = "yes" ; then
   EXESUF=".exe"    EXESUF=".exe"
   QEMU_CFLAGS="-DWIN32_LEAN_AND_MEAN -DWINVER=0x501 $QEMU_CFLAGS"    QEMU_CFLAGS="-DWIN32_LEAN_AND_MEAN -DWINVER=0x501 $QEMU_CFLAGS"
   LIBS="-lwinmm -lws2_32 -liphlpapi $LIBS"    # enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later)
 fi    QEMU_CFLAGS="-D__USE_MINGW_ANSI_STDIO=1 $QEMU_CFLAGS"
     LIBS="-lwinmm -lws2_32 -liberty -liphlpapi $LIBS"
 # find source path    prefix="c:/Program Files/Qemu"
 source_path=`dirname "$0"`    mandir="\${prefix}"
 source_path_used="no"    datadir="\${prefix}"
 workdir=`pwd`    docdir="\${prefix}"
 if [ -z "$source_path" ]; then    bindir="\${prefix}"
     source_path=$workdir    sysconfdir="\${prefix}"
 else    confsuffix=""
     source_path=`cd "$source_path"; pwd`    guest_agent="no"
 fi  fi
 [ -f "$workdir/vl.c" ] || source_path_used="yes"  
   
 werror=""  werror=""
   
Line 423  for opt do Line 515  for opt do
   case "$opt" in    case "$opt" in
   --help|-h) show_help=yes    --help|-h) show_help=yes
   ;;    ;;
     --version|-V) exec cat $source_path/VERSION
     ;;
   --prefix=*) prefix="$optarg"    --prefix=*) prefix="$optarg"
   ;;    ;;
   --interp-prefix=*) interp_prefix="$optarg"    --interp-prefix=*) interp_prefix="$optarg"
   ;;    ;;
   --source-path=*) source_path="$optarg"    --source-path=*)
   source_path_used="yes"  
   ;;    ;;
   --cross-prefix=*)    --cross-prefix=*)
   ;;    ;;
Line 440  for opt do Line 533  for opt do
   ;;    ;;
   --install=*) install="$optarg"    --install=*) install="$optarg"
   ;;    ;;
     --python=*) python="$optarg"
     ;;
     --smbd=*) smbd="$optarg"
     ;;
   --extra-cflags=*)    --extra-cflags=*)
   ;;    ;;
   --extra-ldflags=*)    --extra-ldflags=*)
Line 448  for opt do Line 545  for opt do
   ;;    ;;
   --target-list=*) target_list="$optarg"    --target-list=*) target_list="$optarg"
   ;;    ;;
     --enable-trace-backend=*) trace_backend="$optarg"
     ;;
     --with-trace-file=*) trace_file="$optarg"
     ;;
   --enable-gprof) gprof="yes"    --enable-gprof) gprof="yes"
   ;;    ;;
   --static) static="yes"    --static)
       static="yes"
       LDFLAGS="-static $LDFLAGS"
     ;;
     --mandir=*) mandir="$optarg"
     ;;
     --bindir=*) bindir="$optarg"
     ;;
     --libdir=*) libdir="$optarg"
     ;;
     --includedir=*) includedir="$optarg"
     ;;
     --datadir=*) datadir="$optarg"
     ;;
     --docdir=*) docdir="$optarg"
     ;;
     --sysconfdir=*) sysconfdir="$optarg"
     ;;
     --sbindir=*|--libexecdir=*|--sharedstatedir=*|--localstatedir=*|\
     --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
     --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
       # These switches are silently ignored, for compatibility with
       # autoconf-generated configure scripts. This allows QEMU's
       # configure to be used by RPM and similar macros that set
       # lots of directory switches by default.
   ;;    ;;
   --disable-sdl) sdl="no"    --disable-sdl) sdl="no"
   ;;    ;;
   --enable-sdl) sdl="yes"    --enable-sdl) sdl="yes"
   ;;    ;;
     --disable-vnc) vnc="no"
     ;;
     --enable-vnc) vnc="yes"
     ;;
   --fmod-lib=*) fmod_lib="$optarg"    --fmod-lib=*) fmod_lib="$optarg"
   ;;    ;;
   --fmod-inc=*) fmod_inc="$optarg"    --fmod-inc=*) fmod_inc="$optarg"
Line 472  for opt do Line 601  for opt do
   ;;    ;;
   --disable-debug-tcg) debug_tcg="no"    --disable-debug-tcg) debug_tcg="no"
   ;;    ;;
     --enable-debug-mon) debug_mon="yes"
     ;;
     --disable-debug-mon) debug_mon="no"
     ;;
   --enable-debug)    --enable-debug)
       # Enable debugging options that aren't excessively noisy        # Enable debugging options that aren't excessively noisy
       debug_tcg="yes"        debug_tcg="yes"
         debug_mon="yes"
       debug="yes"        debug="yes"
       strip_opt="no"        strip_opt="no"
   ;;    ;;
Line 492  for opt do Line 626  for opt do
   ;;    ;;
   --enable-vnc-sasl) vnc_sasl="yes"    --enable-vnc-sasl) vnc_sasl="yes"
   ;;    ;;
     --disable-vnc-jpeg) vnc_jpeg="no"
     ;;
     --enable-vnc-jpeg) vnc_jpeg="yes"
     ;;
     --disable-vnc-png) vnc_png="no"
     ;;
     --enable-vnc-png) vnc_png="yes"
     ;;
     --disable-vnc-thread) vnc_thread="no"
     ;;
     --enable-vnc-thread) vnc_thread="yes"
     ;;
   --disable-slirp) slirp="no"    --disable-slirp) slirp="no"
   ;;    ;;
   --disable-uuid) uuid="no"    --disable-uuid) uuid="no"
Line 518  for opt do Line 664  for opt do
   ;;    ;;
   --enable-kvm) kvm="yes"    --enable-kvm) kvm="yes"
   ;;    ;;
     --disable-tcg-interpreter) tcg_interpreter="no"
     ;;
     --enable-tcg-interpreter) tcg_interpreter="yes"
     ;;
     --disable-spice) spice="no"
     ;;
     --enable-spice) spice="yes"
     ;;
     --disable-libiscsi) libiscsi="no"
     ;;
     --enable-libiscsi) libiscsi="yes"
     ;;
   --enable-profiler) profiler="yes"    --enable-profiler) profiler="yes"
   ;;    ;;
   --enable-cocoa)    --enable-cocoa)
Line 551  for opt do Line 709  for opt do
   ;;    ;;
   --disable-guest-base) guest_base="no"    --disable-guest-base) guest_base="no"
   ;;    ;;
   --enable-user-pie) user_pie="yes"    --enable-pie) pie="yes"
   ;;    ;;
   --disable-user-pie) user_pie="no"    --disable-pie) pie="no"
   ;;    ;;
   --enable-uname-release=*) uname_release="$optarg"    --enable-uname-release=*) uname_release="$optarg"
   ;;    ;;
Line 589  for opt do Line 747  for opt do
   ;;    ;;
   --enable-linux-aio) linux_aio="yes"    --enable-linux-aio) linux_aio="yes"
   ;;    ;;
   --enable-io-thread) io_thread="yes"    --disable-attr) attr="no"
   ;;    ;;
   --disable-blobs) blobs="no"    --enable-attr) attr="yes"
   ;;    ;;
   --kerneldir=*) kerneldir="$optarg"    --disable-blobs) blobs="no"
   ;;    ;;
   --with-pkgversion=*) pkgversion=" ($optarg)"    --with-pkgversion=*) pkgversion=" ($optarg)"
   ;;    ;;
Line 601  for opt do Line 759  for opt do
   ;;    ;;
   --enable-docs) docs="yes"    --enable-docs) docs="yes"
   ;;    ;;
     --disable-vhost-net) vhost_net="no"
     ;;
     --enable-vhost-net) vhost_net="yes"
     ;;
     --disable-opengl) opengl="no"
     ;;
     --enable-opengl) opengl="yes"
     ;;
     --disable-rbd) rbd="no"
     ;;
     --enable-rbd) rbd="yes"
     ;;
     --disable-smartcard) smartcard="no"
     ;;
     --enable-smartcard) smartcard="yes"
     ;;
     --disable-smartcard-nss) smartcard_nss="no"
     ;;
     --enable-smartcard-nss) smartcard_nss="yes"
     ;;
     --disable-usb-redir) usb_redir="no"
     ;;
     --enable-usb-redir) usb_redir="yes"
     ;;
     --disable-zlib-test) zlib="no"
     ;;
     --enable-guest-agent) guest_agent="yes"
     ;;
     --disable-guest-agent) guest_agent="no"
     ;;
   *) echo "ERROR: unknown option $opt"; show_help="yes"    *) echo "ERROR: unknown option $opt"; show_help="yes"
   ;;    ;;
   esac    esac
Line 638  case "$cpu" in Line 826  case "$cpu" in
            fi             fi
            ;;             ;;
     s390)      s390)
            QEMU_CFLAGS="-march=z900 $QEMU_CFLAGS"             QEMU_CFLAGS="-m31 -march=z990 $QEMU_CFLAGS"
              LDFLAGS="-m31 $LDFLAGS"
              host_guest_base="yes"
              ;;
       s390x)
              QEMU_CFLAGS="-m64 -march=z990 $QEMU_CFLAGS"
              LDFLAGS="-m64 $LDFLAGS"
              host_guest_base="yes"
            ;;             ;;
     i386)      i386)
            QEMU_CFLAGS="-m32 $QEMU_CFLAGS"             QEMU_CFLAGS="-m32 $QEMU_CFLAGS"
            LDFLAGS="-m32 $LDFLAGS"             LDFLAGS="-m32 $LDFLAGS"
              cc_i386='$(CC) -m32'
            helper_cflags="-fomit-frame-pointer"             helper_cflags="-fomit-frame-pointer"
            host_guest_base="yes"             host_guest_base="yes"
            ;;             ;;
     x86_64)      x86_64)
            QEMU_CFLAGS="-m64 $QEMU_CFLAGS"             QEMU_CFLAGS="-m64 $QEMU_CFLAGS"
            LDFLAGS="-m64 $LDFLAGS"             LDFLAGS="-m64 $LDFLAGS"
              cc_i386='$(CC) -m32'
            host_guest_base="yes"             host_guest_base="yes"
            ;;             ;;
     arm*)      arm*)
Line 657  case "$cpu" in Line 854  case "$cpu" in
     ppc*)      ppc*)
            host_guest_base="yes"             host_guest_base="yes"
            ;;             ;;
       mips*)
              host_guest_base="yes"
              ;;
       ia64*)
              host_guest_base="yes"
              ;;
       hppa*)
              host_guest_base="yes"
              ;;
       unicore32*)
              host_guest_base="yes"
              ;;
 esac  esac
   
 [ -z "$guest_base" ] && guest_base="$host_guest_base"  [ -z "$guest_base" ] && guest_base="$host_guest_base"
   
 if test x"$show_help" = x"yes" ; then  
 cat << EOF  
   
 Usage: configure [options]  default_target_list=""
 Options: [defaults in brackets after descriptions]  
   
 EOF  # these targets are portable
 echo "Standard options:"  if [ "$softmmu" = "yes" ] ; then
 echo "  --help                   print this message"      default_target_list="\
 echo "  --prefix=PREFIX          install in PREFIX [$prefix]"  i386-softmmu \
 echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."  x86_64-softmmu \
 echo "                           use %M for cpu name [$interp_prefix]"  alpha-softmmu \
 echo "  --target-list=LIST       set target list [$target_list]"  arm-softmmu \
 echo ""  cris-softmmu \
 echo "Advanced options (experts only):"  lm32-softmmu \
 echo "  --source-path=PATH       path of source code [$source_path]"  m68k-softmmu \
 echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"  microblaze-softmmu \
 echo "  --cc=CC                  use C compiler CC [$cc]"  microblazeel-softmmu \
 echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."  mips-softmmu \
 echo "  --extra-cflags=CFLAGS    append extra C compiler flags QEMU_CFLAGS"  mipsel-softmmu \
 echo "  --extra-ldflags=LDFLAGS  append extra linker flags LDFLAGS"  mips64-softmmu \
 echo "  --make=MAKE              use specified make [$make]"  mips64el-softmmu \
 echo "  --install=INSTALL        use specified install [$install]"  ppc-softmmu \
 echo "  --static                 enable static build [$static]"  ppcemb-softmmu \
 echo "  --enable-debug-tcg       enable TCG debugging"  ppc64-softmmu \
 echo "  --disable-debug-tcg      disable TCG debugging (default)"  sh4-softmmu \
 echo "  --enable-debug           enable common debug build options"  sh4eb-softmmu \
 echo "  --enable-sparse          enable sparse checker"  sparc-softmmu \
 echo "  --disable-sparse         disable sparse checker (default)"  sparc64-softmmu \
 echo "  --disable-strip          disable stripping binaries"  s390x-softmmu \
 echo "  --disable-werror         disable compilation abort on warning"  xtensa-softmmu \
 echo "  --disable-sdl            disable SDL"  xtensaeb-softmmu \
 echo "  --enable-sdl             enable SDL"  "
 echo "  --enable-cocoa           enable COCOA (Mac OS X only)"  fi
 echo "  --audio-drv-list=LIST    set audio drivers list:"  # the following are Linux specific
 echo "                           Available drivers: $audio_possible_drivers"  if [ "$linux_user" = "yes" ] ; then
 echo "  --audio-card-list=LIST   set list of emulated audio cards [$audio_card_list]"      default_target_list="${default_target_list}\
 echo "                           Available cards: $audio_possible_cards"  i386-linux-user \
 echo "  --block-drv-whitelist=L  set block driver whitelist"  x86_64-linux-user \
 echo "                           (affects only QEMU, not qemu-img)"  alpha-linux-user \
 echo "  --enable-mixemu          enable mixer emulation"  arm-linux-user \
 echo "  --disable-xen            disable xen backend driver support"  armeb-linux-user \
   cris-linux-user \
   m68k-linux-user \
   microblaze-linux-user \
   microblazeel-linux-user \
   mips-linux-user \
   mipsel-linux-user \
   ppc-linux-user \
   ppc64-linux-user \
   ppc64abi32-linux-user \
   sh4-linux-user \
   sh4eb-linux-user \
   sparc-linux-user \
   sparc64-linux-user \
   sparc32plus-linux-user \
   unicore32-linux-user \
   s390x-linux-user \
   "
   fi
   # the following are Darwin specific
   if [ "$darwin_user" = "yes" ] ; then
       default_target_list="$default_target_list i386-darwin-user ppc-darwin-user "
   fi
   # the following are BSD specific
   if [ "$bsd_user" = "yes" ] ; then
       default_target_list="${default_target_list}\
   i386-bsd-user \
   x86_64-bsd-user \
   sparc-bsd-user \
   sparc64-bsd-user \
   "
   fi
   
   if test x"$show_help" = x"yes" ; then
   cat << EOF
   
   Usage: configure [options]
   Options: [defaults in brackets after descriptions]
   
   EOF
   echo "Standard options:"
   echo "  --help                   print this message"
   echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
   echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
   echo "                           use %M for cpu name [$interp_prefix]"
   echo "  --target-list=LIST       set target list (default: build everything)"
   echo "Available targets: $default_target_list" | \
       fold -s -w 53 | sed -e 's/^/                           /'
   echo ""
   echo "Advanced options (experts only):"
   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 code run at"
   echo "                           build time"
   echo "  --extra-cflags=CFLAGS    append extra C compiler flags QEMU_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 "  --python=PYTHON          use specified python [$python]"
   echo "  --smbd=SMBD              use specified smbd [$smbd]"
   echo "  --static                 enable static build [$static]"
   echo "  --mandir=PATH            install man pages in PATH"
   echo "  --datadir=PATH           install firmware in PATH"
   echo "  --docdir=PATH            install documentation in PATH"
   echo "  --bindir=PATH            install binaries in PATH"
   echo "  --sysconfdir=PATH        install config in PATH/qemu"
   echo "  --enable-debug-tcg       enable TCG debugging"
   echo "  --disable-debug-tcg      disable TCG debugging (default)"
   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"
   echo "  --disable-werror         disable compilation abort on warning"
   echo "  --disable-sdl            disable SDL"
   echo "  --enable-sdl             enable SDL"
   echo "  --disable-vnc            disable VNC"
   echo "  --enable-vnc             enable VNC"
   echo "  --enable-cocoa           enable COCOA (Mac OS X only)"
   echo "  --audio-drv-list=LIST    set audio drivers list:"
   echo "                           Available drivers: $audio_possible_drivers"
   echo "  --audio-card-list=LIST   set list of emulated audio cards [$audio_card_list]"
   echo "                           Available cards: $audio_possible_cards"
   echo "  --block-drv-whitelist=L  set block driver whitelist"
   echo "                           (affects only QEMU, not qemu-img)"
   echo "  --enable-mixemu          enable mixer emulation"
   echo "  --disable-xen            disable xen backend driver support"
 echo "  --enable-xen             enable xen backend driver support"  echo "  --enable-xen             enable xen backend driver support"
 echo "  --disable-brlapi         disable BrlAPI"  echo "  --disable-brlapi         disable BrlAPI"
 echo "  --enable-brlapi          enable BrlAPI"  echo "  --enable-brlapi          enable BrlAPI"
Line 710  echo "  --disable-vnc-tls        disable Line 1002  echo "  --disable-vnc-tls        disable
 echo "  --enable-vnc-tls         enable TLS encryption for VNC server"  echo "  --enable-vnc-tls         enable TLS encryption for VNC server"
 echo "  --disable-vnc-sasl       disable SASL encryption for VNC server"  echo "  --disable-vnc-sasl       disable SASL encryption for VNC server"
 echo "  --enable-vnc-sasl        enable SASL encryption for VNC server"  echo "  --enable-vnc-sasl        enable SASL encryption for VNC server"
   echo "  --disable-vnc-jpeg       disable JPEG lossy compression for VNC server"
   echo "  --enable-vnc-jpeg        enable JPEG lossy compression for VNC server"
   echo "  --disable-vnc-png        disable PNG compression for VNC server (default)"
   echo "  --enable-vnc-png         enable PNG compression for VNC server"
   echo "  --disable-vnc-thread     disable threaded VNC server"
   echo "  --enable-vnc-thread      enable threaded VNC server"
 echo "  --disable-curses         disable curses output"  echo "  --disable-curses         disable curses output"
 echo "  --enable-curses          enable curses output"  echo "  --enable-curses          enable curses output"
 echo "  --disable-curl           disable curl connectivity"  echo "  --disable-curl           disable curl connectivity"
Line 720  echo "  --disable-check-utests   disable Line 1018  echo "  --disable-check-utests   disable
 echo "  --enable-check-utests    enable check unit-tests"  echo "  --enable-check-utests    enable check unit-tests"
 echo "  --disable-bluez          disable bluez stack connectivity"  echo "  --disable-bluez          disable bluez stack connectivity"
 echo "  --enable-bluez           enable bluez stack connectivity"  echo "  --enable-bluez           enable bluez stack connectivity"
   echo "  --disable-slirp          disable SLIRP userspace network connectivity"
 echo "  --disable-kvm            disable KVM acceleration support"  echo "  --disable-kvm            disable KVM acceleration support"
 echo "  --enable-kvm             enable KVM acceleration support"  echo "  --enable-kvm             enable KVM acceleration support"
   echo "  --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)"
 echo "  --disable-nptl           disable usermode NPTL support"  echo "  --disable-nptl           disable usermode NPTL support"
 echo "  --enable-nptl            enable usermode NPTL support"  echo "  --enable-nptl            enable usermode NPTL support"
 echo "  --enable-system          enable all system emulation targets"  echo "  --enable-system          enable all system emulation targets"
Line 737  echo "  --disable-bsd-user       disable Line 1037  echo "  --disable-bsd-user       disable
 echo "  --enable-guest-base      enable GUEST_BASE support for usermode"  echo "  --enable-guest-base      enable GUEST_BASE support for usermode"
 echo "                           emulation targets"  echo "                           emulation targets"
 echo "  --disable-guest-base     disable GUEST_BASE support"  echo "  --disable-guest-base     disable GUEST_BASE support"
 echo "  --enable-user-pie        build usermode emulation targets as PIE"  echo "  --enable-pie             build Position Independent Executables"
 echo "  --disable-user-pie       do not build usermode emulation targets as PIE"  echo "  --disable-pie            do not build Position Independent Executables"
 echo "  --fmod-lib               path to FMOD library"  echo "  --fmod-lib               path to FMOD library"
 echo "  --fmod-inc               path to FMOD includes"  echo "  --fmod-inc               path to FMOD includes"
 echo "  --oss-lib                path to OSS library"  echo "  --oss-lib                path to OSS library"
 echo "  --enable-uname-release=R Return R for uname -r in usermode emulation"  echo "  --enable-uname-release=R Return R for uname -r in usermode emulation"
   echo "  --cpu=CPU                Build for host CPU [$cpu]"
 echo "  --sparc_cpu=V            Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"  echo "  --sparc_cpu=V            Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
 echo "  --disable-uuid           disable uuid support"  echo "  --disable-uuid           disable uuid support"
 echo "  --enable-uuid            enable uuid support"  echo "  --enable-uuid            enable uuid support"
Line 750  echo "  --disable-vde            disable Line 1051  echo "  --disable-vde            disable
 echo "  --enable-vde             enable support for vde network"  echo "  --enable-vde             enable support for vde network"
 echo "  --disable-linux-aio      disable Linux AIO support"  echo "  --disable-linux-aio      disable Linux AIO support"
 echo "  --enable-linux-aio       enable Linux AIO support"  echo "  --enable-linux-aio       enable Linux AIO support"
 echo "  --enable-io-thread       enable IO thread"  echo "  --disable-attr           disables attr and xattr support"
   echo "  --enable-attr            enable attr and xattr support"
 echo "  --disable-blobs          disable installing provided firmware blobs"  echo "  --disable-blobs          disable installing provided firmware blobs"
 echo "  --kerneldir=PATH         look for kernel includes in PATH"  echo "  --enable-docs            enable documentation build"
   echo "  --disable-docs           disable documentation build"
   echo "  --disable-vhost-net      disable vhost-net acceleration support"
   echo "  --enable-vhost-net       enable vhost-net acceleration support"
   echo "  --enable-trace-backend=B Set trace backend"
   echo "                           Available backends:" $("$source_path"/scripts/tracetool --list-backends)
   echo "  --with-trace-file=NAME   Full PATH,NAME of file to store traces"
   echo "                           Default:trace-<pid>"
   echo "  --disable-spice          disable spice"
   echo "  --enable-spice           enable spice"
   echo "  --enable-rbd             enable building the rados block device (rbd)"
   echo "  --disable-libiscsi       disable iscsi support"
   echo "  --enable-libiscsi        enable iscsi support"
   echo "  --disable-smartcard      disable smartcard support"
   echo "  --enable-smartcard       enable smartcard support"
   echo "  --disable-smartcard-nss  disable smartcard nss support"
   echo "  --enable-smartcard-nss   enable smartcard nss support"
   echo "  --disable-usb-redir      disable usb network redirection support"
   echo "  --enable-usb-redir       enable usb network redirection support"
   echo "  --disable-guest-agent    disable building of the QEMU Guest Agent"
   echo "  --enable-guest-agent     enable building of the QEMU Guest Agent"
 echo ""  echo ""
 echo "NOTE: The object files are built at the place where configure is launched"  echo "NOTE: The object files are built at the place where configure is launched"
 exit 1  exit 1
 fi  fi
   
   # check that the C compiler works.
   cat > $TMPC <<EOF
   int main(void) {}
   EOF
   
   if compile_object ; then
     : C compiler works ok
   else
       echo "ERROR: \"$cc\" either does not exist or does not work"
       exit 1
   fi
   
   gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"
   gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags"
   gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
   gcc_flags="-fstack-protector-all -Wendif-labels $gcc_flags"
   cat > $TMPC << EOF
   int main(void) { return 0; }
   EOF
   for flag in $gcc_flags; do
       if compile_prog "$flag -Werror" "" ; then
           QEMU_CFLAGS="$QEMU_CFLAGS $flag"
       fi
   done
   
   if test "$static" = "yes" ; then
     if test "$pie" = "yes" ; then
       echo "static and pie are mutually incompatible"
       exit 1
     else
       pie="no"
     fi
   fi
   
   if test "$pie" = ""; then
     case "$cpu-$targetos" in
       i386-Linux|x86_64-Linux|i386-OpenBSD|x86_64-OpenBSD)
         ;;
       *)
         pie="no"
         ;;
     esac
   fi
   
   if test "$pie" != "no" ; then
     cat > $TMPC << EOF
   
   #ifdef __linux__
   #  define THREAD __thread
   #else
   #  define THREAD
   #endif
   
   static THREAD int tls_var;
   
   int main(void) { return tls_var; }
   
   EOF
     if compile_prog "-fPIE -DPIE" "-pie"; then
       QEMU_CFLAGS="-fPIE -DPIE $QEMU_CFLAGS"
       LDFLAGS="-pie $LDFLAGS"
       pie="yes"
       if compile_prog "" "-Wl,-z,relro -Wl,-z,now" ; then
         LDFLAGS="-Wl,-z,relro -Wl,-z,now $LDFLAGS"
       fi
     else
       if test "$pie" = "yes"; then
         echo "PIE not available due to missing toolchain support"
         exit 1
       else
         echo "Disabling PIE due to missing toolchain support"
         pie="no"
       fi
     fi
   fi
   
 #  #
 # Solaris specific configure tool chain decisions  # Solaris specific configure tool chain decisions
 #  #
 if test "$solaris" = "yes" ; then  if test "$solaris" = "yes" ; then
   solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`    if has $install; then
   if test -z "$solinst" ; then      :
     else
     echo "Solaris install program not found. Use --install=/usr/ucb/install or"      echo "Solaris install program not found. Use --install=/usr/ucb/install or"
     echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"      echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
     echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"      echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
     exit 1      exit 1
   fi    fi
   if test "$solinst" = "/usr/sbin/install" ; then    if test "`path_of $install`" = "/usr/sbin/install" ; then
     echo "Error: Solaris /usr/sbin/install is not an appropriate install program."      echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
     echo "try ginstall from the GNU fileutils available from www.blastwave.org"      echo "try ginstall from the GNU fileutils available from www.blastwave.org"
     echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"      echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
     exit 1      exit 1
   fi    fi
   sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`    if has ar; then
   if test -z "$sol_ar" ; then      :
     else
     echo "Error: No path includes ar"      echo "Error: No path includes ar"
     if test -f /usr/ccs/bin/ar ; then      if test -f /usr/ccs/bin/ar ; then
       echo "Add /usr/ccs/bin to your path and rerun configure"        echo "Add /usr/ccs/bin to your path and rerun configure"
Line 785  if test "$solaris" = "yes" ; then Line 1185  if test "$solaris" = "yes" ; then
   fi    fi
 fi  fi
   
   if test "$guest_agent" != "no" ; then
     if has $python; then
       :
     else
       echo "Python not found. Use --python=/path/to/python"
       exit 1
     fi
   fi
   
 if test -z "$target_list" ; then  if test -z "$target_list" ; then
 # these targets are portable      target_list="$default_target_list"
     if [ "$softmmu" = "yes" ] ; then  
         target_list="\  
 i386-softmmu \  
 x86_64-softmmu \  
 arm-softmmu \  
 cris-softmmu \  
 m68k-softmmu \  
 microblaze-softmmu \  
 mips-softmmu \  
 mipsel-softmmu \  
 mips64-softmmu \  
 mips64el-softmmu \  
 ppc-softmmu \  
 ppcemb-softmmu \  
 ppc64-softmmu \  
 sh4-softmmu \  
 sh4eb-softmmu \  
 sparc-softmmu \  
 sparc64-softmmu \  
 "  
     fi  
 # the following are Linux specific  
     if [ "$linux_user" = "yes" ] ; then  
         target_list="${target_list}\  
 i386-linux-user \  
 x86_64-linux-user \  
 alpha-linux-user \  
 arm-linux-user \  
 armeb-linux-user \  
 cris-linux-user \  
 m68k-linux-user \  
 microblaze-linux-user \  
 mips-linux-user \  
 mipsel-linux-user \  
 ppc-linux-user \  
 ppc64-linux-user \  
 ppc64abi32-linux-user \  
 sh4-linux-user \  
 sh4eb-linux-user \  
 sparc-linux-user \  
 sparc64-linux-user \  
 sparc32plus-linux-user \  
 "  
     fi  
 # the following are Darwin specific  
     if [ "$darwin_user" = "yes" ] ; then  
         target_list="$target_list i386-darwin-user ppc-darwin-user "  
     fi  
 # the following are BSD specific  
     if [ "$bsd_user" = "yes" ] ; then  
         target_list="${target_list}\  
 i386-bsd-user \  
 x86_64-bsd-user \  
 sparc-bsd-user \  
 sparc64-bsd-user \  
 "  
     fi  
 else  else
     target_list=`echo "$target_list" | sed -e 's/,/ /g'`      target_list=`echo "$target_list" | sed -e 's/,/ /g'`
 fi  fi
Line 852  if test -z "$target_list" ; then Line 1203  if test -z "$target_list" ; then
     echo "No targets enabled"      echo "No targets enabled"
     exit 1      exit 1
 fi  fi
   # see if system emulation was really requested
   case " $target_list " in
     *"-softmmu "*) softmmu=yes
     ;;
     *) softmmu=no
     ;;
   esac
   
 feature_not_found() {  feature_not_found() {
   feature=$1    feature=$1
Line 892  esac Line 1250  esac
   
 fi  fi
   
 # host long bits test  # host long bits test, actually a pointer size test
 hostlongbits="32"  cat > $TMPC << EOF
 case "$cpu" in  int sizeof_pointer_is_8[sizeof(void *) == 8 ? 1 : -1];
   x86_64|alpha|ia64|sparc64|ppc64|s390x)  EOF
     hostlongbits=64  if compile_object; then
   ;;  hostlongbits=64
 esac  else
   hostlongbits=32
   fi
   
   
 ##########################################  ##########################################
Line 929  fi Line 1289  fi
 ##########################################  ##########################################
 # zlib check  # zlib check
   
 cat > $TMPC << EOF  if test "$zlib" != "no" ; then
       cat > $TMPC << EOF
 #include <zlib.h>  #include <zlib.h>
 int main(void) { zlibVersion(); return 0; }  int main(void) { zlibVersion(); return 0; }
 EOF  EOF
 if compile_prog "" "-lz" ; then      if compile_prog "" "-lz" ; then
     :          :
 else      else
     echo          echo
     echo "Error: zlib check failed"          echo "Error: zlib check failed"
     echo "Make sure to have the zlib libs and headers installed."          echo "Make sure to have the zlib libs and headers installed."
     echo          echo
     exit 1          exit 1
       fi
 fi  fi
   
 ##########################################  ##########################################
Line 948  fi Line 1310  fi
   
 if test "$xen" != "no" ; then  if test "$xen" != "no" ; then
   xen_libs="-lxenstore -lxenctrl -lxenguest"    xen_libs="-lxenstore -lxenctrl -lxenguest"
   
     # Xen unstable
   cat > $TMPC <<EOF    cat > $TMPC <<EOF
 #include <xenctrl.h>  #include <xenctrl.h>
 #include <xs.h>  #include <xs.h>
 int main(void) { xs_daemon_open(); xc_interface_open(); return 0; }  #include <stdint.h>
   #include <xen/hvm/hvm_info_table.h>
   #if !defined(HVM_MAX_VCPUS)
   # error HVM_MAX_VCPUS not defined
   #endif
   int main(void) {
     xc_interface *xc;
     xs_daemon_open();
     xc = xc_interface_open(0, 0, 0);
     xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0);
     xc_gnttab_open(NULL, 0);
     xc_domain_add_to_physmap(0, 0, XENMAPSPACE_gmfn, 0, 0);
     return 0;
   }
 EOF  EOF
   if compile_prog "" "$xen_libs" ; then    if compile_prog "" "$xen_libs" ; then
       xen_ctrl_version=410
     xen=yes      xen=yes
     libs_softmmu="$xen_libs $libs_softmmu"  
     # Xen 4.0.0
     elif (
         cat > $TMPC <<EOF
   #include <xenctrl.h>
   #include <xs.h>
   #include <stdint.h>
   #include <xen/hvm/hvm_info_table.h>
   #if !defined(HVM_MAX_VCPUS)
   # error HVM_MAX_VCPUS not defined
   #endif
   int main(void) {
     struct xen_add_to_physmap xatp = {
       .domid = 0, .space = XENMAPSPACE_gmfn, .idx = 0, .gpfn = 0,
     };
     xs_daemon_open();
     xc_interface_open();
     xc_gnttab_open();
     xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0);
     xc_memory_op(0, XENMEM_add_to_physmap, &xatp);
     return 0;
   }
   EOF
         compile_prog "" "$xen_libs"
       ) ; then
       xen_ctrl_version=400
       xen=yes
   
     # Xen 3.4.0
     elif (
         cat > $TMPC <<EOF
   #include <xenctrl.h>
   #include <xs.h>
   int main(void) {
     struct xen_add_to_physmap xatp = {
       .domid = 0, .space = XENMAPSPACE_gmfn, .idx = 0, .gpfn = 0,
     };
     xs_daemon_open();
     xc_interface_open();
     xc_gnttab_open();
     xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0);
     xc_memory_op(0, XENMEM_add_to_physmap, &xatp);
     return 0;
   }
   EOF
         compile_prog "" "$xen_libs"
       ) ; then
       xen_ctrl_version=340
       xen=yes
   
     # Xen 3.3.0
     elif (
         cat > $TMPC <<EOF
   #include <xenctrl.h>
   #include <xs.h>
   int main(void) {
     xs_daemon_open();
     xc_interface_open();
     xc_gnttab_open();
     xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0);
     return 0;
   }
   EOF
         compile_prog "" "$xen_libs"
       ) ; then
       xen_ctrl_version=330
       xen=yes
   
     # Xen not found or unsupported
   else    else
     if test "$xen" = "yes" ; then      if test "$xen" = "yes" ; then
       feature_not_found "xen"        feature_not_found "xen"
     fi      fi
     xen=no      xen=no
   fi    fi
   
     if test "$xen" = yes; then
       libs_softmmu="$xen_libs $libs_softmmu"
     fi
   fi
   
   ##########################################
   # pkg-config probe
   
   if ! has $pkg_config; then
     echo "Error: pkg-config binary '$pkg_config' not found"
     exit 1
   fi
   
   ##########################################
   # libtool probe
   
   if ! has $libtool; then
       libtool=
 fi  fi
   
 ##########################################  ##########################################
 # Sparse probe  # Sparse probe
 if test "$sparse" != "no" ; then  if test "$sparse" != "no" ; then
   if test -x "$(which cgcc 2>/dev/null)"; then    if has cgcc; then
     sparse=yes      sparse=yes
   else    else
     if test "$sparse" = "yes" ; then      if test "$sparse" = "yes" ; then
Line 980  fi Line 1445  fi
 ##########################################  ##########################################
 # SDL probe  # SDL probe
   
 sdl_too_old=no  # Look for sdl configuration program (pkg-config or sdl-config).  Try
   # sdl-config even without cross prefix, and favour pkg-config over sdl-config.
   if test "`basename $sdl_config`" != sdl-config && ! has ${sdl_config}; then
     sdl_config=sdl-config
   fi
   
   if $pkg_config sdl --modversion >/dev/null 2>&1; then
     sdlconfig="$pkg_config sdl"
     _sdlversion=`$sdlconfig --modversion 2>/dev/null | sed 's/[^0-9]//g'`
   elif has ${sdl_config}; then
     sdlconfig="$sdl_config"
     _sdlversion=`$sdlconfig --version | sed 's/[^0-9]//g'`
   else
     if test "$sdl" = "yes" ; then
       feature_not_found "sdl"
     fi
     sdl=no
   fi
   if test -n "$cross_prefix" && test "$(basename "$sdlconfig")" = sdl-config; then
     echo warning: using "\"$sdlconfig\"" to detect cross-compiled sdl >&2
   fi
   
   sdl_too_old=no
 if test "$sdl" != "no" ; then  if test "$sdl" != "no" ; then
   cat > $TMPC << EOF    cat > $TMPC << EOF
 #include <SDL.h>  #include <SDL.h>
 #undef main /* We don't want SDL to override our main() */  #undef main /* We don't want SDL to override our main() */
 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }  int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
 EOF  EOF
   sdl_cflags=`sdl-config --cflags 2> /dev/null`    sdl_cflags=`$sdlconfig --cflags 2> /dev/null`
   sdl_libs=`sdl-config --libs 2> /dev/null`    if test "$static" = "yes" ; then
       sdl_libs=`$sdlconfig --static-libs 2>/dev/null`
     else
       sdl_libs=`$sdlconfig --libs 2> /dev/null`
     fi
   if compile_prog "$sdl_cflags" "$sdl_libs" ; then    if compile_prog "$sdl_cflags" "$sdl_libs" ; then
     _sdlversion=`sdl-config --version | sed 's/[^0-9]//g'`  
     if test "$_sdlversion" -lt 121 ; then      if test "$_sdlversion" -lt 121 ; then
       sdl_too_old=yes        sdl_too_old=yes
     else      else
Line 1000  EOF Line 1489  EOF
       fi        fi
     fi      fi
   
     # static link with sdl ?      # static link with sdl ? (note: sdl.pc's --static --libs is broken)
     if test "$sdl" = "yes" -a "$static" = "yes" ; then      if test "$sdl" = "yes" -a "$static" = "yes" ; then
       sdl_libs=`sdl-config --static-libs 2>/dev/null`        if test $? = 0 && echo $sdl_libs | grep -- -laa > /dev/null; then
       if test `sdl-config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` ; then           sdl_libs="$sdl_libs `aalib-config --static-libs 2>/dev/null`"
          sdl_libs="$sdl_libs `aalib-config --static-libs >2 /dev/null`"           sdl_cflags="$sdl_cflags `aalib-config --cflags 2>/dev/null`"
          sdl_cflags="$sd_cflags `aalib-config --cflags >2 /dev/null`"  
       fi        fi
       if compile_prog "$sdl_cflags" "$sdl_libs" ; then        if compile_prog "$sdl_cflags" "$sdl_libs" ; then
         :          :
Line 1042  fi Line 1530  fi
   
 ##########################################  ##########################################
 # VNC TLS detection  # VNC TLS detection
 if test "$vnc_tls" != "no" ; then  if test "$vnc" = "yes" -a "$vnc_tls" != "no" ; then
   cat > $TMPC <<EOF    cat > $TMPC <<EOF
 #include <gnutls/gnutls.h>  #include <gnutls/gnutls.h>
 int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }  int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
 EOF  EOF
   vnc_tls_cflags=`pkg-config --cflags gnutls 2> /dev/null`    vnc_tls_cflags=`$pkg_config --cflags gnutls 2> /dev/null`
   vnc_tls_libs=`pkg-config --libs gnutls 2> /dev/null`    vnc_tls_libs=`$pkg_config --libs gnutls 2> /dev/null`
   if compile_prog "$vnc_tls_cflags" "$vnc_tls_libs" ; then    if compile_prog "$vnc_tls_cflags" "$vnc_tls_libs" ; then
     vnc_tls=yes      vnc_tls=yes
     libs_softmmu="$vnc_tls_libs $libs_softmmu"      libs_softmmu="$vnc_tls_libs $libs_softmmu"
Line 1062  fi Line 1550  fi
   
 ##########################################  ##########################################
 # VNC SASL detection  # VNC SASL detection
 if test "$vnc_sasl" != "no" ; then  if test "$vnc" = "yes" -a "$vnc_sasl" != "no" ; then
   cat > $TMPC <<EOF    cat > $TMPC <<EOF
 #include <sasl/sasl.h>  #include <sasl/sasl.h>
 #include <stdio.h>  #include <stdio.h>
Line 1075  EOF Line 1563  EOF
     vnc_sasl=yes      vnc_sasl=yes
     libs_softmmu="$vnc_sasl_libs $libs_softmmu"      libs_softmmu="$vnc_sasl_libs $libs_softmmu"
   else    else
     if test "$vnc_sasl" = "yes" ; then      if test "$vnc_sasl" = "yes" ; then
       feature_not_found "vnc-sasl"        feature_not_found "vnc-sasl"
       fi
       vnc_sasl=no
     fi
   fi
   
   ##########################################
   # VNC JPEG detection
   if test "$vnc" = "yes" -a "$vnc_jpeg" != "no" ; then
   cat > $TMPC <<EOF
   #include <stdio.h>
   #include <jpeglib.h>
   int main(void) { struct jpeg_compress_struct s; jpeg_create_compress(&s); return 0; }
   EOF
       vnc_jpeg_cflags=""
       vnc_jpeg_libs="-ljpeg"
     if compile_prog "$vnc_jpeg_cflags" "$vnc_jpeg_libs" ; then
       vnc_jpeg=yes
       libs_softmmu="$vnc_jpeg_libs $libs_softmmu"
     else
       if test "$vnc_jpeg" = "yes" ; then
         feature_not_found "vnc-jpeg"
       fi
       vnc_jpeg=no
     fi
   fi
   
   ##########################################
   # VNC PNG detection
   if test "$vnc" = "yes" -a "$vnc_png" != "no" ; then
   cat > $TMPC <<EOF
   //#include <stdio.h>
   #include <png.h>
   #include <stddef.h>
   int main(void) {
       png_structp png_ptr;
       png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
       return 0;
   }
   EOF
     if $pkg_config libpng --modversion >/dev/null 2>&1; then
       vnc_png_cflags=`$pkg_config libpng --cflags 2> /dev/null`
       vnc_png_libs=`$pkg_config libpng --libs 2> /dev/null`
     else
       vnc_png_cflags=""
       vnc_png_libs="-lpng"
     fi
     if compile_prog "$vnc_png_cflags" "$vnc_png_libs" ; then
       vnc_png=yes
       libs_softmmu="$vnc_png_libs $libs_softmmu"
       QEMU_CFLAGS="$QEMU_CFLAGS $vnc_png_cflags"
     else
       if test "$vnc_png" = "yes" ; then
         feature_not_found "vnc-png"
     fi      fi
     vnc_sasl=no      vnc_png=no
   fi    fi
 fi  fi
   
Line 1123  EOF Line 1664  EOF
 fi  fi
   
 ##########################################  ##########################################
   # xfsctl() probe, used for raw-posix
   if test "$xfs" != "no" ; then
     cat > $TMPC << EOF
   #include <xfs/xfs.h>
   int main(void)
   {
       xfsctl(NULL, 0, 0, NULL);
       return 0;
   }
   EOF
     if compile_prog "" "" ; then
       xfs="yes"
     else
       if test "$xfs" = "yes" ; then
         feature_not_found "xfs"
       fi
       xfs=no
     fi
   fi
   
   ##########################################
 # vde libraries probe  # vde libraries probe
 if test "$vde" != "no" ; then  if test "$vde" != "no" ; then
   vde_libs="-lvdeplug"    vde_libs="-lvdeplug"
Line 1201  for drv in $audio_drv_list; do Line 1763  for drv in $audio_drv_list; do
   
     pa)      pa)
     audio_drv_probe $drv pulse/simple.h "-lpulse-simple -lpulse" \      audio_drv_probe $drv pulse/simple.h "-lpulse-simple -lpulse" \
         "pa_simple *s = NULL; pa_simple_free(s); return 0;"          "pa_simple *s = 0; pa_simple_free(s); return 0;"
     libs_softmmu="-lpulse -lpulse-simple $libs_softmmu"      libs_softmmu="-lpulse -lpulse-simple $libs_softmmu"
     audio_pt_int="yes"      audio_pt_int="yes"
     ;;      ;;
Line 1247  if test "$brlapi" != "no" ; then Line 1809  if test "$brlapi" != "no" ; then
   brlapi_libs="-lbrlapi"    brlapi_libs="-lbrlapi"
   cat > $TMPC << EOF    cat > $TMPC << EOF
 #include <brlapi.h>  #include <brlapi.h>
   #include <stddef.h>
 int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }  int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
 EOF  EOF
   if compile_prog "" "$brlapi_libs" ; then    if compile_prog "" "$brlapi_libs" ; then
Line 1262  fi Line 1825  fi
   
 ##########################################  ##########################################
 # curses probe  # curses probe
 curses_list="-lncurses -lcurses"  if test "$mingw32" = "yes" ; then
       curses_list="-lpdcurses"
   else
       curses_list="-lncurses -lcurses"
   fi
   
 if test "$curses" != "no" ; then  if test "$curses" != "no" ; then
   curses_found=no    curses_found=no
Line 1293  fi Line 1860  fi
 ##########################################  ##########################################
 # curl probe  # curl probe
   
   if $pkg_config libcurl --modversion >/dev/null 2>&1; then
     curlconfig="$pkg_config libcurl"
   else
     curlconfig=curl-config
   fi
   
 if test "$curl" != "no" ; then  if test "$curl" != "no" ; then
   cat > $TMPC << EOF    cat > $TMPC << EOF
 #include <curl/curl.h>  #include <curl/curl.h>
 int main(void) { return curl_easy_init(); }  int main(void) { curl_easy_init(); curl_multi_setopt(0, 0, 0); return 0; }
 EOF  EOF
   curl_cflags=`curl-config --cflags 2>/dev/null`    curl_cflags=`$curlconfig --cflags 2>/dev/null`
   curl_libs=`curl-config --libs 2>/dev/null`    curl_libs=`$curlconfig --libs 2>/dev/null`
   if compile_prog "$curl_cflags" "$curl_libs" ; then    if compile_prog "$curl_cflags" "$curl_libs" ; then
     curl=yes      curl=yes
     libs_tools="$curl_libs $libs_tools"      libs_tools="$curl_libs $libs_tools"
Line 1320  if test "$check_utests" != "no" ; then Line 1893  if test "$check_utests" != "no" ; then
 #include <check.h>  #include <check.h>
 int main(void) { suite_create("qemu test"); return 0; }  int main(void) { suite_create("qemu test"); return 0; }
 EOF  EOF
   check_libs=`pkg-config --libs check`    check_libs=`$pkg_config --libs check 2>/dev/null`
   if compile_prog "" $check_libs ; then    if compile_prog "" $check_libs ; then
     check_utests=yes      check_utests=yes
     libs_tools="$check_libs $libs_tools"      libs_tools="$check_libs $libs_tools"
Line 1339  if test "$bluez" != "no" ; then Line 1912  if test "$bluez" != "no" ; then
 #include <bluetooth/bluetooth.h>  #include <bluetooth/bluetooth.h>
 int main(void) { return bt_error(0); }  int main(void) { return bt_error(0); }
 EOF  EOF
   bluez_cflags=`pkg-config --cflags bluez 2> /dev/null`    bluez_cflags=`$pkg_config --cflags bluez 2> /dev/null`
   bluez_libs=`pkg-config --libs bluez 2> /dev/null`    bluez_libs=`$pkg_config --libs bluez 2> /dev/null`
   if compile_prog "$bluez_cflags" "$bluez_libs" ; then    if compile_prog "$bluez_cflags" "$bluez_libs" ; then
     bluez=yes      bluez=yes
     libs_softmmu="$bluez_libs $libs_softmmu"      libs_softmmu="$bluez_libs $libs_softmmu"
Line 1353  EOF Line 1926  EOF
 fi  fi
   
 ##########################################  ##########################################
 # kvm probe  # glib support probe
 if test "$kvm" != "no" ; then  if $pkg_config --modversion gthread-2.0 > /dev/null 2>&1 ; then
     cat > $TMPC <<EOF      glib_cflags=`$pkg_config --cflags gthread-2.0 2>/dev/null`
 #include <linux/kvm.h>      glib_libs=`$pkg_config --libs gthread-2.0 2>/dev/null`
 #if !defined(KVM_API_VERSION) || KVM_API_VERSION < 12 || KVM_API_VERSION > 12      LIBS="$glib_libs $LIBS"
 #error Invalid KVM version      libs_qga="$glib_libs $libs_qga"
 #endif  else
 #if !defined(KVM_CAP_USER_MEMORY)      echo "glib-2.0 required to compile QEMU"
 #error Missing KVM capability KVM_CAP_USER_MEMORY      exit 1
 #endif  
 #if !defined(KVM_CAP_SET_TSS_ADDR)  
 #error Missing KVM capability KVM_CAP_SET_TSS_ADDR  
 #endif  
 #if !defined(KVM_CAP_DESTROY_MEMORY_REGION_WORKS)  
 #error Missing KVM capability KVM_CAP_DESTROY_MEMORY_REGION_WORKS  
 #endif  
 int main(void) { return 0; }  
 EOF  
   if test "$kerneldir" != "" ; then  
       kvm_cflags=-I"$kerneldir"/include  
       if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) \  
          -a -d "$kerneldir/arch/x86/include" ; then  
             kvm_cflags="$kvm_cflags -I$kerneldir/arch/x86/include"  
         elif test "$cpu" = "ppc" -a -d "$kerneldir/arch/powerpc/include" ; then  
             kvm_cflags="$kvm_cflags -I$kerneldir/arch/powerpc/include"  
         elif test "$cpu" = "s390x" -a -d "$kerneldir/arch/s390/include" ; then  
             kvm_cflags="$kvm_cflags -I$kerneldir/arch/s390/include"  
         elif test -d "$kerneldir/arch/$cpu/include" ; then  
             kvm_cflags="$kvm_cflags -I$kerneldir/arch/$cpu/include"  
       fi  
   else  
       kvm_cflags=""  
   fi  
   if compile_prog "$kvm_cflags" "" ; then  
     kvm=yes  
   else  
     if test "$kvm" = "yes" ; then  
       if [ -x "`which awk 2>/dev/null`" ] && \  
          [ -x "`which grep 2>/dev/null`" ]; then  
         kvmerr=`LANG=C $cc $QEMU_CFLAGS -o $TMPE $kvm_cflags $TMPC 2>&1 \  
         | grep "error: " \  
         | awk -F "error: " '{if (NR>1) printf(", "); printf("%s",$2);}'`  
         if test "$kvmerr" != "" ; then  
           echo -e "${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  
       feature_not_found "kvm"  
     fi  
     kvm=no  
   fi  
 fi  fi
   
 ##########################################  ##########################################
 # pthread probe  # pthread probe
 PTHREADLIBS_LIST="-lpthread -lpthreadGC2"  PTHREADLIBS_LIST="-pthread -lpthread -lpthreadGC2"
   
 pthread=no  pthread=no
 cat > $TMPC << EOF  cat > $TMPC << EOF
 #include <pthread.h>  #include <pthread.h>
 int main(void) { pthread_create(0,0,0,0); return 0; }  int main(void) { pthread_create(0,0,0,0); return 0; }
 EOF  EOF
 for pthread_lib in $PTHREADLIBS_LIST; do  if compile_prog "" "" ; then
   if compile_prog "" "$pthread_lib" ; then    pthread=yes
     pthread=yes  else
     LIBS="$pthread_lib $LIBS"    for pthread_lib in $PTHREADLIBS_LIST; do
     break      if compile_prog "" "$pthread_lib" ; then
   fi        pthread=yes
 done        LIBS="$pthread_lib $LIBS"
         break
       fi
     done
   fi
   
 if test "$mingw32" != yes -a "$pthread" = no; then  if test "$mingw32" != yes -a "$pthread" = no; then
   echo    echo
Line 1433  if test "$mingw32" != yes -a "$pthread"  Line 1967  if test "$mingw32" != yes -a "$pthread" 
 fi  fi
   
 ##########################################  ##########################################
   # rbd probe
   if test "$rbd" != "no" ; then
     cat > $TMPC <<EOF
   #include <stdio.h>
   #include <rbd/librbd.h>
   int main(void) {
       rados_t cluster;
       rados_create(&cluster, NULL);
       return 0;
   }
   EOF
     rbd_libs="-lrbd -lrados"
     if compile_prog "" "$rbd_libs" ; then
       rbd=yes
       libs_tools="$rbd_libs $libs_tools"
       libs_softmmu="$rbd_libs $libs_softmmu"
     else
       if test "$rbd" = "yes" ; then
         feature_not_found "rados block device"
       fi
       rbd=no
     fi
   fi
   
   ##########################################
 # linux-aio probe  # linux-aio probe
   
 if test "$linux_aio" != "no" ; then  if test "$linux_aio" != "no" ; then
   cat > $TMPC <<EOF    cat > $TMPC <<EOF
 #include <libaio.h>  #include <libaio.h>
 #include <sys/eventfd.h>  #include <sys/eventfd.h>
   #include <stddef.h>
 int main(void) { io_setup(0, NULL); io_set_eventfd(NULL, 0); eventfd(0, 0); return 0; }  int main(void) { io_setup(0, NULL); io_set_eventfd(NULL, 0); eventfd(0, 0); return 0; }
 EOF  EOF
   if compile_prog "" "-laio" ; then    if compile_prog "" "-laio" ; then
     linux_aio=yes      linux_aio=yes
     LIBS="$LIBS -laio"      libs_softmmu="$libs_softmmu -laio"
       libs_tools="$libs_tools -laio"
   else    else
     if test "$linux_aio" = "yes" ; then      if test "$linux_aio" = "yes" ; then
       feature_not_found "linux AIO"        feature_not_found "linux AIO"
Line 1453  EOF Line 2014  EOF
 fi  fi
   
 ##########################################  ##########################################
   # attr probe
   
   if test "$attr" != "no" ; then
     cat > $TMPC <<EOF
   #include <stdio.h>
   #include <sys/types.h>
   #ifdef CONFIG_LIBATTR
   #include <attr/xattr.h>
   #else
   #include <sys/xattr.h>
   #endif
   int main(void) { getxattr(NULL, NULL, NULL, 0); setxattr(NULL, NULL, NULL, 0, 0); return 0; }
   EOF
     if compile_prog "" "" ; then
       attr=yes
     # Older distros have <attr/xattr.h>, and need -lattr:
     elif compile_prog "-DCONFIG_LIBATTR" "-lattr" ; then
       attr=yes
       LIBS="-lattr $LIBS"
       libattr=yes
     else
       if test "$attr" = "yes" ; then
         feature_not_found "ATTR"
       fi
       attr=no
     fi
   fi
   
   ##########################################
 # iovec probe  # iovec probe
 cat > $TMPC <<EOF  cat > $TMPC <<EOF
 #include <sys/types.h>  #include <sys/types.h>
Line 1487  int main(void) { return 0; } Line 2077  int main(void) { return 0; }
 EOF  EOF
   if compile_prog "" "$fdt_libs" ; then    if compile_prog "" "$fdt_libs" ; then
     fdt=yes      fdt=yes
     libs_softmmu="$fdt_libs $libs_softmmu"  
   else    else
     if test "$fdt" = "yes" ; then      if test "$fdt" = "yes" ; then
       feature_not_found "fdt"        feature_not_found "fdt"
     fi      fi
       fdt_libs=
     fdt=no      fdt=no
   fi    fi
 fi  fi
   
   ##########################################
   # opengl probe, used by milkymist-tmu2
   if test "$opengl" != "no" ; then
     opengl_libs="-lGL"
     cat > $TMPC << EOF
   #include <X11/Xlib.h>
   #include <GL/gl.h>
   #include <GL/glx.h>
   int main(void) { GL_VERSION; return 0; }
   EOF
     if compile_prog "" "-lGL" ; then
       opengl=yes
     else
       if test "$opengl" = "yes" ; then
         feature_not_found "opengl"
       fi
       opengl_libs=
       opengl=no
     fi
   fi
   
 #  #
 # Check for xxxat() functions when we are building linux-user  # Check for xxxat() functions when we are building linux-user
 # emulator.  This is done because older glibc versions don't  # emulator.  This is done because older glibc versions don't
Line 1539  if compile_prog "" "" ; then Line 2150  if compile_prog "" "" ; then
   inotify=yes    inotify=yes
 fi  fi
   
   inotify1=no
   cat > $TMPC << EOF
   #include <sys/inotify.h>
   
   int
   main(void)
   {
       /* try to start inotify */
       return inotify_init1(0);
   }
   EOF
   if compile_prog "" "" ; then
     inotify1=yes
   fi
   
 # check if utimensat and futimens are supported  # check if utimensat and futimens are supported
 utimens=no  utimens=no
 cat > $TMPC << EOF  cat > $TMPC << EOF
 #define _ATFILE_SOURCE  #define _ATFILE_SOURCE
 #define _GNU_SOURCE  
 #include <stddef.h>  #include <stddef.h>
 #include <fcntl.h>  #include <fcntl.h>
   
Line 1561  fi Line 2186  fi
 # check if pipe2 is there  # check if pipe2 is there
 pipe2=no  pipe2=no
 cat > $TMPC << EOF  cat > $TMPC << EOF
 #define _GNU_SOURCE  
 #include <unistd.h>  #include <unistd.h>
 #include <fcntl.h>  #include <fcntl.h>
   
Line 1579  fi Line 2203  fi
 # check if accept4 is there  # check if accept4 is there
 accept4=no  accept4=no
 cat > $TMPC << EOF  cat > $TMPC << EOF
 #define _GNU_SOURCE  
 #include <sys/socket.h>  #include <sys/socket.h>
 #include <stddef.h>  #include <stddef.h>
   
Line 1596  fi Line 2219  fi
 # check if tee/splice is there. vmsplice was added same time.  # check if tee/splice is there. vmsplice was added same time.
 splice=no  splice=no
 cat > $TMPC << EOF  cat > $TMPC << EOF
 #define _GNU_SOURCE  
 #include <unistd.h>  #include <unistd.h>
 #include <fcntl.h>  #include <fcntl.h>
 #include <limits.h>  #include <limits.h>
Line 1613  if compile_prog "" "" ; then Line 2235  if compile_prog "" "" ; then
   splice=yes    splice=yes
 fi  fi
   
   ##########################################
   # signalfd probe
   signalfd="no"
   cat > $TMPC << EOF
   #define _GNU_SOURCE
   #include <unistd.h>
   #include <sys/syscall.h>
   #include <signal.h>
   int main(void) { return syscall(SYS_signalfd, -1, NULL, _NSIG / 8); }
   EOF
   
   if compile_prog "" "" ; then
     signalfd=yes
   fi
   
 # check if eventfd is supported  # check if eventfd is supported
 eventfd=no  eventfd=no
 cat > $TMPC << EOF  cat > $TMPC << EOF
Line 1620  cat > $TMPC << EOF Line 2257  cat > $TMPC << EOF
   
 int main(void)  int main(void)
 {  {
     int efd = eventfd(0, 0);      int efd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC);
     return 0;      return 0;
 }  }
 EOF  EOF
Line 1643  if compile_prog "$ARCH_CFLAGS" "" ; then Line 2280  if compile_prog "$ARCH_CFLAGS" "" ; then
   fallocate=yes    fallocate=yes
 fi  fi
   
   # check for sync_file_range
   sync_file_range=no
   cat > $TMPC << EOF
   #include <fcntl.h>
   
   int main(void)
   {
       sync_file_range(0, 0, 0, 0);
       return 0;
   }
   EOF
   if compile_prog "$ARCH_CFLAGS" "" ; then
     sync_file_range=yes
   fi
   
   # check for linux/fiemap.h and FS_IOC_FIEMAP
   fiemap=no
   cat > $TMPC << EOF
   #include <sys/ioctl.h>
   #include <linux/fs.h>
   #include <linux/fiemap.h>
   
   int main(void)
   {
       ioctl(0, FS_IOC_FIEMAP, 0);
       return 0;
   }
   EOF
   if compile_prog "$ARCH_CFLAGS" "" ; then
     fiemap=yes
   fi
   
 # check for dup3  # check for dup3
 dup3=no  dup3=no
 cat > $TMPC << EOF  cat > $TMPC << EOF
Line 1655  int main(void) Line 2324  int main(void)
 }  }
 EOF  EOF
 if compile_prog "" "" ; then  if compile_prog "" "" ; then
   dup3=yes    dup3=yes
   fi
   
   # check for epoll support
   epoll=no
   cat > $TMPC << EOF
   #include <sys/epoll.h>
   
   int main(void)
   {
       epoll_create(0);
       return 0;
   }
   EOF
   if compile_prog "$ARCH_CFLAGS" "" ; then
     epoll=yes
   fi
   
   # epoll_create1 and epoll_pwait are later additions
   # so we must check separately for their presence
   epoll_create1=no
   cat > $TMPC << EOF
   #include <sys/epoll.h>
   
   int main(void)
   {
       /* Note that we use epoll_create1 as a value, not as
        * a function being called. This is necessary so that on
        * old SPARC glibc versions where the function was present in
        * the library but not declared in the header file we will
        * fail the configure check. (Otherwise we will get a compiler
        * warning but not an error, and will proceed to fail the
        * qemu compile where we compile with -Werror.)
        */
       epoll_create1;
       return 0;
   }
   EOF
   if compile_prog "$ARCH_CFLAGS" "" ; then
     epoll_create1=yes
   fi
   
   epoll_pwait=no
   cat > $TMPC << EOF
   #include <sys/epoll.h>
   
   int main(void)
   {
       epoll_pwait(0, 0, 0, 0, 0);
       return 0;
   }
   EOF
   if compile_prog "$ARCH_CFLAGS" "" ; then
     epoll_pwait=yes
   fi
   
   # Check if tools are available to build documentation.
   if test "$docs" != "no" ; then
     if has makeinfo && has pod2man; then
       docs=yes
     else
       if test "$docs" = "yes" ; then
         feature_not_found "docs"
       fi
       docs=no
     fi
   fi
   
   # Search for bswap_32 function
   byteswap_h=no
   cat > $TMPC << EOF
   #include <byteswap.h>
   int main(void) { return bswap_32(0); }
   EOF
   if compile_prog "" "" ; then
     byteswap_h=yes
   fi
   
   # Search for bswap_32 function
   bswap_h=no
   cat > $TMPC << EOF
   #include <sys/endian.h>
   #include <sys/types.h>
   #include <machine/bswap.h>
   int main(void) { return bswap32(0); }
   EOF
   if compile_prog "" "" ; then
     bswap_h=yes
   fi
   
   ##########################################
   # Do we have libiscsi
   if test "$libiscsi" != "no" ; then
     cat > $TMPC << EOF
   #include <iscsi/iscsi.h>
   int main(void) { iscsi_create_context(""); return 0; }
   EOF
     if compile_prog "-Werror" "-liscsi" ; then
       libiscsi="yes"
       LIBS="$LIBS -liscsi"
     else
       if test "$libiscsi" = "yes" ; then
         feature_not_found "libiscsi"
       fi
       libiscsi="no"
     fi
   fi
   
   
   ##########################################
   # Do we need librt
   cat > $TMPC <<EOF
   #include <signal.h>
   #include <time.h>
   int main(void) { clockid_t id; return clock_gettime(id, NULL); }
   EOF
   
   if compile_prog "" "" ; then
     :
   elif compile_prog "" "-lrt" ; then
     LIBS="-lrt $LIBS"
   fi
   
   if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \
           "$aix" != "yes" -a "$haiku" != "yes" ; then
       libs_softmmu="-lutil $libs_softmmu"
   fi
   
   ##########################################
   # check if the compiler defines offsetof
   
   need_offsetof=yes
   cat > $TMPC << EOF
   #include <stddef.h>
   int main(void) { struct s { int f; }; return offsetof(struct s, f); }
   EOF
   if compile_prog "" "" ; then
       need_offsetof=no
   fi
   
   # spice probe
   if test "$spice" != "no" ; then
     cat > $TMPC << EOF
   #include <spice.h>
   int main(void) { spice_server_new(); return 0; }
   EOF
     spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
     spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
     if $pkg_config --atleast-version=0.6.0 spice-server >/dev/null 2>&1 && \
        compile_prog "$spice_cflags" "$spice_libs" ; then
       spice="yes"
       libs_softmmu="$libs_softmmu $spice_libs"
       QEMU_CFLAGS="$QEMU_CFLAGS $spice_cflags"
     else
       if test "$spice" = "yes" ; then
         feature_not_found "spice"
       fi
       spice="no"
     fi
   fi
   
   # check for libcacard for smartcard support
   if test "$smartcard" != "no" ; then
       smartcard="yes"
       smartcard_cflags=""
       # TODO - what's the minimal nss version we support?
       if test "$smartcard_nss" != "no"; then
           if $pkg_config --atleast-version=3.12.8 nss >/dev/null 2>&1 ; then
               smartcard_nss="yes"
               smartcard_cflags="-I\$(SRC_PATH)/libcacard"
               libcacard_libs=$($pkg_config --libs nss 2>/dev/null)
               libcacard_cflags=$($pkg_config --cflags nss 2>/dev/null)
               QEMU_CFLAGS="$QEMU_CFLAGS $smartcard_cflags $libcacard_cflags"
               LIBS="$libcacard_libs $LIBS"
           else
               if test "$smartcard_nss" = "yes"; then
                   feature_not_found "nss"
               fi
               smartcard_nss="no"
           fi
       fi
   fi
   if test "$smartcard" = "no" ; then
       smartcard_nss="no"
   fi
   
   # check for usbredirparser for usb network redirection support
   if test "$usb_redir" != "no" ; then
       if $pkg_config libusbredirparser >/dev/null 2>&1 ; then
           usb_redir="yes"
           usb_redir_cflags=$($pkg_config --cflags libusbredirparser 2>/dev/null)
           usb_redir_libs=$($pkg_config --libs libusbredirparser 2>/dev/null)
           QEMU_CFLAGS="$QEMU_CFLAGS $usb_redir_cflags"
           LIBS="$LIBS $usb_redir_libs"
       else
           if test "$usb_redir" = "yes"; then
               feature_not_found "usb-redir"
           fi
           usb_redir="no"
       fi
   fi
   
   ##########################################
   
   ##########################################
   # check if we have fdatasync
   
   fdatasync=no
   cat > $TMPC << EOF
   #include <unistd.h>
   int main(void) {
   #if defined(_POSIX_SYNCHRONIZED_IO) && _POSIX_SYNCHRONIZED_IO > 0
   return fdatasync(0);
   #else
   #abort Not supported
   #endif
   }
   EOF
   if compile_prog "" "" ; then
       fdatasync=yes
 fi  fi
   
 # Check if tools are available to build documentation.  ##########################################
 if test "$docs" != "no" ; then  # check if we have madvise
   if test -x "`which texi2html 2>/dev/null`" -a \  
           -x "`which pod2man 2>/dev/null`" ; then  
     docs=yes  
   else  
     if test "$docs" = "yes" ; then  
       feature_not_found "docs"  
     fi  
     docs=no  
   fi  
 fi  
   
 # Search for bswap_32 function  madvise=no
 byteswap_h=no  
 cat > $TMPC << EOF  cat > $TMPC << EOF
 #include <byteswap.h>  #include <sys/types.h>
 int main(void) { return bswap_32(0); }  #include <sys/mman.h>
   #include <stddef.h>
   int main(void) { return madvise(NULL, 0, MADV_DONTNEED); }
 EOF  EOF
 if compile_prog "" "" ; then  if compile_prog "" "" ; then
   byteswap_h=yes      madvise=yes
 fi  fi
   
 # Search for bswap_32 function  ##########################################
 bswap_h=no  # check if we have posix_madvise
   
   posix_madvise=no
 cat > $TMPC << EOF  cat > $TMPC << EOF
 #include <sys/endian.h>  #include <sys/mman.h>
 #include <sys/types.h>  #include <stddef.h>
 #include <machine/bswap.h>  int main(void) { return posix_madvise(NULL, 0, POSIX_MADV_DONTNEED); }
 int main(void) { return bswap32(0); }  
 EOF  EOF
 if compile_prog "" "" ; then  if compile_prog "" "" ; then
   bswap_h=yes      posix_madvise=yes
 fi  fi
   
 ##########################################  ##########################################
 # Do we need librt  # check if trace backend exists
 cat > $TMPC <<EOF  
 #include <signal.h>  
 #include <time.h>  
 int main(void) { clockid_t id; return clock_gettime(id, NULL); }  
 EOF  
   
 if compile_prog "" "" ; then  sh "$source_path/scripts/tracetool" "--$trace_backend" --check-backend > /dev/null 2> /dev/null
   :  if test "$?" -ne 0 ; then
 elif compile_prog "" "-lrt" ; then    echo
   LIBS="-lrt $LIBS"    echo "Error: invalid trace backend"
     echo "Please choose a supported trace backend."
     echo
     exit 1
 fi  fi
   
 # Determine what linker flags to use to force archive inclusion  ##########################################
 check_linker_flags()  # For 'ust' backend, test if ust headers are present
 {  if test "$trace_backend" = "ust"; then
     w2=    cat > $TMPC << EOF
     if test "$2" ; then  #include <ust/tracepoint.h>
         w2=-Wl,$2  #include <ust/marker.h>
     fi  int main(void) { return 0; }
     compile_prog "" "-Wl,$1 ${w2}"  EOF
 }    if compile_prog "" "" ; then
       LIBS="-lust $LIBS"
     else
       echo
       echo "Error: Trace backend 'ust' missing libust header files"
       echo
       exit 1
     fi
   fi
   
 cat > $TMPC << EOF  ##########################################
 int main(void) { }  # For 'dtrace' backend, test if 'dtrace' command is present
 EOF  if test "$trace_backend" = "dtrace"; then
 if check_linker_flags --whole-archive --no-whole-archive ; then    if ! has 'dtrace' ; then
     # GNU ld      echo
     arlibs_begin="-Wl,--whole-archive"      echo "Error: dtrace command is not found in PATH $PATH"
     arlibs_end="-Wl,--no-whole-archive"      echo
 elif check_linker_flags -z,allextract -z,defaultextract ; then  
     # Solaris ld  
     arlibs_begin="-Wl,-z,allextract"  
     arlibs_end="-Wl,-z,defaultextract"  
 elif check_linker_flags -all_load ; then  
     # Mac OS X  
     arlibs_begin="-all_load"  
     arlibs_end=""  
 else  
     echo "Error: your linker does not support --whole-archive or -z."  
     echo "Please report to qemu-devel@nongnu.org"  
     exit 1      exit 1
     fi
     trace_backend_stap="no"
     if has 'stap' ; then
       trace_backend_stap="yes"
     fi
 fi  fi
   
 if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \  ##########################################
         "$aix" != "yes" ; then  # __sync_fetch_and_and requires at least -march=i486. Many toolchains
     libs_softmmu="-lutil $libs_softmmu"  # use i686 as default anyway, but for those that don't, an explicit
   # specification is necessary
   if test "$vhost_net" = "yes" && test "$cpu" = "i386"; then
     cat > $TMPC << EOF
   int sfaa(unsigned *ptr)
   {
     return __sync_fetch_and_and(ptr, 0);
   }
   
   int main(int argc, char **argv)
   {
     int val = 42;
     sfaa(&val);
     return val;
   }
   EOF
     if ! compile_prog "" "" ; then
       CFLAGS+="-march=i486"
     fi
 fi  fi
   
 ##########################################  ##########################################
 # check if the compiler defines offsetof  # check if we have makecontext
   
 need_offsetof=yes  ucontext_coroutine=no
 cat > $TMPC << EOF  if test "$darwin" != "yes"; then
 #include <stddef.h>    cat > $TMPC << EOF
 int main(void) { struct s { int f; }; return offsetof(struct s, f); }  #include <ucontext.h>
   int main(void) { makecontext(0, 0, 0); }
 EOF  EOF
 if compile_prog "" "" ; then    if compile_prog "" "" ; then
     need_offsetof=no        ucontext_coroutine=yes
     fi
 fi  fi
   
 ##########################################  ##########################################
 # check if the compiler understands attribute warn_unused_result  # check if we have open_by_handle_at
 #  
 # This could be smarter, but gcc -Werror does not error out even when warning  
 # about attribute warn_unused_result  
   
 gcc_attribute_warn_unused_result=no  open_by_hande_at=no
 cat > $TMPC << EOF  cat > $TMPC << EOF
 #if defined(__GNUC__) && (__GNUC__ < 4) && defined(__GNUC_MINOR__) && (__GNUC__ < 4)  #include <fcntl.h>
 #error gcc 3.3 or older  int main(void) { struct file_handle fh; open_by_handle_at(0, &fh, 0); }
 #endif  
 int main(void) { return 0;}  
 EOF  EOF
 if compile_prog "" ""; then  if compile_prog "" "" ; then
     gcc_attribute_warn_unused_result=yes      open_by_handle_at=yes
 fi  fi
   
 ##########################################  ########################################
 # check if we have fdatasync  # check if we have linux/magic.h
   
 fdatasync=no  linux_magic_h=no
 cat > $TMPC << EOF  cat > $TMPC << EOF
 #include <unistd.h>  #include <linux/magic.h>
 int main(void) { return fdatasync(0); }  int main(void) {
   }
 EOF  EOF
 if compile_prog "" "" ; then  if compile_prog "" "" ; then
     fdatasync=yes      linux_magic_h=yes
 fi  fi
   
   ##########################################
 # End of CC checks  # End of CC checks
 # After here, no more $cc or $ld runs  # After here, no more $cc or $ld runs
   
Line 1824  if test "$solaris" = "no" ; then Line 2721  if test "$solaris" = "no" ; then
     fi      fi
 fi  fi
   
   # Use ASLR, no-SEH and DEP if available
 if test "$mingw32" = "yes" ; then  if test "$mingw32" = "yes" ; then
   if test -z "$prefix" ; then      for flag in --dynamicbase --no-seh --nxcompat; do
       prefix="c:/Program Files/Qemu"          if $ld --help 2>/dev/null | grep ".$flag" >/dev/null 2>/dev/null ; then
   fi              LDFLAGS="-Wl,$flag $LDFLAGS"
   mansuffix=""          fi
   datasuffix=""      done
   docsuffix=""  fi
   binsuffix=""  
 else  confdir=$sysconfdir$confsuffix
   if test -z "$prefix" ; then  
       prefix="/usr/local"  tools=
   if test "$softmmu" = yes ; then
     tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools"
     if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then
         tools="qemu-nbd\$(EXESUF) $tools"
       if [ "$guest_agent" = "yes" ]; then
         tools="qemu-ga\$(EXESUF) $tools"
       fi
       if [ "$check_utests" = "yes" ]; then
         checks="check-qint check-qstring check-qdict check-qlist"
         checks="check-qfloat check-qjson test-coroutine $checks"
       fi
   fi    fi
   mansuffix="/share/man"  fi
   datasuffix="/share/qemu"  
   docsuffix="/share/doc/qemu"  # Mac OS X ships with a broken assembler
   binsuffix="/bin"  roms=
   if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
           "$targetos" != "Darwin" -a "$targetos" != "SunOS" -a \
           "$softmmu" = yes ; then
     roms="optionrom"
   fi
   if test "$cpu" = "ppc64" -a "$targetos" != "Darwin" ; then
     roms="$roms spapr-rtas"
 fi  fi
   
 echo "Install prefix    $prefix"  echo "Install prefix    $prefix"
 echo "BIOS directory    $prefix$datasuffix"  echo "BIOS directory    `eval echo $datadir`"
 echo "binary directory  $prefix$binsuffix"  echo "binary directory  `eval echo $bindir`"
   echo "library directory `eval echo $libdir`"
   echo "include directory `eval echo $includedir`"
   echo "config directory  `eval echo $sysconfdir`"
 if test "$mingw32" = "no" ; then  if test "$mingw32" = "no" ; then
 echo "Manual directory  $prefix$mansuffix"  echo "Manual directory  `eval echo $mandir`"
 echo "ELF interp prefix $interp_prefix"  echo "ELF interp prefix $interp_prefix"
 fi  fi
 echo "Source path       $source_path"  echo "Source path       $source_path"
Line 1857  echo "QEMU_CFLAGS       $QEMU_CFLAGS" Line 2776  echo "QEMU_CFLAGS       $QEMU_CFLAGS"
 echo "LDFLAGS           $LDFLAGS"  echo "LDFLAGS           $LDFLAGS"
 echo "make              $make"  echo "make              $make"
 echo "install           $install"  echo "install           $install"
   echo "python            $python"
   if test "$slirp" = "yes" ; then
       echo "smbd              $smbd"
   fi
 echo "host CPU          $cpu"  echo "host CPU          $cpu"
 echo "host big endian   $bigendian"  echo "host big endian   $bigendian"
 echo "target list       $target_list"  echo "target list       $target_list"
 echo "tcg debug enabled $debug_tcg"  echo "tcg debug enabled $debug_tcg"
   echo "Mon debug enabled $debug_mon"
 echo "gprof enabled     $gprof"  echo "gprof enabled     $gprof"
 echo "sparse enabled    $sparse"  echo "sparse enabled    $sparse"
 echo "strip binaries    $strip_opt"  echo "strip binaries    $strip_opt"
Line 1879  echo "Audio drivers     $audio_drv_list" Line 2803  echo "Audio drivers     $audio_drv_list"
 echo "Extra audio cards $audio_card_list"  echo "Extra audio cards $audio_card_list"
 echo "Block whitelist   $block_drv_whitelist"  echo "Block whitelist   $block_drv_whitelist"
 echo "Mixer emulation   $mixemu"  echo "Mixer emulation   $mixemu"
 echo "VNC TLS support   $vnc_tls"  echo "VNC support       $vnc"
 echo "VNC SASL support  $vnc_sasl"  if test "$vnc" = "yes" ; then
       echo "VNC TLS support   $vnc_tls"
       echo "VNC SASL support  $vnc_sasl"
       echo "VNC JPEG support  $vnc_jpeg"
       echo "VNC PNG support   $vnc_png"
       echo "VNC thread        $vnc_thread"
   fi
 if test -n "$sparc_cpu"; then  if test -n "$sparc_cpu"; then
     echo "Target Sparc Arch $sparc_cpu"      echo "Target Sparc Arch $sparc_cpu"
 fi  fi
Line 1892  echo "Documentation     $docs" Line 2822  echo "Documentation     $docs"
 echo "uname -r          $uname_release"  echo "uname -r          $uname_release"
 echo "NPTL support      $nptl"  echo "NPTL support      $nptl"
 echo "GUEST_BASE        $guest_base"  echo "GUEST_BASE        $guest_base"
 echo "PIE user targets  $user_pie"  echo "PIE               $pie"
 echo "vde support       $vde"  echo "vde support       $vde"
 echo "IO thread         $io_thread"  
 echo "Linux AIO support $linux_aio"  echo "Linux AIO support $linux_aio"
   echo "ATTR/XATTR support $attr"
 echo "Install blobs     $blobs"  echo "Install blobs     $blobs"
 echo "KVM support       $kvm"  echo "KVM support       $kvm"
   echo "TCG interpreter   $tcg_interpreter"
 echo "fdt support       $fdt"  echo "fdt support       $fdt"
 echo "preadv support    $preadv"  echo "preadv support    $preadv"
 echo "fdatasync         $fdatasync"  echo "fdatasync         $fdatasync"
   echo "madvise           $madvise"
   echo "posix_madvise     $posix_madvise"
 echo "uuid support      $uuid"  echo "uuid support      $uuid"
   echo "vhost-net support $vhost_net"
   echo "Trace backend     $trace_backend"
   echo "Trace output file $trace_file-<pid>"
   echo "spice support     $spice"
   echo "rbd support       $rbd"
   echo "xfsctl support    $xfs"
   echo "nss used          $smartcard_nss"
   echo "usb net redir     $usb_redir"
   echo "OpenGL support    $opengl"
   echo "libiscsi support  $libiscsi"
   echo "build guest agent $guest_agent"
   
 if test $sdl_too_old = "yes"; then  if test "$sdl_too_old" = "yes"; then
 echo "-> Your SDL version is too old - please upgrade to have SDL support"  echo "-> Your SDL version is too old - please upgrade to have SDL support"
 fi  fi
   
Line 1915  printf "# Configured with:" >> $config_h Line 2859  printf "# Configured with:" >> $config_h
 printf " '%s'" "$0" "$@" >> $config_host_mak  printf " '%s'" "$0" "$@" >> $config_host_mak
 echo >> $config_host_mak  echo >> $config_host_mak
   
 echo "CONFIG_QEMU_SHAREDIR=\"$prefix$datasuffix\"" >> $config_host_mak  echo all: >> $config_host_mak
   echo "prefix=$prefix" >> $config_host_mak
   echo "bindir=$bindir" >> $config_host_mak
   echo "libdir=$libdir" >> $config_host_mak
   echo "includedir=$includedir" >> $config_host_mak
   echo "mandir=$mandir" >> $config_host_mak
   echo "datadir=$datadir" >> $config_host_mak
   echo "sysconfdir=$sysconfdir" >> $config_host_mak
   echo "docdir=$docdir" >> $config_host_mak
   echo "confdir=$confdir" >> $config_host_mak
   
 case "$cpu" in  case "$cpu" in
   i386|x86_64|alpha|cris|hppa|ia64|m68k|microblaze|mips|mips64|ppc|ppc64|s390|s390x|sparc|sparc64)    i386|x86_64|alpha|cris|hppa|ia64|lm32|m68k|microblaze|mips|mips64|ppc|ppc64|s390|s390x|sparc|sparc64|unicore32)
     ARCH=$cpu      ARCH=$cpu
   ;;    ;;
   armv4b|armv4l)    armv4b|armv4l)
     ARCH=arm      ARCH=arm
   ;;    ;;
   *)    *)
     echo "Unsupported CPU = $cpu"      if test "$tcg_interpreter" = "yes" ; then
     exit 1          echo "Unsupported CPU = $cpu, will use TCG with TCI (experimental)"
           ARCH=tci
       else
           echo "Unsupported CPU = $cpu, try --enable-tcg-interpreter"
           exit 1
       fi
   ;;    ;;
 esac  esac
 echo "ARCH=$ARCH" >> $config_host_mak  echo "ARCH=$ARCH" >> $config_host_mak
 if test "$debug_tcg" = "yes" ; then  if test "$debug_tcg" = "yes" ; then
   echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak    echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
 fi  fi
   if test "$debug_mon" = "yes" ; then
     echo "CONFIG_DEBUG_MONITOR=y" >> $config_host_mak
   fi
 if test "$debug" = "yes" ; then  if test "$debug" = "yes" ; then
   echo "CONFIG_DEBUG_EXEC=y" >> $config_host_mak    echo "CONFIG_DEBUG_EXEC=y" >> $config_host_mak
 fi  fi
 if test "$strip_opt" = "yes" ; then  if test "$strip_opt" = "yes" ; then
   echo "STRIP_OPT=-s" >> $config_host_mak    echo "STRIP=${strip}" >> $config_host_mak
 fi  fi
 if test "$bigendian" = "yes" ; then  if test "$bigendian" = "yes" ; then
   echo "HOST_WORDS_BIGENDIAN=y" >> $config_host_mak    echo "HOST_WORDS_BIGENDIAN=y" >> $config_host_mak
Line 1945  fi Line 2906  fi
 echo "HOST_LONG_BITS=$hostlongbits" >> $config_host_mak  echo "HOST_LONG_BITS=$hostlongbits" >> $config_host_mak
 if test "$mingw32" = "yes" ; then  if test "$mingw32" = "yes" ; then
   echo "CONFIG_WIN32=y" >> $config_host_mak    echo "CONFIG_WIN32=y" >> $config_host_mak
     rc_version=`cat $source_path/VERSION`
     version_major=${rc_version%%.*}
     rc_version=${rc_version#*.}
     version_minor=${rc_version%%.*}
     rc_version=${rc_version#*.}
     version_subminor=${rc_version%%.*}
     version_micro=0
     echo "CONFIG_FILEVERSION=$version_major,$version_minor,$version_subminor,$version_micro" >> $config_host_mak
     echo "CONFIG_PRODUCTVERSION=$version_major,$version_minor,$version_subminor,$version_micro" >> $config_host_mak
 else  else
   echo "CONFIG_POSIX=y" >> $config_host_mak    echo "CONFIG_POSIX=y" >> $config_host_mak
 fi  fi
Line 1968  if test "$solaris" = "yes" ; then Line 2938  if test "$solaris" = "yes" ; then
     echo "CONFIG_NEEDS_LIBSUNMATH=y" >> $config_host_mak      echo "CONFIG_NEEDS_LIBSUNMATH=y" >> $config_host_mak
   fi    fi
 fi  fi
   if test "$haiku" = "yes" ; then
     echo "CONFIG_HAIKU=y" >> $config_host_mak
   fi
 if test "$static" = "yes" ; then  if test "$static" = "yes" ; then
   echo "CONFIG_STATIC=y" >> $config_host_mak    echo "CONFIG_STATIC=y" >> $config_host_mak
   LDFLAGS="-static $LDFLAGS"  
 fi  fi
 if test $profiler = "yes" ; then  if test "$profiler" = "yes" ; then
   echo "CONFIG_PROFILER=y" >> $config_host_mak    echo "CONFIG_PROFILER=y" >> $config_host_mak
 fi  fi
 if test "$slirp" = "yes" ; then  if test "$slirp" = "yes" ; then
   echo "CONFIG_SLIRP=y" >> $config_host_mak    echo "CONFIG_SLIRP=y" >> $config_host_mak
   QEMU_CFLAGS="-I\$(SRC_PATH)/slirp $QEMU_CFLAGS"    echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
     QEMU_INCLUDES="-I\$(SRC_PATH)/slirp $QEMU_INCLUDES"
 fi  fi
 if test "$vde" = "yes" ; then  if test "$vde" = "yes" ; then
   echo "CONFIG_VDE=y" >> $config_host_mak    echo "CONFIG_VDE=y" >> $config_host_mak
Line 2004  echo "CONFIG_BDRV_WHITELIST=$block_drv_w Line 2977  echo "CONFIG_BDRV_WHITELIST=$block_drv_w
 if test "$mixemu" = "yes" ; then  if test "$mixemu" = "yes" ; then
   echo "CONFIG_MIXEMU=y" >> $config_host_mak    echo "CONFIG_MIXEMU=y" >> $config_host_mak
 fi  fi
   if test "$vnc" = "yes" ; then
     echo "CONFIG_VNC=y" >> $config_host_mak
   fi
 if test "$vnc_tls" = "yes" ; then  if test "$vnc_tls" = "yes" ; then
   echo "CONFIG_VNC_TLS=y" >> $config_host_mak    echo "CONFIG_VNC_TLS=y" >> $config_host_mak
   echo "VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_host_mak    echo "VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_host_mak
Line 2012  if test "$vnc_sasl" = "yes" ; then Line 2988  if test "$vnc_sasl" = "yes" ; then
   echo "CONFIG_VNC_SASL=y" >> $config_host_mak    echo "CONFIG_VNC_SASL=y" >> $config_host_mak
   echo "VNC_SASL_CFLAGS=$vnc_sasl_cflags" >> $config_host_mak    echo "VNC_SASL_CFLAGS=$vnc_sasl_cflags" >> $config_host_mak
 fi  fi
   if test "$vnc_jpeg" = "yes" ; then
     echo "CONFIG_VNC_JPEG=y" >> $config_host_mak
     echo "VNC_JPEG_CFLAGS=$vnc_jpeg_cflags" >> $config_host_mak
   fi
   if test "$vnc_png" = "yes" ; then
     echo "CONFIG_VNC_PNG=y" >> $config_host_mak
     echo "VNC_PNG_CFLAGS=$vnc_png_cflags" >> $config_host_mak
   fi
   if test "$vnc_thread" = "yes" ; then
     echo "CONFIG_VNC_THREAD=y" >> $config_host_mak
   fi
 if test "$fnmatch" = "yes" ; then  if test "$fnmatch" = "yes" ; then
   echo "CONFIG_FNMATCH=y" >> $config_host_mak    echo "CONFIG_FNMATCH=y" >> $config_host_mak
 fi  fi
 if test "$uuid" = "yes" ; then  if test "$uuid" = "yes" ; then
   echo "CONFIG_UUID=y" >> $config_host_mak    echo "CONFIG_UUID=y" >> $config_host_mak
 fi  fi
   if test "$xfs" = "yes" ; then
     echo "CONFIG_XFS=y" >> $config_host_mak
   fi
 qemu_version=`head $source_path/VERSION`  qemu_version=`head $source_path/VERSION`
 echo "VERSION=$qemu_version" >>$config_host_mak  echo "VERSION=$qemu_version" >>$config_host_mak
 echo "PKGVERSION=$pkgversion" >>$config_host_mak  echo "PKGVERSION=$pkgversion" >>$config_host_mak
 echo "SRC_PATH=$source_path" >> $config_host_mak  echo "SRC_PATH=$source_path" >> $config_host_mak
 if [ "$source_path_used" = "yes" ]; then  
   echo "VPATH=$source_path" >> $config_host_mak  
 fi  
 echo "TARGET_DIRS=$target_list" >> $config_host_mak  echo "TARGET_DIRS=$target_list" >> $config_host_mak
 if [ "$docs" = "yes" ] ; then  if [ "$docs" = "yes" ] ; then
   echo "BUILD_DOCS=yes" >> $config_host_mak    echo "BUILD_DOCS=yes" >> $config_host_mak
Line 2060  fi Line 3047  fi
 if test "$fallocate" = "yes" ; then  if test "$fallocate" = "yes" ; then
   echo "CONFIG_FALLOCATE=y" >> $config_host_mak    echo "CONFIG_FALLOCATE=y" >> $config_host_mak
 fi  fi
   if test "$sync_file_range" = "yes" ; then
     echo "CONFIG_SYNC_FILE_RANGE=y" >> $config_host_mak
   fi
   if test "$fiemap" = "yes" ; then
     echo "CONFIG_FIEMAP=y" >> $config_host_mak
   fi
 if test "$dup3" = "yes" ; then  if test "$dup3" = "yes" ; then
   echo "CONFIG_DUP3=y" >> $config_host_mak    echo "CONFIG_DUP3=y" >> $config_host_mak
 fi  fi
   if test "$epoll" = "yes" ; then
     echo "CONFIG_EPOLL=y" >> $config_host_mak
   fi
   if test "$epoll_create1" = "yes" ; then
     echo "CONFIG_EPOLL_CREATE1=y" >> $config_host_mak
   fi
   if test "$epoll_pwait" = "yes" ; then
     echo "CONFIG_EPOLL_PWAIT=y" >> $config_host_mak
   fi
 if test "$inotify" = "yes" ; then  if test "$inotify" = "yes" ; then
   echo "CONFIG_INOTIFY=y" >> $config_host_mak    echo "CONFIG_INOTIFY=y" >> $config_host_mak
 fi  fi
   if test "$inotify1" = "yes" ; then
     echo "CONFIG_INOTIFY1=y" >> $config_host_mak
   fi
 if test "$byteswap_h" = "yes" ; then  if test "$byteswap_h" = "yes" ; then
   echo "CONFIG_BYTESWAP_H=y" >> $config_host_mak    echo "CONFIG_BYTESWAP_H=y" >> $config_host_mak
 fi  fi
Line 2083  if test "$bluez" = "yes" ; then Line 3088  if test "$bluez" = "yes" ; then
   echo "CONFIG_BLUEZ=y" >> $config_host_mak    echo "CONFIG_BLUEZ=y" >> $config_host_mak
   echo "BLUEZ_CFLAGS=$bluez_cflags" >> $config_host_mak    echo "BLUEZ_CFLAGS=$bluez_cflags" >> $config_host_mak
 fi  fi
   echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
 if test "$xen" = "yes" ; then  if test "$xen" = "yes" ; then
   echo "CONFIG_XEN=y" >> $config_host_mak    echo "CONFIG_XEN_BACKEND=y" >> $config_host_mak
 fi    echo "CONFIG_XEN_CTRL_INTERFACE_VERSION=$xen_ctrl_version" >> $config_host_mak
 if test "$io_thread" = "yes" ; then  
   echo "CONFIG_IOTHREAD=y" >> $config_host_mak  
 fi  fi
 if test "$linux_aio" = "yes" ; then  if test "$linux_aio" = "yes" ; then
   echo "CONFIG_LINUX_AIO=y" >> $config_host_mak    echo "CONFIG_LINUX_AIO=y" >> $config_host_mak
 fi  fi
   if test "$attr" = "yes" ; then
     echo "CONFIG_ATTR=y" >> $config_host_mak
   fi
   if test "$libattr" = "yes" ; then
     echo "CONFIG_LIBATTR=y" >> $config_host_mak
   fi
   if test "$linux" = "yes" ; then
     if test "$attr" = "yes" ; then
       echo "CONFIG_VIRTFS=y" >> $config_host_mak
     fi
   fi
 if test "$blobs" = "yes" ; then  if test "$blobs" = "yes" ; then
   echo "INSTALL_BLOBS=yes" >> $config_host_mak    echo "INSTALL_BLOBS=yes" >> $config_host_mak
 fi  fi
Line 2104  fi Line 3119  fi
 if test "$fdt" = "yes" ; then  if test "$fdt" = "yes" ; then
   echo "CONFIG_FDT=y" >> $config_host_mak    echo "CONFIG_FDT=y" >> $config_host_mak
 fi  fi
   if test "$signalfd" = "yes" ; then
     echo "CONFIG_SIGNALFD=y" >> $config_host_mak
   fi
   if test "$tcg_interpreter" = "yes" ; then
     echo "CONFIG_TCG_INTERPRETER=y" >> $config_host_mak
   fi
 if test "$need_offsetof" = "yes" ; then  if test "$need_offsetof" = "yes" ; then
   echo "CONFIG_NEED_OFFSETOF=y" >> $config_host_mak    echo "CONFIG_NEED_OFFSETOF=y" >> $config_host_mak
 fi  fi
 if test "$gcc_attribute_warn_unused_result" = "yes" ; then  
   echo "CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT=y" >> $config_host_mak  
 fi  
 if test "$fdatasync" = "yes" ; then  if test "$fdatasync" = "yes" ; then
   echo "CONFIG_FDATASYNC=y" >> $config_host_mak    echo "CONFIG_FDATASYNC=y" >> $config_host_mak
 fi  fi
   if test "$madvise" = "yes" ; then
     echo "CONFIG_MADVISE=y" >> $config_host_mak
   fi
   if test "$posix_madvise" = "yes" ; then
     echo "CONFIG_POSIX_MADVISE=y" >> $config_host_mak
   fi
   
   if test "$spice" = "yes" ; then
     echo "CONFIG_SPICE=y" >> $config_host_mak
   fi
   
   if test "$smartcard" = "yes" ; then
     echo "CONFIG_SMARTCARD=y" >> $config_host_mak
   fi
   
   if test "$smartcard_nss" = "yes" ; then
     echo "CONFIG_SMARTCARD_NSS=y" >> $config_host_mak
   fi
   
   if test "$usb_redir" = "yes" ; then
     echo "CONFIG_USB_REDIR=y" >> $config_host_mak
   fi
   
   if test "$opengl" = "yes" ; then
     echo "CONFIG_OPENGL=y" >> $config_host_mak
   fi
   
   if test "$libiscsi" = "yes" ; then
     echo "CONFIG_LIBISCSI=y" >> $config_host_mak
   fi
   
 # XXX: suppress that  # XXX: suppress that
 if [ "$bsd" = "yes" ] ; then  if [ "$bsd" = "yes" ] ; then
Line 2124  echo "CONFIG_UNAME_RELEASE=\"$uname_rele Line 3172  echo "CONFIG_UNAME_RELEASE=\"$uname_rele
 if test "$zero_malloc" = "yes" ; then  if test "$zero_malloc" = "yes" ; then
   echo "CONFIG_ZERO_MALLOC=y" >> $config_host_mak    echo "CONFIG_ZERO_MALLOC=y" >> $config_host_mak
 fi  fi
   if test "$rbd" = "yes" ; then
     echo "CONFIG_RBD=y" >> $config_host_mak
   fi
   
   if test "$ucontext_coroutine" = "yes" ; then
     echo "CONFIG_UCONTEXT_COROUTINE=y" >> $config_host_mak
   fi
   
   if test "$open_by_handle_at" = "yes" ; then
     echo "CONFIG_OPEN_BY_HANDLE=y" >> $config_host_mak
   fi
   
   if test "$linux_magic_h" = "yes" ; then
     echo "CONFIG_LINUX_MAGIC_H=y" >> $config_host_mak
   fi
   
 # USB host support  # USB host support
 case "$usb" in  case "$usb" in
Line 2138  bsd) Line 3201  bsd)
 ;;  ;;
 esac  esac
   
 tools=  # use default implementation for tracing backend-specific routines
 if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then  trace_default=yes
   tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools"  echo "TRACE_BACKEND=$trace_backend" >> $config_host_mak
   if [ "$linux" = "yes" ] ; then  if test "$trace_backend" = "nop"; then
       tools="qemu-nbd\$(EXESUF) $tools"    echo "CONFIG_TRACE_NOP=y" >> $config_host_mak
     if [ "$check_utests" = "yes" ]; then  fi
       tools="check-qint check-qstring check-qdict check-qlist $tools"  if test "$trace_backend" = "simple"; then
       tools="check-qfloat check-qjson $tools"    echo "CONFIG_TRACE_SIMPLE=y" >> $config_host_mak
     fi    trace_default=no
   fi    # Set the appropriate trace file.
     trace_file="\"$trace_file-\" FMT_pid"
   fi
   if test "$trace_backend" = "stderr"; then
     echo "CONFIG_TRACE_STDERR=y" >> $config_host_mak
     trace_default=no
   fi
   if test "$trace_backend" = "ust"; then
     echo "CONFIG_TRACE_UST=y" >> $config_host_mak
   fi
   if test "$trace_backend" = "dtrace"; then
     echo "CONFIG_TRACE_DTRACE=y" >> $config_host_mak
     if test "$trace_backend_stap" = "yes" ; then
       echo "CONFIG_TRACE_SYSTEMTAP=y" >> $config_host_mak
     fi
   fi
   echo "CONFIG_TRACE_FILE=$trace_file" >> $config_host_mak
   if test "$trace_default" = "yes"; then
     echo "CONFIG_TRACE_DEFAULT=y" >> $config_host_mak
 fi  fi
 echo "TOOLS=$tools" >> $config_host_mak  
   
 # Mac OS X ships with a broken assembler  echo "TOOLS=$tools" >> $config_host_mak
 roms=  echo "CHECKS=$checks" >> $config_host_mak
 if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \  
         "$targetos" != "Darwin" -a "$targetos" != "SunOS" -a \  
         `expr "$target_list" : ".*softmmu.*"` != 0 ; then  
   roms="optionrom"  
 fi  
 echo "ROMS=$roms" >> $config_host_mak  echo "ROMS=$roms" >> $config_host_mak
   
 echo "prefix=$prefix" >> $config_host_mak  
 echo "bindir=\${prefix}$binsuffix" >> $config_host_mak  
 echo "mandir=\${prefix}$mansuffix" >> $config_host_mak  
 echo "datadir=\${prefix}$datasuffix" >> $config_host_mak  
 echo "docdir=\${prefix}$docsuffix" >> $config_host_mak  
 echo "MAKE=$make" >> $config_host_mak  echo "MAKE=$make" >> $config_host_mak
 echo "INSTALL=$install" >> $config_host_mak  echo "INSTALL=$install" >> $config_host_mak
 echo "INSTALL_DIR=$install -d -m0755 -p" >> $config_host_mak  echo "INSTALL_DIR=$install -d -m 0755" >> $config_host_mak
 echo "INSTALL_DATA=$install -m0644 -p" >> $config_host_mak  echo "INSTALL_DATA=$install -c -m 0644" >> $config_host_mak
 echo "INSTALL_PROG=$install -m0755 -p" >> $config_host_mak  echo "INSTALL_PROG=$install -c -m 0755" >> $config_host_mak
   echo "PYTHON=$python" >> $config_host_mak
 echo "CC=$cc" >> $config_host_mak  echo "CC=$cc" >> $config_host_mak
   echo "CC_I386=$cc_i386" >> $config_host_mak
 echo "HOST_CC=$host_cc" >> $config_host_mak  echo "HOST_CC=$host_cc" >> $config_host_mak
 if test "$sparse" = "yes" ; then  
   echo "CC      := REAL_CC=\"\$(CC)\" cgcc"       >> $config_host_mak  
   echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc"  >> $config_host_mak  
   echo "QEMU_CFLAGS  += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_host_mak  
 fi  
 echo "AR=$ar" >> $config_host_mak  echo "AR=$ar" >> $config_host_mak
 echo "OBJCOPY=$objcopy" >> $config_host_mak  echo "OBJCOPY=$objcopy" >> $config_host_mak
 echo "LD=$ld" >> $config_host_mak  echo "LD=$ld" >> $config_host_mak
   echo "WINDRES=$windres" >> $config_host_mak
   echo "LIBTOOL=$libtool" >> $config_host_mak
 echo "CFLAGS=$CFLAGS" >> $config_host_mak  echo "CFLAGS=$CFLAGS" >> $config_host_mak
 echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak  echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak
   echo "QEMU_INCLUDES=$QEMU_INCLUDES" >> $config_host_mak
   if test "$sparse" = "yes" ; then
     echo "CC           := REAL_CC=\"\$(CC)\" cgcc"       >> $config_host_mak
     echo "HOST_CC      := REAL_CC=\"\$(HOST_CC)\" cgcc"  >> $config_host_mak
     echo "QEMU_CFLAGS  += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_host_mak
   fi
 echo "HELPER_CFLAGS=$helper_cflags" >> $config_host_mak  echo "HELPER_CFLAGS=$helper_cflags" >> $config_host_mak
 echo "LDFLAGS=$LDFLAGS" >> $config_host_mak  echo "LDFLAGS=$LDFLAGS" >> $config_host_mak
 echo "ARLIBS_BEGIN=$arlibs_begin" >> $config_host_mak  echo "ARLIBS_BEGIN=$arlibs_begin" >> $config_host_mak
Line 2189  echo "ARLIBS_END=$arlibs_end" >> $config Line 3263  echo "ARLIBS_END=$arlibs_end" >> $config
 echo "LIBS+=$LIBS" >> $config_host_mak  echo "LIBS+=$LIBS" >> $config_host_mak
 echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak  echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
 echo "EXESUF=$EXESUF" >> $config_host_mak  echo "EXESUF=$EXESUF" >> $config_host_mak
   echo "LIBS_QGA+=$libs_qga" >> $config_host_mak
   
 # generate list of library paths for linker script  # generate list of library paths for linker script
   
Line 2202  if test -f ${config_host_ld}~ ; then Line 3277  if test -f ${config_host_ld}~ ; then
   fi    fi
 fi  fi
   
   for d in libdis libdis-user; do
       mkdir -p $d
       symlink $source_path/Makefile.dis $d/Makefile
       echo > $d/config.mak
   done
   
 for target in $target_list; do  for target in $target_list; do
 target_dir="$target"  target_dir="$target"
 config_target_mak=$target_dir/config-target.mak  config_target_mak=$target_dir/config-target.mak
Line 2209  target_arch2=`echo $target | cut -d '-'  Line 3290  target_arch2=`echo $target | cut -d '-' 
 target_bigendian="no"  target_bigendian="no"
   
 case "$target_arch2" in  case "$target_arch2" in
   armeb|m68k|microblaze|mips|mipsn32|mips64|ppc|ppcemb|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus)    armeb|lm32|m68k|microblaze|mips|mipsn32|mips64|ppc|ppcemb|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus|xtensaeb)
   target_bigendian=yes    target_bigendian=yes
   ;;    ;;
 esac  esac
Line 2256  mkdir -p $target_dir Line 3337  mkdir -p $target_dir
 mkdir -p $target_dir/fpu  mkdir -p $target_dir/fpu
 mkdir -p $target_dir/tcg  mkdir -p $target_dir/tcg
 mkdir -p $target_dir/ide  mkdir -p $target_dir/ide
   mkdir -p $target_dir/9pfs
 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then  if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
   mkdir -p $target_dir/nwfpe    mkdir -p $target_dir/nwfpe
 fi  fi
   symlink $source_path/Makefile.target $target_dir/Makefile
 #  
 # don't use ln -sf as not all "ln -sf" over write the file/link  
 #  
 rm -f $target_dir/Makefile  
 ln -s $source_path/Makefile.target $target_dir/Makefile  
   
   
 echo "# Automatically generated by configure - do not modify" > $config_target_mak  echo "# Automatically generated by configure - do not modify" > $config_target_mak
   
 bflt="no"  bflt="no"
 elfload32="no"  
 target_nptl="no"  target_nptl="no"
 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`  interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
 echo "CONFIG_QEMU_PREFIX=\"$interp_prefix1\"" >> $config_target_mak  echo "CONFIG_QEMU_INTERP_PREFIX=\"$interp_prefix1\"" >> $config_target_mak
 gdb_xml_files=""  gdb_xml_files=""
   target_short_alignment=2
   target_int_alignment=4
   target_long_alignment=4
   target_llong_alignment=8
   target_libs_softmmu=
   
 TARGET_ARCH="$target_arch2"  TARGET_ARCH="$target_arch2"
 TARGET_BASE_ARCH=""  TARGET_BASE_ARCH=""
Line 2282  TARGET_ABI_DIR="" Line 3363  TARGET_ABI_DIR=""
   
 case "$target_arch2" in  case "$target_arch2" in
   i386)    i386)
     target_phys_bits=32      target_phys_bits=64
   ;;    ;;
   x86_64)    x86_64)
     TARGET_BASE_ARCH=i386      TARGET_BASE_ARCH=i386
     target_phys_bits=64      target_phys_bits=64
       target_long_alignment=8
   ;;    ;;
   alpha)    alpha)
     target_phys_bits=64      target_phys_bits=64
       target_long_alignment=8
       target_nptl="yes"
   ;;    ;;
   arm|armeb)    arm|armeb)
     TARGET_ARCH=arm      TARGET_ARCH=arm
Line 2297  case "$target_arch2" in Line 3381  case "$target_arch2" in
     target_nptl="yes"      target_nptl="yes"
     gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"      gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
     target_phys_bits=32      target_phys_bits=32
       target_llong_alignment=4
   ;;    ;;
   cris)    cris)
     target_nptl="yes"      target_nptl="yes"
     target_phys_bits=32      target_phys_bits=32
   ;;    ;;
     lm32)
       target_phys_bits=32
       target_libs_softmmu="$opengl_libs"
     ;;
   m68k)    m68k)
     bflt="yes"      bflt="yes"
     gdb_xml_files="cf-core.xml cf-fp.xml"      gdb_xml_files="cf-core.xml cf-fp.xml"
     target_phys_bits=32      target_phys_bits=32
       target_int_alignment=2
       target_long_alignment=2
       target_llong_alignment=2
   ;;    ;;
   microblaze)    microblaze|microblazeel)
       TARGET_ARCH=microblaze
     bflt="yes"      bflt="yes"
     target_nptl="yes"      target_nptl="yes"
     target_phys_bits=32      target_phys_bits=32
       target_libs_softmmu="$fdt_libs"
   ;;    ;;
   mips|mipsel)    mips|mipsel)
     TARGET_ARCH=mips      TARGET_ARCH=mips
Line 2329  case "$target_arch2" in Line 3423  case "$target_arch2" in
     TARGET_BASE_ARCH=mips      TARGET_BASE_ARCH=mips
     echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak      echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
     target_phys_bits=64      target_phys_bits=64
       target_long_alignment=8
   ;;    ;;
   ppc)    ppc)
     gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"      gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
     target_phys_bits=32      target_phys_bits=64
     target_nptl="yes"      target_nptl="yes"
       target_libs_softmmu="$fdt_libs"
   ;;    ;;
   ppcemb)    ppcemb)
     TARGET_BASE_ARCH=ppc      TARGET_BASE_ARCH=ppc
Line 2341  case "$target_arch2" in Line 3437  case "$target_arch2" in
     gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"      gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
     target_phys_bits=64      target_phys_bits=64
     target_nptl="yes"      target_nptl="yes"
       target_libs_softmmu="$fdt_libs"
   ;;    ;;
   ppc64)    ppc64)
     TARGET_BASE_ARCH=ppc      TARGET_BASE_ARCH=ppc
     TARGET_ABI_DIR=ppc      TARGET_ABI_DIR=ppc
     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"      gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
     target_phys_bits=64      target_phys_bits=64
       target_long_alignment=8
       target_libs_softmmu="$fdt_libs"
   ;;    ;;
   ppc64abi32)    ppc64abi32)
     TARGET_ARCH=ppc64      TARGET_ARCH=ppc64
Line 2355  case "$target_arch2" in Line 3454  case "$target_arch2" in
     echo "TARGET_ABI32=y" >> $config_target_mak      echo "TARGET_ABI32=y" >> $config_target_mak
     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"      gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
     target_phys_bits=64      target_phys_bits=64
       target_libs_softmmu="$fdt_libs"
   ;;    ;;
   sh4|sh4eb)    sh4|sh4eb)
     TARGET_ARCH=sh4      TARGET_ARCH=sh4
Line 2367  case "$target_arch2" in Line 3467  case "$target_arch2" in
   ;;    ;;
   sparc64)    sparc64)
     TARGET_BASE_ARCH=sparc      TARGET_BASE_ARCH=sparc
     elfload32="yes"  
     target_phys_bits=64      target_phys_bits=64
       target_long_alignment=8
   ;;    ;;
   sparc32plus)    sparc32plus)
     TARGET_ARCH=sparc64      TARGET_ARCH=sparc64
Line 2378  case "$target_arch2" in Line 3478  case "$target_arch2" in
     target_phys_bits=64      target_phys_bits=64
   ;;    ;;
   s390x)    s390x)
       target_nptl="yes"
     target_phys_bits=64      target_phys_bits=64
       target_long_alignment=8
     ;;
     unicore32)
       target_phys_bits=32
     ;;
     xtensa|xtensaeb)
       TARGET_ARCH=xtensa
       target_phys_bits=32
   ;;    ;;
   *)    *)
     echo "Unsupported target CPU"      echo "Unsupported target CPU"
     exit 1      exit 1
   ;;    ;;
 esac  esac
   echo "TARGET_SHORT_ALIGNMENT=$target_short_alignment" >> $config_target_mak
   echo "TARGET_INT_ALIGNMENT=$target_int_alignment" >> $config_target_mak
   echo "TARGET_LONG_ALIGNMENT=$target_long_alignment" >> $config_target_mak
   echo "TARGET_LLONG_ALIGNMENT=$target_llong_alignment" >> $config_target_mak
 echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak  echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
 target_arch_name="`echo $TARGET_ARCH | tr '[:lower:]' '[:upper:]'`"  target_arch_name="`echo $TARGET_ARCH | tr '[:lower:]' '[:upper:]'`"
 echo "TARGET_$target_arch_name=y" >> $config_target_mak  echo "TARGET_$target_arch_name=y" >> $config_target_mak
Line 2398  if [ "$TARGET_ABI_DIR" = "" ]; then Line 3511  if [ "$TARGET_ABI_DIR" = "" ]; then
   TARGET_ABI_DIR=$TARGET_ARCH    TARGET_ABI_DIR=$TARGET_ARCH
 fi  fi
 echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak  echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
 if [ $target_phys_bits -lt $hostlongbits ] ; then  
   target_phys_bits=$hostlongbits  
 fi  
 case "$target_arch2" in  case "$target_arch2" in
   i386|x86_64)    i386|x86_64)
     if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then      if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then
         target_phys_bits=64
       echo "CONFIG_XEN=y" >> $config_target_mak        echo "CONFIG_XEN=y" >> $config_target_mak
       else
         echo "CONFIG_NO_XEN=y" >> $config_target_mak
     fi      fi
       ;;
     *)
       echo "CONFIG_NO_XEN=y" >> $config_target_mak
 esac  esac
 case "$target_arch2" in  case "$target_arch2" in
   i386|x86_64|ppcemb|ppc|ppc64|s390x)    i386|x86_64|ppcemb|ppc|ppc64|s390x)
Line 2414  case "$target_arch2" in Line 3530  case "$target_arch2" in
       \( "$target_arch2" = "$cpu" -o \        \( "$target_arch2" = "$cpu" -o \
       \( "$target_arch2" = "ppcemb" -a "$cpu" = "ppc" \) -o \        \( "$target_arch2" = "ppcemb" -a "$cpu" = "ppc" \) -o \
       \( "$target_arch2" = "ppc64"  -a "$cpu" = "ppc" \) -o \        \( "$target_arch2" = "ppc64"  -a "$cpu" = "ppc" \) -o \
         \( "$target_arch2" = "ppc"    -a "$cpu" = "ppc64" \) -o \
         \( "$target_arch2" = "ppcemb" -a "$cpu" = "ppc64" \) -o \
       \( "$target_arch2" = "x86_64" -a "$cpu" = "i386"   \) -o \        \( "$target_arch2" = "x86_64" -a "$cpu" = "i386"   \) -o \
       \( "$target_arch2" = "i386"   -a "$cpu" = "x86_64" \) \) ; then        \( "$target_arch2" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
       echo "CONFIG_KVM=y" >> $config_target_mak        echo "CONFIG_KVM=y" >> $config_target_mak
       echo "KVM_CFLAGS=$kvm_cflags" >> $config_target_mak        if test "$vhost_net" = "yes" ; then
           echo "CONFIG_VHOST_NET=y" >> $config_target_mak
         fi
     fi      fi
 esac  esac
 echo "TARGET_PHYS_ADDR_BITS=$target_phys_bits" >> $config_target_mak  if test "$target_arch2" = "ppc64" -a "$fdt" = "yes"; then
     echo "CONFIG_PSERIES=y" >> $config_target_mak
   fi
 if test "$target_bigendian" = "yes" ; then  if test "$target_bigendian" = "yes" ; then
   echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak    echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak
 fi  fi
 if test "$target_softmmu" = "yes" ; then  if test "$target_softmmu" = "yes" ; then
     echo "TARGET_PHYS_ADDR_BITS=$target_phys_bits" >> $config_target_mak
   echo "CONFIG_SOFTMMU=y" >> $config_target_mak    echo "CONFIG_SOFTMMU=y" >> $config_target_mak
   echo "LIBS+=$libs_softmmu" >> $config_target_mak    echo "LIBS+=$libs_softmmu $target_libs_softmmu" >> $config_target_mak
   echo "HWLIB=../libhw$target_phys_bits/libqemuhw$target_phys_bits.a" >> $config_target_mak    echo "HWDIR=../libhw$target_phys_bits" >> $config_target_mak
   echo "subdir-$target: subdir-libhw$target_phys_bits" >> $config_host_mak    echo "subdir-$target: subdir-libhw$target_phys_bits" >> $config_host_mak
 fi  fi
 if test "$target_user_only" = "yes" ; then  if test "$target_user_only" = "yes" ; then
Line 2439  fi Line 3562  fi
 if test "$target_darwin_user" = "yes" ; then  if test "$target_darwin_user" = "yes" ; then
   echo "CONFIG_DARWIN_USER=y" >> $config_target_mak    echo "CONFIG_DARWIN_USER=y" >> $config_target_mak
 fi  fi
   if test "$smartcard_nss" = "yes" ; then
     echo "subdir-$target: subdir-libcacard" >> $config_host_mak
     echo "libcacard_libs=$libcacard_libs" >> $config_host_mak
     echo "libcacard_cflags=$libcacard_cflags" >> $config_host_mak
   fi
 list=""  list=""
 if test ! -z "$gdb_xml_files" ; then  if test ! -z "$gdb_xml_files" ; then
   for x in $gdb_xml_files; do    for x in $gdb_xml_files; do
Line 2447  if test ! -z "$gdb_xml_files" ; then Line 3575  if test ! -z "$gdb_xml_files" ; then
   echo "TARGET_XML_FILES=$list" >> $config_target_mak    echo "TARGET_XML_FILES=$list" >> $config_target_mak
 fi  fi
   
 case "$target_arch2" in  
   arm|armeb|m68k|microblaze|mips|mipsel|mipsn32|mipsn32el|mips64|mips64el|ppc|ppc64|ppc64abi32|ppcemb|s390x|sparc|sparc64|sparc32plus)  
     echo "CONFIG_SOFTFLOAT=y" >> $config_target_mak  
     ;;  
   *)  
     echo "CONFIG_NOSOFTFLOAT=y" >> $config_target_mak  
     ;;  
 esac  
   
 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then  if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
   echo "TARGET_HAS_BFLT=y" >> $config_target_mak    echo "TARGET_HAS_BFLT=y" >> $config_target_mak
 fi  fi
Line 2463  if test "$target_user_only" = "yes" \ Line 3582  if test "$target_user_only" = "yes" \
         -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then          -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
   echo "CONFIG_USE_NPTL=y" >> $config_target_mak    echo "CONFIG_USE_NPTL=y" >> $config_target_mak
 fi  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=y" >> $config_target_mak  
 fi  
 if test "$target_user_only" = "yes" -a "$guest_base" = "yes"; then  if test "$target_user_only" = "yes" -a "$guest_base" = "yes"; then
   echo "CONFIG_USE_GUEST_BASE=y" >> $config_target_mak    echo "CONFIG_USE_GUEST_BASE=y" >> $config_target_mak
 fi  fi
Line 2477  fi Line 3592  fi
 # generate QEMU_CFLAGS/LDFLAGS for targets  # generate QEMU_CFLAGS/LDFLAGS for targets
   
 cflags=""  cflags=""
   includes=""
 ldflags=""  ldflags=""
   
 if test "$ARCH" = "sparc64" ; then  if test "$tcg_interpreter" = "yes"; then
   cflags="-I\$(SRC_PATH)/tcg/sparc $cflags"    includes="-I\$(SRC_PATH)/tcg/tci $includes"
   elif test "$ARCH" = "sparc64" ; then
     includes="-I\$(SRC_PATH)/tcg/sparc $includes"
 elif test "$ARCH" = "s390x" ; then  elif test "$ARCH" = "s390x" ; then
   cflags="-I\$(SRC_PATH)/tcg/s390 $cflags"    includes="-I\$(SRC_PATH)/tcg/s390 $includes"
   elif test "$ARCH" = "x86_64" ; then
     includes="-I\$(SRC_PATH)/tcg/i386 $includes"
   else
     includes="-I\$(SRC_PATH)/tcg/\$(ARCH) $includes"
   fi
   includes="-I\$(SRC_PATH)/tcg $includes"
   
   if test "$target_user_only" = "yes" ; then
       libdis_config_mak=libdis-user/config.mak
 else  else
   cflags="-I\$(SRC_PATH)/tcg/\$(ARCH) $cflags"      libdis_config_mak=libdis/config.mak
 fi  fi
 cflags="-I\$(SRC_PATH)/tcg $cflags"  
 cflags="-I\$(SRC_PATH)/fpu $cflags"  
   
 for i in $ARCH $TARGET_BASE_ARCH ; do  for i in $ARCH $TARGET_BASE_ARCH ; do
   case "$i" in    case "$i" in
   alpha)    alpha)
     echo "CONFIG_ALPHA_DIS=y"  >> $config_target_mak      echo "CONFIG_ALPHA_DIS=y"  >> $config_target_mak
       echo "CONFIG_ALPHA_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   arm)    arm)
     echo "CONFIG_ARM_DIS=y"  >> $config_target_mak      echo "CONFIG_ARM_DIS=y"  >> $config_target_mak
       echo "CONFIG_ARM_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   cris)    cris)
     echo "CONFIG_CRIS_DIS=y"  >> $config_target_mak      echo "CONFIG_CRIS_DIS=y"  >> $config_target_mak
       echo "CONFIG_CRIS_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   hppa)    hppa)
     echo "CONFIG_HPPA_DIS=y"  >> $config_target_mak      echo "CONFIG_HPPA_DIS=y"  >> $config_target_mak
       echo "CONFIG_HPPA_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   i386|x86_64)    i386|x86_64)
     echo "CONFIG_I386_DIS=y"  >> $config_target_mak      echo "CONFIG_I386_DIS=y"  >> $config_target_mak
       echo "CONFIG_I386_DIS=y"  >> $libdis_config_mak
     ;;
     ia64*)
       echo "CONFIG_IA64_DIS=y"  >> $config_target_mak
       echo "CONFIG_IA64_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   m68k)    m68k)
     echo "CONFIG_M68K_DIS=y"  >> $config_target_mak      echo "CONFIG_M68K_DIS=y"  >> $config_target_mak
       echo "CONFIG_M68K_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   microblaze)    microblaze*)
     echo "CONFIG_MICROBLAZE_DIS=y"  >> $config_target_mak      echo "CONFIG_MICROBLAZE_DIS=y"  >> $config_target_mak
       echo "CONFIG_MICROBLAZE_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   mips*)    mips*)
     echo "CONFIG_MIPS_DIS=y"  >> $config_target_mak      echo "CONFIG_MIPS_DIS=y"  >> $config_target_mak
       echo "CONFIG_MIPS_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   ppc*)    ppc*)
     echo "CONFIG_PPC_DIS=y"  >> $config_target_mak      echo "CONFIG_PPC_DIS=y"  >> $config_target_mak
       echo "CONFIG_PPC_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   s390*)    s390*)
     echo "CONFIG_S390_DIS=y"  >> $config_target_mak      echo "CONFIG_S390_DIS=y"  >> $config_target_mak
       echo "CONFIG_S390_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   sh4)    sh4)
     echo "CONFIG_SH4_DIS=y"  >> $config_target_mak      echo "CONFIG_SH4_DIS=y"  >> $config_target_mak
       echo "CONFIG_SH4_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   sparc*)    sparc*)
     echo "CONFIG_SPARC_DIS=y"  >> $config_target_mak      echo "CONFIG_SPARC_DIS=y"  >> $config_target_mak
       echo "CONFIG_SPARC_DIS=y"  >> $libdis_config_mak
     ;;
     xtensa*)
       echo "CONFIG_XTENSA_DIS=y"  >> $config_target_mak
       echo "CONFIG_XTENSA_DIS=y"  >> $libdis_config_mak
   ;;    ;;
   esac    esac
 done  done
   if test "$tcg_interpreter" = "yes" ; then
     echo "CONFIG_TCI_DIS=y"  >> $config_target_mak
     echo "CONFIG_TCI_DIS=y"  >> $libdis_config_mak
   fi
   
 case "$ARCH" in  case "$ARCH" in
 alpha)  alpha)
   # Ensure there's only a single GP    # Ensure there's only a single GP
   cflags="-msmall-data $cflags"    cflags="-msmall-data $cflags"
 ;;  ;;
 ia64)  
   cflags="-mno-sdata $cflags"  
 ;;  
 esac  esac
   
 if test "$target_softmmu" = "yes" ; then  if test "$target_softmmu" = "yes" ; then
Line 2545  if test "$target_softmmu" = "yes" ; then Line 3691  if test "$target_softmmu" = "yes" ; then
   arm)    arm)
     cflags="-DHAS_AUDIO $cflags"      cflags="-DHAS_AUDIO $cflags"
   ;;    ;;
     lm32)
       cflags="-DHAS_AUDIO $cflags"
     ;;
   i386|mips|ppc)    i386|mips|ppc)
     cflags="-DHAS_AUDIO -DHAS_AUDIO_CHOICE $cflags"      cflags="-DHAS_AUDIO -DHAS_AUDIO_CHOICE $cflags"
   ;;    ;;
   esac    esac
 fi  fi
   
 if test "$target_user_only" = "yes" -a "$static" = "no" -a \  
         "$user_pie" = "yes" ; then  
   cflags="-fpie $cflags"  
   ldflags="-pie $ldflags"  
 fi  
   
 if test "$target_softmmu" = "yes" -a \( \  if test "$target_softmmu" = "yes" -a \( \
         "$TARGET_ARCH" = "microblaze" -o \          "$TARGET_ARCH" = "microblaze" -o \
         "$TARGET_ARCH" = "cris" \) ; then          "$TARGET_ARCH" = "cris" \) ; then
Line 2575  if test "$gprof" = "yes" ; then Line 3718  if test "$gprof" = "yes" ; then
   fi    fi
 fi  fi
   
 linker_script="-Wl,-T../config-host.ld -Wl,-T,\$(SRC_PATH)/\$(ARCH).ld"  if test "$ARCH" = "tci"; then
     linker_script=""
   else
     linker_script="-Wl,-T../config-host.ld -Wl,-T,\$(SRC_PATH)/\$(ARCH).ld"
   fi
   
 if test "$target_linux_user" = "yes" -o "$target_bsd_user" = "yes" ; then  if test "$target_linux_user" = "yes" -o "$target_bsd_user" = "yes" ; then
   case "$ARCH" in    case "$ARCH" in
   sparc)    sparc)
     # -static is used to avoid g1/g3 usage by the dynamic linker      # -static is used to avoid g1/g3 usage by the dynamic linker
     ldflags="$linker_script -static $ldflags"      ldflags="$linker_script -static $ldflags"
     ;;      ;;
   ia64)    alpha | s390x)
     ldflags="-Wl,-G0 $linker_script -static $ldflags"      # The default placement of the application is fine.
     ;;      ;;
   i386|x86_64|ppc|ppc64|s390|sparc64|alpha|arm|m68k|mips|mips64)    *)
     ldflags="$linker_script $ldflags"      ldflags="$linker_script $ldflags"
     ;;      ;;
   esac    esac
 fi  fi
 if test "$target_softmmu" = "yes" ; then  
   case "$ARCH" in  # use included Linux headers
   ia64)  if test "$linux" = "yes" ; then
     ldflags="-Wl,-G0 $linker_script -static $ldflags"    includes="-I\$(SRC_PATH)/linux-headers $includes"
     mkdir -p linux-headers
     case "$cpu" in
     i386|x86_64)
       symlink $source_path/linux-headers/asm-x86 linux-headers/asm
       ;;
     ppcemb|ppc|ppc64)
       symlink $source_path/linux-headers/asm-powerpc linux-headers/asm
       ;;
     s390x)
       symlink $source_path/linux-headers/asm-s390 linux-headers/asm
     ;;      ;;
   esac    esac
 fi  fi
   
 echo "LDFLAGS+=$ldflags" >> $config_target_mak  echo "LDFLAGS+=$ldflags" >> $config_target_mak
 echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak  echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak
   echo "QEMU_INCLUDES+=$includes" >> $config_target_mak
   
 done # for target in $targets  done # for target in $targets
   
 # build tree in object directory if source path is different from current one  # build tree in object directory in case the source is not in the current directory
 if test "$source_path_used" = "yes" ; then  DIRS="tests tests/cris slirp audio block net pc-bios/optionrom"
     DIRS="tests tests/cris slirp audio block net pc-bios/optionrom"  DIRS="$DIRS pc-bios/spapr-rtas"
     DIRS="$DIRS roms/seabios roms/vgabios"  DIRS="$DIRS roms/seabios roms/vgabios"
     FILES="Makefile tests/Makefile"  DIRS="$DIRS fsdev ui"
     FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"  DIRS="$DIRS qapi qapi-generated"
     FILES="$FILES tests/test-mmap.c"  DIRS="$DIRS qga trace"
     FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps pc-bios/video.x"  FILES="Makefile tests/Makefile qdict-test-data.txt"
     FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile"  FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
     for bios_file in $source_path/pc-bios/*.bin $source_path/pc-bios/*.dtb $source_path/pc-bios/openbios-*; do  FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps"
         FILES="$FILES pc-bios/`basename $bios_file`"  FILES="$FILES pc-bios/spapr-rtas/Makefile"
     done  FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile"
     for dir in $DIRS ; do  for bios_file in \
             mkdir -p $dir      $source_path/pc-bios/*.bin \
     done      $source_path/pc-bios/*.rom \
     # remove the link and recreate it, as not all "ln -sf" overwrite the link      $source_path/pc-bios/*.dtb \
     for f in $FILES ; do      $source_path/pc-bios/openbios-* \
         rm -f $f      $source_path/pc-bios/palcode-*
         ln -s $source_path/$f $f  do
     done      FILES="$FILES pc-bios/`basename $bios_file`"
 fi  done
   mkdir -p $DIRS
   for f in $FILES ; do
       if [ -e "$source_path/$f" ] && ! [ -e "$f" ]; then
           symlink "$source_path/$f" "$f"
       fi
   done
   
 # temporary config to build submodules  # temporary config to build submodules
 for rom in seabios vgabios ; do  for rom in seabios vgabios ; do
     config_mak=roms/$rom/config.mak      config_mak=roms/$rom/config.mak
     echo "# Automatically generated by configure - do not modify" >> $config_mak      echo "# Automatically generated by configure - do not modify" > $config_mak
     echo "SRC_PATH=$source_path/roms/$rom" >> $config_mak      echo "SRC_PATH=$source_path/roms/$rom" >> $config_mak
     echo "CC=$cc" >> $config_mak      echo "CC=$cc" >> $config_mak
     echo "BCC=bcc" >> $config_mak      echo "BCC=bcc" >> $config_mak
     echo "CPP=${cross_prefix}cpp" >> $config_mak      echo "CPP=${cross_prefix}cpp" >> $config_mak
     echo "OBJCOPY=objcopy" >> $config_mak      echo "OBJCOPY=objcopy" >> $config_mak
     echo "IASL=iasl" >> $config_mak      echo "IASL=iasl" >> $config_mak
     echo "HOST_CC=$host_cc" >> $config_mak  
     echo "LD=$ld" >> $config_mak      echo "LD=$ld" >> $config_mak
 done  done
   
 for hwlib in 32 64; do  for hwlib in 32 64; do
   d=libhw$hwlib    d=libhw$hwlib
   mkdir -p $d    mkdir -p $d
   rm -f $d/Makefile    mkdir -p $d/ide
   ln -s $source_path/Makefile.hw $d/Makefile    symlink $source_path/Makefile.hw $d/Makefile
   echo "HWLIB=libqemuhw$hwlib.a" > $d/config.mak    mkdir -p $d/9pfs
   echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" >> $d/config.mak    echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" > $d/config.mak
 done  done
   
   if [ "$source_path" != `pwd` ]; then
       # out of tree build
       mkdir -p libcacard
       rm -f libcacard/Makefile
       symlink "$source_path/libcacard/Makefile" libcacard/Makefile
   fi
   
 d=libuser  d=libuser
 mkdir -p $d  mkdir -p $d
 rm -f $d/Makefile  mkdir -p $d/trace
 ln -s $source_path/Makefile.user $d/Makefile  symlink $source_path/Makefile.user $d/Makefile
   
   if test "$docs" = "yes" ; then
     mkdir -p QMP
   fi

Removed from v.1.1.1.11  
changed lines
  Added in v.1.1.1.17


unix.superglobalmegacorp.com