Diff for /qemu/configure between versions 1.1.1.4 and 1.1.1.18

version 1.1.1.4, 2018/04/24 16:42:43 version 1.1.1.18, 2018/04/24 19:34:28
Line 13  fi Line 13  fi
   
 TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"  TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
 TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"  TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
 TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"  TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.exe"
 TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"  
   # 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
   
   # Print a helpful header at the top of config.log
   echo "# QEMU configure log $(date)" >> config.log
   printf "# Configured with:" >> config.log
   printf " '%s'" "$0" "$@" >> config.log
   echo >> config.log
   echo "#" >> config.log
   
   compile_object() {
     echo $cc $QEMU_CFLAGS -c -o $TMPO $TMPC >> config.log
     $cc $QEMU_CFLAGS -c -o $TMPO $TMPC >> config.log 2>&1
   }
   
   compile_prog() {
     local_cflags="$1"
     local_ldflags="$2"
     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 -rf "$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
 prefix=""  source_path=`dirname "$0"`
   cpu=""
 interp_prefix="/usr/gnemul/qemu-%M"  interp_prefix="/usr/gnemul/qemu-%M"
 static="no"  static="no"
   sparc_cpu=""
 cross_prefix=""  cross_prefix=""
 cc="gcc"  audio_drv_list=""
   audio_card_list="ac97 es1370 sb16 hda"
   audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus hda"
   block_drv_whitelist=""
 host_cc="gcc"  host_cc="gcc"
 ar="ar"  helper_cflags=""
 make="make"  libs_softmmu=""
 install="install"  libs_tools=""
 strip="strip"  audio_pt_int=""
 cpu=`uname -m`  audio_win_int=""
   cc_i386=i386-pc-linux-gnu-gcc
   libs_qga=""
   debug_info="yes"
   
 target_list=""  target_list=""
 case "$cpu" in  
   i386|i486|i586|i686|i86pc|BePC)  # Default value for a variable defining feature "foo".
     cpu="i386"  #  * 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=""
   virtfs=""
   vnc="yes"
   sparse="no"
   uuid=""
   vde=""
   vnc_tls=""
   vnc_sasl=""
   vnc_jpeg=""
   vnc_png=""
   vnc_thread="no"
   xen=""
   xen_ctrl_version=""
   linux_aio=""
   cap_ng=""
   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"
   bsd_user="no"
   guest_base=""
   uname_release=""
   mixemu="no"
   aix="no"
   blobs="yes"
   pkgversion=""
   pie=""
   zero_malloc=""
   trace_backend="nop"
   trace_file="trace"
   spice=""
   rbd=""
   smartcard=""
   smartcard_nss=""
   usb_redir=""
   opengl=""
   zlib="yes"
   guest_agent="yes"
   libiscsi=""
   coroutine=""
   
   # parse CC options first
   for opt do
     optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
     case "$opt" in
     --cross-prefix=*) cross_prefix="$optarg"
   ;;    ;;
   armv*b)    --cc=*) CC="$optarg"
     cpu="armv4b"  
   ;;    ;;
   armv*l)    --source-path=*) source_path="$optarg"
     cpu="armv4l"  
   ;;    ;;
   alpha)    --cpu=*) cpu="$optarg"
     cpu="alpha"  
   ;;    ;;
   "Power Macintosh"|ppc|ppc64)    --extra-cflags=*) QEMU_CFLAGS="$optarg $QEMU_CFLAGS"
     cpu="powerpc"  
   ;;    ;;
   mips)    --extra-ldflags=*) LDFLAGS="$optarg $LDFLAGS"
     cpu="mips"  
   ;;    ;;
   s390)    --enable-debug-info) debug_info="yes"
     cpu="s390"  
   ;;    ;;
   sparc|sun4[muv])    --disable-debug-info) debug_info="no"
     cpu="sparc"  
   ;;    ;;
   sparc64)    --sparc_cpu=*)
     cpu="sparc64"      sparc_cpu="$optarg"
       case $sparc_cpu in
       v7|v8|v8plus|v8plusa)
         cpu="sparc"
       ;;
       v9)
         cpu="sparc64"
       ;;
       *)
         echo "undefined SPARC architecture. Exiting";
         exit 1
       ;;
       esac
   ;;    ;;
   ia64)    esac
     cpu="ia64"  done
   # OS specific
   # Using uname is really, really broken.  Once we have the right set of checks
   # we can eliminate its usage altogether.
   
   cc="${CC-${cross_prefix}gcc}"
   ar="${AR-${cross_prefix}ar}"
   objcopy="${OBJCOPY-${cross_prefix}objcopy}"
   ld="${LD-${cross_prefix}ld}"
   libtool="${LIBTOOL-${cross_prefix}libtool}"
   strip="${STRIP-${cross_prefix}strip}"
   windres="${WINDRES-${cross_prefix}windres}"
   pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
   query_pkg_config() {
       "${pkg_config_exe}" ${QEMU_PKG_CONFIG_FLAGS} "$@"
   }
   pkg_config=query_pkg_config
   sdl_config="${SDL_CONFIG-${cross_prefix}sdl-config}"
   
   # default flags for all hosts
   QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS"
   QEMU_CFLAGS="-Wall -Wundef -Wwrite-strings -Wmissing-prototypes $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_FORTIFY_SOURCE=2 $QEMU_CFLAGS"
   QEMU_INCLUDES="-I. -I\$(SRC_PATH) -I\$(SRC_PATH)/fpu"
   if test "$debug_info" = "yes"; then
       CFLAGS="-g $CFLAGS"
       LDFLAGS="-g $LDFLAGS"
   fi
   
   # make source path absolute
   source_path=`cd "$source_path"; pwd`
   
   check_define() {
   cat > $TMPC <<EOF
   #if !defined($1)
   #error $1 not defined
   #endif
   int main(void) { return 0; }
   EOF
     compile_object
   }
   
   if test ! -z "$cpu" ; then
     # command line argument
     :
   elif check_define __i386__ ; then
     cpu="i386"
   elif check_define __x86_64__ ; then
     cpu="x86_64"
   elif check_define __sparc__ ; then
     # We can't check for 64 bit (when gcc is biarch) or V8PLUSA
     # They must be specified using --sparc_cpu
     if check_define __arch64__ ; then
       cpu="sparc64"
     else
       cpu="sparc"
     fi
   elif check_define _ARCH_PPC ; then
     if check_define _ARCH_PPC64 ; then
       cpu="ppc64"
     else
       cpu="ppc"
     fi
   elif check_define __mips__ ; then
     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 __arm__ ; then
     cpu="arm"
   elif check_define __hppa__ ; then
     cpu="hppa"
   else
     cpu=`uname -m`
   fi
   
   ARCH=
   # Normalise host CPU name and set ARCH.
   # Note that this case should only have supported host CPUs, not guests.
   case "$cpu" in
     ia64|ppc|ppc64|s390|s390x|sparc64)
       cpu="$cpu"
   ;;    ;;
   m68k)    i386|i486|i586|i686|i86pc|BePC)
     cpu="m68k"      cpu="i386"
   ;;    ;;
   x86_64|amd64)    x86_64|amd64)
     cpu="x86_64"      cpu="x86_64"
   ;;    ;;
     armv*b|armv*l|arm)
       cpu="arm"
     ;;
     hppa|parisc|parisc64)
       cpu="hppa"
     ;;
     mips*)
       cpu="mips"
     ;;
     sparc|sun4[cdmuv])
       cpu="sparc"
     ;;
   *)    *)
     cpu="unknown"      # This will result in either an error or falling back to TCI later
       ARCH=unknown
   ;;    ;;
 esac  esac
 gprof="no"  if test -z "$ARCH"; then
 bigendian="no"    ARCH="$cpu"
 mingw32="no"  fi
 EXESUF=""  
 gdbstub="yes"  
 slirp="yes"  
 adlib="no"  
 oss="no"  
 dsound="no"  
 coreaudio="no"  
 alsa="no"  
 fmod="no"  
 fmod_lib=""  
 fmod_inc=""  
 bsd="no"  
 linux="no"  
 kqemu="no"  
 profiler="no"  
 kernel_path=""  
 cocoa="no"  
 check_gfx="yes"  
 check_gcc="yes"  
 softmmu="yes"  
 user="no"  
 build_docs="no"  
 build_acpi_tables="no"  
 uname_release=""  
   
 # OS specific  # OS specific
 targetos=`uname -s`  if check_define __linux__ ; then
     targetos="Linux"
   elif check_define _WIN32 ; then
     targetos='MINGW32'
   elif check_define __OpenBSD__ ; then
     targetos='OpenBSD'
   elif check_define __sun__ ; then
     targetos='SunOS'
   elif check_define __HAIKU__ ; then
     targetos='Haiku'
   else
     targetos=`uname -s`
   fi
   
 case $targetos in  case $targetos in
 CYGWIN*)  CYGWIN*)
 mingw32="yes"    mingw32="yes"
 CFLAGS="-O2 -mno-cygwin"    QEMU_CFLAGS="-mno-cygwin $QEMU_CFLAGS"
     audio_possible_drivers="winwave sdl"
     audio_drv_list="winwave"
 ;;  ;;
 MINGW32*)  MINGW32*)
 mingw32="yes"    mingw32="yes"
     audio_possible_drivers="winwave dsound sdl fmod"
     audio_drv_list="winwave"
   ;;
   GNU/kFreeBSD)
     bsd="yes"
     audio_drv_list="oss"
     audio_possible_drivers="oss sdl esd pa"
 ;;  ;;
 FreeBSD)  FreeBSD)
 bsd="yes"    bsd="yes"
 oss="yes"    make="${MAKE-gmake}"
 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then    audio_drv_list="oss"
     kqemu="yes"    audio_possible_drivers="oss sdl esd pa"
 fi    # needed for kinfo_getvmmap(3) in libutil.h
     LIBS="-lutil $LIBS"
   ;;
   DragonFly)
     bsd="yes"
     make="${MAKE-gmake}"
     audio_drv_list="oss"
     audio_possible_drivers="oss sdl esd pa"
 ;;  ;;
 NetBSD)  NetBSD)
 bsd="yes"    bsd="yes"
 oss="yes"    make="${MAKE-gmake}"
     audio_drv_list="oss"
     audio_possible_drivers="oss sdl esd"
     oss_lib="-lossaudio"
 ;;  ;;
 OpenBSD)  OpenBSD)
 bsd="yes"    bsd="yes"
 oss="yes"    make="${MAKE-gmake}"
     audio_drv_list="oss"
     audio_possible_drivers="oss sdl esd"
     oss_lib="-lossaudio"
 ;;  ;;
 Darwin)  Darwin)
 bsd="yes"    bsd="yes"
 darwin="yes"    darwin="yes"
     # on Leopard most of the system is 32-bit, so we have to ask the kernel it if we can
     # run 64-bit userspace code
     if [ "$cpu" = "i386" ] ; then
       is_x86_64=`sysctl -n hw.optional.x86_64`
       [ "$is_x86_64" = "1" ] && cpu=x86_64
     fi
     if [ "$cpu" = "x86_64" ] ; then
       QEMU_CFLAGS="-arch x86_64 $QEMU_CFLAGS"
       LDFLAGS="-arch x86_64 $LDFLAGS"
     else
       QEMU_CFLAGS="-mdynamic-no-pic $QEMU_CFLAGS"
     fi
     cocoa="yes"
     audio_drv_list="coreaudio"
     audio_possible_drivers="coreaudio sdl fmod"
     LDFLAGS="-framework CoreFoundation -framework IOKit $LDFLAGS"
     libs_softmmu="-F/System/Library/Frameworks -framework Cocoa -framework IOKit $libs_softmmu"
 ;;  ;;
 SunOS)  SunOS)
 solaris="yes"    solaris="yes"
     make="${MAKE-gmake}"
     install="${INSTALL-ginstall}"
     ld="gld"
     smbd="${SMBD-/usr/sfw/sbin/smbd}"
     needs_libsunmath="no"
     solarisrev=`uname -r | cut -f2 -d.`
     # have to select again, because `uname -m` returns i86pc
     # even on an x86_64 box.
     solariscpu=`isainfo -k`
     if test "${solariscpu}" = "amd64" ; then
       cpu="x86_64"
     fi
     if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
       if test "$solarisrev" -le 9 ; then
         if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
           needs_libsunmath="yes"
           QEMU_CFLAGS="-I/opt/SUNWspro/prod/include/cc $QEMU_CFLAGS"
           LDFLAGS="-L/opt/SUNWspro/prod/lib -R/opt/SUNWspro/prod/lib $LDFLAGS"
           LIBS="-lsunmath $LIBS"
         else
           echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
           echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
           echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
           echo "Studio 11 can be downloaded from www.sun.com."
           exit 1
         fi
       fi
     fi
     if test -f /usr/include/sys/soundcard.h ; then
       audio_drv_list="oss"
     fi
     audio_possible_drivers="oss sdl"
   # needed for CMSG_ macros in sys/socket.h
     QEMU_CFLAGS="-D_XOPEN_SOURCE=600 $QEMU_CFLAGS"
   # needed for TIOCWIN* defines in termios.h
     QEMU_CFLAGS="-D__EXTENSIONS__ $QEMU_CFLAGS"
     QEMU_CFLAGS="-std=gnu99 $QEMU_CFLAGS"
     solarisnetlibs="-lsocket -lnsl -lresolv"
     LIBS="$solarisnetlibs $LIBS"
     libs_qga="$solarisnetlibs $libs_qga"
   ;;
   AIX)
     aix="yes"
     make="${MAKE-gmake}"
   ;;
   Haiku)
     haiku="yes"
     QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS $QEMU_CFLAGS"
     LIBS="-lposix_error_mapper -lnetwork $LIBS"
 ;;  ;;
 *)  *)
 oss="yes"    audio_drv_list="oss"
 linux="yes"    audio_possible_drivers="oss alsa sdl esd pa"
 user="yes"    linux="yes"
 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then    linux_user="yes"
     kqemu="yes"    usb="linux"
 fi    kvm="yes"
     vhost_net="yes"
     if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
       audio_possible_drivers="$audio_possible_drivers fmod"
     fi
 ;;  ;;
 esac  esac
   
 if [ "$bsd" = "yes" ] ; then  if [ "$bsd" = "yes" ] ; then
   if [ "$darwin" != "yes" ] ; then    if [ "$darwin" != "yes" ] ; then
     make="gmake"      usb="bsd"
       bsd_user="yes"
   fi    fi
 fi  fi
   
 if [ "$solaris" = "yes" ] ; then  : ${make=${MAKE-make}}
     make="gmake"  : ${install=${INSTALL-install}}
     install="ginstall"  : ${python=${PYTHON-python}}
     solarisrev=`uname -r | cut -f2 -d.`  : ${smbd=${SMBD-/usr/sbin/smbd}}
 fi  
   
 # find source path  if test "$mingw32" = "yes" ; then
 source_path=`dirname "$0"`    EXESUF=".exe"
 if [ -z "$source_path" ]; then    QEMU_CFLAGS="-DWIN32_LEAN_AND_MEAN -DWINVER=0x501 $QEMU_CFLAGS"
     source_path=`pwd`    # enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later)
 else    QEMU_CFLAGS="-D__USE_MINGW_ANSI_STDIO=1 $QEMU_CFLAGS"
     source_path=`cd "$source_path"; pwd`    LIBS="-lwinmm -lws2_32 -liphlpapi $LIBS"
 fi  cat > $TMPC << EOF
 if test "$source_path" = `pwd` ; then  int main(void) { return 0; }
     source_path_used="no"  EOF
 else    if compile_prog "" "-liberty" ; then
     source_path_used="yes"      LIBS="-liberty $LIBS"
     fi
     prefix="c:/Program Files/QEMU"
     mandir="\${prefix}"
     datadir="\${prefix}"
     qemu_docdir="\${prefix}"
     bindir="\${prefix}"
     sysconfdir="\${prefix}"
     confsuffix=""
     libs_qga="-lws2_32 -lwinmm -lpowrprof $libs_qga"
 fi  fi
   
   werror=""
   
 for opt do  for opt do
   optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`    optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
   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="$optarg"    --cross-prefix=*)
   ;;    ;;
   --cc=*) cc="$optarg"    --cc=*)
   ;;    ;;
   --host-cc=*) host_cc="$optarg"    --host-cc=*) host_cc="$optarg"
   ;;    ;;
Line 187  for opt do Line 554  for opt do
   ;;    ;;
   --install=*) install="$optarg"    --install=*) install="$optarg"
   ;;    ;;
   --extra-cflags=*) CFLAGS="$optarg"    --python=*) python="$optarg"
   ;;    ;;
   --extra-ldflags=*) LDFLAGS="$optarg"    --smbd=*) smbd="$optarg"
   ;;    ;;
   --cpu=*) cpu="$optarg"    --extra-cflags=*)
     ;;
     --extra-ldflags=*)
     ;;
     --enable-debug-info)
     ;;
     --disable-debug-info)
     ;;
     --cpu=*)
   ;;    ;;
   --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"
       QEMU_PKG_CONFIG_FLAGS="--static $QEMU_PKG_CONFIG_FLAGS"
     ;;
     --mandir=*) mandir="$optarg"
     ;;
     --bindir=*) bindir="$optarg"
     ;;
     --libdir=*) libdir="$optarg"
     ;;
     --includedir=*) includedir="$optarg"
     ;;
     --datadir=*) datadir="$optarg"
     ;;
     --with-confsuffix=*) confsuffix="$optarg"
     ;;
     --docdir=*) qemu_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-coreaudio) coreaudio="yes"    --enable-sdl) sdl="yes"
     ;;
     --disable-virtfs) virtfs="no"
   ;;    ;;
   --enable-alsa) alsa="yes"    --enable-virtfs) virtfs="yes"
   ;;    ;;
   --enable-dsound) dsound="yes"    --disable-vnc) vnc="no"
   ;;    ;;
   --enable-fmod) fmod="yes"    --enable-vnc) vnc="yes"
   ;;    ;;
   --fmod-lib=*) fmod_lib="$optarg"    --fmod-lib=*) fmod_lib="$optarg"
   ;;    ;;
   --fmod-inc=*) fmod_inc="$optarg"    --fmod-inc=*) fmod_inc="$optarg"
   ;;    ;;
   --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; user="no"    --oss-lib=*) oss_lib="$optarg"
     ;;
     --audio-card-list=*) audio_card_list=`echo "$optarg" | sed -e 's/,/ /g'`
     ;;
     --audio-drv-list=*) audio_drv_list="$optarg"
     ;;
     --block-drv-whitelist=*) block_drv_whitelist=`echo "$optarg" | sed -e 's/,/ /g'`
     ;;
     --enable-debug-tcg) debug_tcg="yes"
     ;;
     --disable-debug-tcg) debug_tcg="no"
     ;;
     --enable-debug-mon) debug_mon="yes"
     ;;
     --disable-debug-mon) debug_mon="no"
     ;;
     --enable-debug)
         # Enable debugging options that aren't excessively noisy
         debug_tcg="yes"
         debug_mon="yes"
         debug="yes"
         strip_opt="no"
     ;;
     --enable-sparse) sparse="yes"
     ;;
     --disable-sparse) sparse="no"
     ;;
     --disable-strip) strip_opt="no"
     ;;
     --disable-vnc-tls) vnc_tls="no"
     ;;
     --enable-vnc-tls) vnc_tls="yes"
     ;;
     --disable-vnc-sasl) vnc_sasl="no"
     ;;
     --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"
   ;;    ;;
   --enable-adlib) adlib="yes"    --disable-uuid) uuid="no"
   ;;    ;;
   --disable-kqemu) kqemu="no"    --enable-uuid) uuid="yes"
   ;;    ;;
   --enable-profiler) profiler="yes"    --disable-vde) vde="no"
     ;;
     --enable-vde) vde="yes"
     ;;
     --disable-xen) xen="no"
     ;;
     --enable-xen) xen="yes"
     ;;
     --disable-brlapi) brlapi="no"
     ;;
     --enable-brlapi) brlapi="yes"
     ;;
     --disable-bluez) bluez="no"
     ;;
     --enable-bluez) bluez="yes"
     ;;
     --disable-kvm) kvm="no"
   ;;    ;;
   --kernel-path=*) kernel_path="$optarg"    --enable-kvm) kvm="yes"
   ;;    ;;
   --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"    --disable-tcg-interpreter) tcg_interpreter="no"
   ;;    ;;
   --disable-gfx-check) check_gfx="no"    --enable-tcg-interpreter) tcg_interpreter="yes"
   ;;    ;;
   --disable-gcc-check) check_gcc="no"    --disable-cap-ng)  cap_ng="no"
     ;;
     --enable-cap-ng) cap_ng="yes"
     ;;
     --disable-spice) spice="no"
     ;;
     --enable-spice) spice="yes"
     ;;
     --disable-libiscsi) libiscsi="no"
     ;;
     --enable-libiscsi) libiscsi="yes"
     ;;
     --enable-profiler) profiler="yes"
     ;;
     --disable-cocoa) cocoa="no"
     ;;
     --enable-cocoa)
         cocoa="yes" ;
         sdl="no" ;
         audio_drv_list="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
   ;;    ;;
   --disable-system) softmmu="no"    --disable-system) softmmu="no"
   ;;    ;;
   --enable-system) softmmu="yes"    --enable-system) softmmu="yes"
   ;;    ;;
   --disable-user) user="no"    --disable-user)
         linux_user="no" ;
         bsd_user="no" ;
     ;;
     --enable-user) ;;
     --disable-linux-user) linux_user="no"
     ;;
     --enable-linux-user) linux_user="yes"
     ;;
     --disable-bsd-user) bsd_user="no"
     ;;
     --enable-bsd-user) bsd_user="yes"
     ;;
     --enable-guest-base) guest_base="yes"
     ;;
     --disable-guest-base) guest_base="no"
     ;;
     --enable-pie) pie="yes"
   ;;    ;;
   --enable-user) user="yes"    --disable-pie) pie="no"
   ;;    ;;
   --enable-uname-release=*) uname_release="$optarg"    --enable-uname-release=*) uname_release="$optarg"
   ;;    ;;
   --enable-iasl) build_acpi_tables="yes"    --sparc_cpu=*)
     ;;
     --enable-werror) werror="yes"
     ;;
     --disable-werror) werror="no"
     ;;
     --disable-curses) curses="no"
     ;;
     --enable-curses) curses="yes"
     ;;
     --disable-curl) curl="no"
     ;;
     --enable-curl) curl="yes"
     ;;
     --disable-fdt) fdt="no"
     ;;
     --enable-fdt) fdt="yes"
     ;;
     --disable-nptl) nptl="no"
     ;;
     --enable-nptl) nptl="yes"
     ;;
     --enable-mixemu) mixemu="yes"
     ;;
     --disable-linux-aio) linux_aio="no"
     ;;
     --enable-linux-aio) linux_aio="yes"
     ;;
     --disable-attr) attr="no"
     ;;
     --enable-attr) attr="yes"
     ;;
     --disable-blobs) blobs="no"
     ;;
     --with-pkgversion=*) pkgversion=" ($optarg)"
     ;;
     --with-coroutine=*) coroutine="$optarg"
     ;;
     --disable-docs) docs="no"
     ;;
     --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-xfsctl) xfs="no"
     ;;
     --enable-xfsctl) xfs="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"
   ;;    ;;
   esac    esac
 done  done
   
 # Checking for CFLAGS  #
 if test -z "$CFLAGS"; then  # If cpu ~= sparc and  sparc_cpu hasn't been defined, plug in the right
     CFLAGS="-O2"  # QEMU_CFLAGS/LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
   #
   host_guest_base="no"
   case "$cpu" in
       sparc) case $sparc_cpu in
              v7|v8)
                QEMU_CFLAGS="-mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__ $QEMU_CFLAGS"
              ;;
              v8plus|v8plusa)
                QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_${sparc_cpu}__ $QEMU_CFLAGS"
              ;;
              *) # sparc_cpu not defined in the command line
                QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_v8plus__ $QEMU_CFLAGS"
              esac
              LDFLAGS="-m32 $LDFLAGS"
              QEMU_CFLAGS="-m32 -ffixed-g2 -ffixed-g3 $QEMU_CFLAGS"
              if test "$solaris" = "no" ; then
                QEMU_CFLAGS="-ffixed-g1 -ffixed-g6 $QEMU_CFLAGS"
                helper_cflags="-ffixed-i0"
              fi
              ;;
       sparc64)
              QEMU_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__ $QEMU_CFLAGS"
              LDFLAGS="-m64 $LDFLAGS"
              QEMU_CFLAGS="-ffixed-g5 -ffixed-g6 -ffixed-g7 $QEMU_CFLAGS"
              if test "$solaris" != "no" ; then
                QEMU_CFLAGS="-ffixed-g1 $QEMU_CFLAGS"
              fi
              ;;
       s390)
              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)
              QEMU_CFLAGS="-m32 $QEMU_CFLAGS"
              LDFLAGS="-m32 $LDFLAGS"
              cc_i386='$(CC) -m32'
              helper_cflags="-fomit-frame-pointer"
              host_guest_base="yes"
              ;;
       x86_64)
              QEMU_CFLAGS="-m64 $QEMU_CFLAGS"
              LDFLAGS="-m64 $LDFLAGS"
              cc_i386='$(CC) -m32'
              host_guest_base="yes"
              ;;
       arm*)
              host_guest_base="yes"
              ;;
       ppc*)
              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
   
   [ -z "$guest_base" ] && guest_base="$host_guest_base"
   
   
   default_target_list=""
   
   # these targets are portable
   if [ "$softmmu" = "yes" ] ; then
       default_target_list="\
   i386-softmmu \
   x86_64-softmmu \
   alpha-softmmu \
   arm-softmmu \
   cris-softmmu \
   lm32-softmmu \
   m68k-softmmu \
   microblaze-softmmu \
   microblazeel-softmmu \
   mips-softmmu \
   mipsel-softmmu \
   mips64-softmmu \
   mips64el-softmmu \
   ppc-softmmu \
   ppcemb-softmmu \
   ppc64-softmmu \
   sh4-softmmu \
   sh4eb-softmmu \
   sparc-softmmu \
   sparc64-softmmu \
   s390x-softmmu \
   xtensa-softmmu \
   xtensaeb-softmmu \
   "
   fi
   # the following are Linux specific
   if [ "$linux_user" = "yes" ] ; then
       default_target_list="${default_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 \
   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 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  fi
   
 if test x"$show_help" = x"yes" ; then  if test x"$show_help" = x"yes" ; then
Line 263  echo "  --help                   print t Line 984  echo "  --help                   print t
 echo "  --prefix=PREFIX          install in PREFIX [$prefix]"  echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
 echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."  echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
 echo "                           use %M for cpu name [$interp_prefix]"  echo "                           use %M for cpu name [$interp_prefix]"
 echo "  --target-list=LIST       set target list [$target_list]"  echo "  --target-list=LIST       set target list (default: build everything)"
 echo ""  echo "Available targets: $default_target_list" | \
 echo "kqemu kernel acceleration support:"      fold -s -w 53 | sed -e 's/^/                           /'
 echo "  --disable-kqemu          disable kqemu support"  
 echo "  --kernel-path=PATH       set the kernel path (configure probes it)"  
 echo ""  echo ""
 echo "Advanced options (experts only):"  echo "Advanced options (experts only):"
 echo "  --source-path=PATH       path of source code [$source_path]"  echo "  --source-path=PATH       path of source code [$source_path]"
 echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"  echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
 echo "  --cc=CC                  use C compiler CC [$cc]"  echo "  --cc=CC                  use C compiler CC [$cc]"
 echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."  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 "  --make=MAKE              use specified make [$make]"
 echo "  --install=INSTALL        use specified install [$install]"  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 "  --static                 enable static build [$static]"
 echo "  --enable-cocoa           enable COCOA (Mac OS X only)"  echo "  --mandir=PATH            install man pages in PATH"
 echo "  --enable-mingw32         enable Win32 cross compilation with mingw32"  echo "  --datadir=PATH           install firmware in PATH$confsuffix"
 echo "  --enable-adlib           enable Adlib emulation"  echo "  --docdir=PATH            install documentation in PATH$confsuffix"
 echo "  --enable-coreaudio       enable Coreaudio audio driver"  echo "  --bindir=PATH            install binaries in PATH"
 echo "  --enable-alsa            enable ALSA audio driver"  echo "  --sysconfdir=PATH        install config in PATH$confsuffix"
 echo "  --enable-fmod            enable FMOD audio driver"  echo "  --with-confsuffix=SUFFIX suffix for QEMU data inside datadir and sysconfdir [$confsuffix]"
 echo "  --enabled-dsound         enable DirectSound audio driver"  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-virtfs         disable VirtFS"
   echo "  --enable-virtfs          enable VirtFS"
   echo "  --disable-vnc            disable VNC"
   echo "  --enable-vnc             enable VNC"
   echo "  --disable-cocoa          disable Cocoa (Mac OS X only)"
   echo "  --enable-cocoa           enable Cocoa (default on Mac OS X)"
   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 "  --disable-brlapi         disable BrlAPI"
   echo "  --enable-brlapi          enable BrlAPI"
   echo "  --disable-vnc-tls        disable 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 "  --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 "  --enable-curses          enable curses output"
   echo "  --disable-curl           disable curl connectivity"
   echo "  --enable-curl            enable curl connectivity"
   echo "  --disable-fdt            disable fdt device tree"
   echo "  --enable-fdt             enable fdt device tree"
   echo "  --disable-bluez          disable 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 "  --enable-kvm             enable KVM acceleration support"
   echo "  --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)"
   echo "  --disable-nptl           disable 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"
 echo "  --disable-system         disable all system emulation targets"  echo "  --disable-system         disable all system emulation targets"
 echo "  --enable-user            enable all linux usermode emulation targets"  echo "  --enable-user            enable supported user emulation targets"
 echo "  --disable-user           disable all linux usermode emulation targets"  echo "  --disable-user           disable all user emulation targets"
   echo "  --enable-linux-user      enable all linux usermode emulation targets"
   echo "  --disable-linux-user     disable all linux usermode emulation targets"
   echo "  --enable-bsd-user        enable all BSD usermode emulation targets"
   echo "  --disable-bsd-user       disable all BSD usermode emulation targets"
   echo "  --enable-guest-base      enable GUEST_BASE support for usermode"
   echo "                           emulation targets"
   echo "  --disable-guest-base     disable GUEST_BASE support"
   echo "  --enable-pie             build Position Independent Executables"
   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 "  --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 "  --enable-iasl            compilation of ACPI tables with the IASL compiler"  echo "  --cpu=CPU                Build for host CPU [$cpu]"
   echo "  --sparc_cpu=V            Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
   echo "  --disable-uuid           disable uuid support"
   echo "  --enable-uuid            enable uuid support"
   echo "  --disable-vde            disable support for vde network"
   echo "  --enable-vde             enable support for vde network"
   echo "  --disable-linux-aio      disable Linux AIO support"
   echo "  --enable-linux-aio       enable Linux AIO support"
   echo "  --disable-cap-ng         disable libcap-ng support"
   echo "  --enable-cap-ng          enable libcap-ng support"
   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 "  --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:" $($python "$source_path"/scripts/tracetool.py --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 "  --with-coroutine=BACKEND coroutine backend. Supported options:"
   echo "                           gthread, ucontext, sigaltstack, windows"
 echo ""  echo ""
 echo "NOTE: The object files are build 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
   
 cc="${cross_prefix}${cc}"  # Now we have handled --enable-tcg-interpreter and know we're not just
 ar="${cross_prefix}${ar}"  # printing the help message, bail out if the host CPU isn't supported.
 strip="${cross_prefix}${strip}"  if test "$ARCH" = "unknown"; then
       if test "$tcg_interpreter" = "yes" ; then
           echo "Unsupported CPU = $cpu, will use TCG with TCI (experimental)"
           ARCH=tci
       else
           echo "Unsupported CPU = $cpu, try --enable-tcg-interpreter"
           exit 1
       fi
   fi
   
 # check that the C compiler works.  # check that the C compiler works.
 cat > $TMPC <<EOF  cat > $TMPC <<EOF
 int main(void) {}  int main(void) { return 0; }
 EOF  EOF
   
 if $cc -c -o $TMPO $TMPC 2>/dev/null ; then  if compile_object ; then
   : C compiler works ok    : C compiler works ok
 else  else
     echo "ERROR: \"$cc\" either does not exist or does not work"      echo "ERROR: \"$cc\" either does not exist or does not work"
     exit 1      exit 1
 fi  fi
   
 if test "$mingw32" = "yes" ; then  gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"
     linux="no"  gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags"
     EXESUF=".exe"  gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
     oss="no"  gcc_flags="-fstack-protector-all -Wendif-labels $gcc_flags"
     if [ "$cpu" = "i386" ] ; then  cat > $TMPC << EOF
         kqemu="yes"  int main(void) { return 0; }
   EOF
   for flag in $gcc_flags; do
       if compile_prog "-Werror $flag" "" ; then
           QEMU_CFLAGS="$QEMU_CFLAGS $flag"
     fi      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  fi
   
 #  if test "$pie" = ""; then
 # Solaris specific configure tool chain decisions    case "$cpu-$targetos" in
 #      i386-Linux|x86_64-Linux|i386-OpenBSD|x86_64-OpenBSD)
 if test "$solaris" = "yes" ; then        ;;
   #      *)
   # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly        pie="no"
   # override the check with --disable-gcc-check        ;;
   #     esac
   if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then  fi
     solgcc=`which $cc`  
     if test "$solgcc" = "/usr/sfw/bin/gcc" ; then  if test "$pie" != "no" ; then
       echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."    cat > $TMPC << EOF
       echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"  
       echo "or get the latest patch from SunSolve for gcc"  #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        exit 1
       else
         echo "Disabling PIE due to missing toolchain support"
         pie="no"
     fi      fi
   fi    fi
   solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`  fi
   if test -z "$solinst" ; then  
   #
   # Solaris specific configure tool chain decisions
   #
   if test "$solaris" = "yes" ; then
     if has $install; 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"
     fi      fi
     exit 1      exit 1
   fi    fi
 fi   fi
   
   if ! has $python; then
     echo "Python not found. Use --python=/path/to/python"
     exit 1
   fi
   
   # Note that if the Python conditional here evaluates True we will exit
   # with status 1 which is a shell 'false' value.
   if ! "$python" -c 'import sys; sys.exit(sys.version_info < (2,4) or sys.version_info >= (3,))'; then
     echo "Cannot use '$python', Python 2.4 or later is required."
     echo "Note that Python 3 or later is not yet supported."
     echo "Use --python=/path/to/python to specify a supported Python."
     exit 1
   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 ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"  
     fi  
 # the following are Linux specific  
     if [ "$user" = "yes" ] ; then  
         target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"  
     fi  
 else  else
     target_list=`echo "$target_list" | sed -e 's/,/ /g'`      target_list=`echo "$target_list" | sed -e 's/,/ /g'`
 fi  fi
Line 379  if test -z "$target_list" ; then Line 1255  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=$1
   
     echo "ERROR"
     echo "ERROR: User requested feature $feature"
     echo "ERROR: configure was not able to find it"
     echo "ERROR"
     exit 1;
   }
   
 if test -z "$cross_prefix" ; then  if test -z "$cross_prefix" ; then
   
Line 392  int main(int argc, char ** argv){ Line 1285  int main(int argc, char ** argv){
 }  }
 EOF  EOF
   
 if $cc -o $TMPE $TMPC 2>/dev/null ; then  if compile_prog "" "" ; then
 $TMPE && bigendian="yes"  $TMPE && bigendian="yes"
 else  else
 echo big/little test failed  echo big/little test failed
Line 401  fi Line 1294  fi
 else  else
   
 # if cross compiling, cannot launch a program, so make a static guess  # if cross compiling, cannot launch a program, so make a static guess
 if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then  case "$cpu" in
     bigendian="yes"    arm)
       # ARM can be either way; ask the compiler which one we are
       if check_define __ARMEB__; then
         bigendian=yes
       fi
     ;;
     hppa|m68k|mips|mips64|ppc|ppc64|s390|s390x|sparc|sparc64)
       bigendian=yes
     ;;
   esac
   
 fi  fi
   
   ##########################################
   # NPTL probe
   
   if test "$nptl" != "no" ; then
     cat > $TMPC <<EOF
   #include <sched.h>
   #include <linux/futex.h>
   int main(void) {
   #if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
   #error bork
   #endif
     return 0;
   }
   EOF
   
     if compile_object ; then
       nptl=yes
     else
       if test "$nptl" = "yes" ; then
         feature_not_found "nptl"
       fi
       nptl=no
     fi
 fi  fi
   
 # host long bits test  ##########################################
 hostlongbits="32"  # zlib check
 if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then  
     hostlongbits="64"  if test "$zlib" != "no" ; then
       cat > $TMPC << EOF
   #include <zlib.h>
   int main(void) { zlibVersion(); return 0; }
   EOF
       if compile_prog "" "-lz" ; then
           :
       else
           echo
           echo "Error: zlib check failed"
           echo "Make sure to have the zlib libs and headers installed."
           echo
           exit 1
       fi
 fi  fi
   
 # check gcc options support  ##########################################
 cat > $TMPC <<EOF  # xen probe
   
   if test "$xen" != "no" ; then
     xen_libs="-lxenstore -lxenctrl -lxenguest"
   
     # First we test whether Xen headers and libraries are available.
     # If no, we are done and there is no Xen support.
     # If yes, more tests are run to detect the Xen version.
   
     # Xen (any)
     cat > $TMPC <<EOF
   #include <xenctrl.h>
   #include <xs.h>
   int main(void) {
     return 0;
   }
   EOF
     if ! compile_prog "" "$xen_libs" ; then
       # Xen not found
       if test "$xen" = "yes" ; then
         feature_not_found "xen"
       fi
       xen=no
   
     # Xen unstable
     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) {
     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);
     xc_hvm_inject_msi(xc, 0, 0xf0000000, 0x00000000);
     return 0;
   }
   EOF
         compile_prog "" "$xen_libs"
       ) ; then
       xen_ctrl_version=420
       xen=yes
   
     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) {
     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
         compile_prog "" "$xen_libs"
       ) ; then
       xen_ctrl_version=410
       xen=yes
   
     # 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) {  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  EOF
         compile_prog "" "$xen_libs"
       ) ; then
       xen_ctrl_version=330
       xen=yes
   
     # Xen version unsupported
     else
       if test "$xen" = "yes" ; then
         feature_not_found "xen (unsupported version)"
       fi
       xen=no
     fi
   
     if test "$xen" = yes; then
       libs_softmmu="$xen_libs $libs_softmmu"
     fi
   fi
   
   ##########################################
   # pkg-config probe
   
   if ! has "$pkg_config_exe"; then
     echo "Error: pkg-config binary '$pkg_config_exe' not found"
     exit 1
   fi
   
   ##########################################
   # libtool probe
   
   if ! has $libtool; then
       libtool=
   fi
   
 have_gcc3_options="no"  ##########################################
 if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then  # Sparse probe
    have_gcc3_options="yes"  if test "$sparse" != "no" ; then
 fi    if has cgcc; then
       sparse=yes
 # Check for gcc4, error if pre-gcc4     else
 if test "$check_gcc" = "yes" ; then      if test "$sparse" = "yes" ; then
     cat > $TMPC <<EOF        feature_not_found "sparse"
 #if __GNUC__ < 4  
 #error gcc3  
 #endif  
 int main(){return 0;}  
 EOF  
     if $cc -o $TMPO $TMPC 2>/dev/null ; then  
         echo "ERROR: \"$cc\" looks like gcc 4.x"  
         echo "QEMU is known to have problems when compiled with gcc 4.x"  
         echo "It is recommended that you use gcc 3.x to build QEMU"  
         echo "To use this compiler anyway, configure with --disable-gcc-check"  
         exit 1;  
     fi      fi
       sparse=no
     fi
 fi  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 -z "$sdl" ; then  if test "`basename $sdl_config`" != sdl-config && ! has ${sdl_config}; then
     sdl_config=sdl-config
   fi
   
 sdl_config="sdl-config"  if $pkg_config sdl --modversion >/dev/null 2>&1; then
 sdl=no    sdlconfig="$pkg_config sdl"
 sdl_static=no    _sdlversion=`$sdlconfig --modversion 2>/dev/null | sed 's/[^0-9]//g'`
   elif has ${sdl_config}; then
 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then    sdlconfig="$sdl_config"
 # win32 cross compilation case    _sdlversion=`$sdlconfig --version | sed 's/[^0-9]//g'`
     sdl_config="i386-mingw32msvc-sdl-config"  
     sdl=yes  
 else  else
 # normal SDL probe    if test "$sdl" = "yes" ; then
 cat > $TMPC << EOF      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
     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=`$sdlconfig --cflags 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 test "$_sdlversion" -lt 121 ; then
         sdl_too_old=yes
       else
         if test "$cocoa" = "no" ; then
           sdl=yes
         fi
       fi
   
 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then      # static link with sdl ? (note: sdl.pc's --static --libs is broken)
 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`      if test "$sdl" = "yes" -a "$static" = "yes" ; then
 if test "$_sdlversion" -lt 121 ; then        if test $? = 0 && echo $sdl_libs | grep -- -laa > /dev/null; then
 sdl_too_old=yes           sdl_libs="$sdl_libs `aalib-config --static-libs 2>/dev/null`"
 else           sdl_cflags="$sdl_cflags `aalib-config --cflags 2>/dev/null`"
 sdl=yes        fi
         if compile_prog "$sdl_cflags" "$sdl_libs" ; then
           :
         else
           sdl=no
         fi
       fi # static link
     else # sdl not found
       if test "$sdl" = "yes" ; then
         feature_not_found "sdl"
       fi
       sdl=no
     fi # sdl compile test
 fi  fi
   
 # static link with sdl ?  
 if test "$sdl" = "yes" ; then  if test "$sdl" = "yes" ; then
 aa="no"    cat > $TMPC <<EOF
 `$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"  #include <SDL.h>
 sdl_static_libs=`$sdl_config --static-libs`  #if defined(SDL_VIDEO_DRIVER_X11)
 if [ "$aa" = "yes" ] ; then  #include <X11/XKBlib.h>
   sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"  #else
   #error No x11 support
   #endif
   int main(void) { return 0; }
   EOF
     if compile_prog "$sdl_cflags" "$sdl_libs" ; then
       sdl_libs="$sdl_libs -lX11"
     fi
     libs_softmmu="$sdl_libs $libs_softmmu"
 fi  fi
   
 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then  ##########################################
   sdl_static=yes  # VNC TLS detection
   if test "$vnc" = "yes" -a "$vnc_tls" != "no" ; then
     cat > $TMPC <<EOF
   #include <gnutls/gnutls.h>
   int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
   EOF
     vnc_tls_cflags=`$pkg_config --cflags gnutls 2> /dev/null`
     vnc_tls_libs=`$pkg_config --libs gnutls 2> /dev/null`
     if compile_prog "$vnc_tls_cflags" "$vnc_tls_libs" ; then
       vnc_tls=yes
       libs_softmmu="$vnc_tls_libs $libs_softmmu"
     else
       if test "$vnc_tls" = "yes" ; then
         feature_not_found "vnc-tls"
       fi
       vnc_tls=no
     fi
 fi  fi
   
 fi # static link  ##########################################
   # VNC SASL detection
 fi # sdl compile test  if test "$vnc" = "yes" -a "$vnc_sasl" != "no" ; then
     cat > $TMPC <<EOF
   #include <sasl/sasl.h>
   #include <stdio.h>
   int main(void) { sasl_server_init(NULL, "qemu"); return 0; }
   EOF
     # Assuming Cyrus-SASL installed in /usr prefix
     vnc_sasl_cflags=""
     vnc_sasl_libs="-lsasl2"
     if compile_prog "$vnc_sasl_cflags" "$vnc_sasl_libs" ; then
       vnc_sasl=yes
       libs_softmmu="$vnc_sasl_libs $libs_softmmu"
     else
       if test "$vnc_sasl" = "yes" ; then
         feature_not_found "vnc-sasl"
       fi
       vnc_sasl=no
     fi
   fi
   
 fi # cross compilation  ##########################################
 fi # -z $sdl  # 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
   
 # Check if tools are available to build documentation.  ##########################################
 if [ -x "`which texi2html`" ] && [ -x "`which pod2man`" ]; then  # VNC PNG detection
   build_docs="yes"  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
       vnc_png=no
     fi
 fi  fi
   
 if test "$mingw32" = "yes" ; then  ##########################################
 if test -z "$prefix" ; then  # fnmatch() probe, used for ACL routines
     prefix="/c/Program Files/Qemu"  fnmatch="no"
   cat > $TMPC << EOF
   #include <fnmatch.h>
   int main(void)
   {
       fnmatch("foo", "foo", 0);
       return 0;
   }
   EOF
   if compile_prog "" "" ; then
      fnmatch="yes"
 fi  fi
 mandir="$prefix"  
 datadir="$prefix"  ##########################################
 docdir="$prefix"  # uuid_generate() probe, used for vdi block driver
 bindir="$prefix"  if test "$uuid" != "no" ; then
 else    uuid_libs="-luuid"
 if test -z "$prefix" ; then    cat > $TMPC << EOF
     prefix="/usr/local"  #include <uuid/uuid.h>
 fi  int main(void)
 mandir="$prefix/share/man"  {
 datadir="$prefix/share/qemu"      uuid_t my_uuid;
 docdir="$prefix/share/doc/qemu"      uuid_generate(my_uuid);
 bindir="$prefix/bin"      return 0;
   }
   EOF
     if compile_prog "" "$uuid_libs" ; then
       uuid="yes"
       libs_softmmu="$uuid_libs $libs_softmmu"
       libs_tools="$uuid_libs $libs_tools"
     else
       if test "$uuid" = "yes" ; then
         feature_not_found "uuid"
       fi
       uuid=no
     fi
 fi  fi
   
 echo "Install prefix    $prefix"  ##########################################
 echo "BIOS directory    $datadir"  # xfsctl() probe, used for raw-posix
 echo "binary directory  $bindir"  if test "$xfs" != "no" ; then
 if test "$mingw32" = "no" ; then    cat > $TMPC << EOF
 echo "Manual directory  $mandir"  #include <stddef.h>  /* NULL */
 echo "ELF interp prefix $interp_prefix"  #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  fi
 echo "Source path       $source_path"  
 echo "C compiler        $cc"  ##########################################
 echo "Host C compiler   $host_cc"  # vde libraries probe
 echo "make              $make"  if test "$vde" != "no" ; then
 echo "install           $install"    vde_libs="-lvdeplug"
 echo "host CPU          $cpu"    cat > $TMPC << EOF
 echo "host big endian   $bigendian"  #include <libvdeplug.h>
 echo "target list       $target_list"  int main(void)
 echo "gprof enabled     $gprof"  {
 echo "profiler          $profiler"      struct vde_open_args a = {0, 0, 0};
 echo "static build      $static"      vde_open("", "", &a);
 if test "$darwin" = "yes" ; then      return 0;
     echo "Cocoa support     $cocoa"  }
   EOF
     if compile_prog "" "$vde_libs" ; then
       vde=yes
       libs_softmmu="$vde_libs $libs_softmmu"
       libs_tools="$vde_libs $libs_tools"
     else
       if test "$vde" = "yes" ; then
         feature_not_found "vde"
       fi
       vde=no
     fi
 fi  fi
 echo "SDL support       $sdl"  
 if test "$sdl" != "no" ; then  ##########################################
     echo "SDL static link   $sdl_static"  # libcap-ng library probe
   if test "$cap_ng" != "no" ; then
     cap_libs="-lcap-ng"
     cat > $TMPC << EOF
   #include <cap-ng.h>
   int main(void)
   {
       capng_capability_to_name(CAPNG_EFFECTIVE);
       return 0;
   }
   EOF
     if compile_prog "" "$cap_libs" ; then
       cap_ng=yes
       libs_tools="$cap_libs $libs_tools"
     else
       if test "$cap_ng" = "yes" ; then
         feature_not_found "cap_ng"
       fi
       cap_ng=no
     fi
 fi  fi
 echo "mingw32 support   $mingw32"  
 echo "Adlib support     $adlib"  ##########################################
 echo "CoreAudio support $coreaudio"  # Sound support libraries probe
 echo "ALSA support      $alsa"  
 echo "DSound support    $dsound"  audio_drv_probe()
 if test "$fmod" = "yes"; then  {
       drv=$1
       hdr=$2
       lib=$3
       exp=$4
       cfl=$5
           cat > $TMPC << EOF
   #include <$hdr>
   int main(void) { $exp }
   EOF
       if compile_prog "$cfl" "$lib" ; then
           :
       else
           echo
           echo "Error: $drv check failed"
           echo "Make sure to have the $drv libs and headers installed."
           echo
           exit 1
       fi
   }
   
   audio_drv_list=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
   for drv in $audio_drv_list; do
       case $drv in
       alsa)
       audio_drv_probe $drv alsa/asoundlib.h -lasound \
           "snd_pcm_t **handle; return snd_pcm_close(*handle);"
       libs_softmmu="-lasound $libs_softmmu"
       ;;
   
       fmod)
     if test -z $fmod_lib || test -z $fmod_inc; then      if test -z $fmod_lib || test -z $fmod_inc; then
         echo          echo
         echo "Error: You must specify path to FMOD library and headers"          echo "Error: You must specify path to FMOD library and headers"
Line 553  if test "$fmod" = "yes"; then Line 1865  if test "$fmod" = "yes"; then
         echo          echo
         exit 1          exit 1
     fi      fi
     fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"      audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
 else      libs_softmmu="$fmod_lib $libs_softmmu"
     fmod_support=""      ;;
 fi  
 echo "FMOD support      $fmod $fmod_support"      esd)
 echo "kqemu support     $kqemu"      audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);'
 echo "Documentation     $build_docs"      libs_softmmu="-lesd $libs_softmmu"
 [ ! -z "$uname_release" ] && \      audio_pt_int="yes"
 echo "uname -r          $uname_release"      ;;
   
       pa)
       audio_drv_probe $drv pulse/mainloop.h "-lpulse" \
           "pa_mainloop *m = 0; pa_mainloop_free (m); return 0;"
       libs_softmmu="-lpulse $libs_softmmu"
       audio_pt_int="yes"
       ;;
   
       coreaudio)
         libs_softmmu="-framework CoreAudio $libs_softmmu"
       ;;
   
       dsound)
         libs_softmmu="-lole32 -ldxguid $libs_softmmu"
         audio_win_int="yes"
       ;;
   
       oss)
         libs_softmmu="$oss_lib $libs_softmmu"
       ;;
   
       sdl|wav)
       # XXX: Probes for CoreAudio, DirectSound, SDL(?)
       ;;
   
       winwave)
         libs_softmmu="-lwinmm $libs_softmmu"
         audio_win_int="yes"
       ;;
   
 if test $sdl_too_old = "yes"; then      *)
 echo "-> Your SDL version is too old - please upgrade to have SDL support"      echo "$audio_possible_drivers" | grep -q "\<$drv\>" || {
 fi          echo
 #if test "$sdl_static" = "no"; then          echo "Error: Unknown driver '$drv' selected"
 #  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"          echo "Possible drivers are: $audio_possible_drivers"
 #fi          echo
 config_mak="config-host.mak"          exit 1
 config_h="config-host.h"      }
       ;;
 #echo "Creating $config_mak and $config_h"      esac
   done
 echo "# Automatically generated by configure - do not modify" > $config_mak  
 echo "# Configured with: $0 $@" >> $config_mak  ##########################################
 echo "/* Automatically generated by configure - do not modify */" > $config_h  # BrlAPI probe
   
 echo "prefix=$prefix" >> $config_mak  if test "$brlapi" != "no" ; then
 echo "bindir=$bindir" >> $config_mak    brlapi_libs="-lbrlapi"
 echo "mandir=$mandir" >> $config_mak    cat > $TMPC << EOF
 echo "datadir=$datadir" >> $config_mak  #include <brlapi.h>
 echo "docdir=$docdir" >> $config_mak  #include <stddef.h>
 echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h  int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
 echo "MAKE=$make" >> $config_mak  EOF
 echo "INSTALL=$install" >> $config_mak    if compile_prog "" "$brlapi_libs" ; then
 echo "CC=$cc" >> $config_mak      brlapi=yes
 if test "$have_gcc3_options" = "yes" ; then      libs_softmmu="$brlapi_libs $libs_softmmu"
   echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak    else
 fi      if test "$brlapi" = "yes" ; then
 echo "HOST_CC=$host_cc" >> $config_mak        feature_not_found "brlapi"
 echo "AR=$ar" >> $config_mak      fi
 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak      brlapi=no
 echo "CFLAGS=$CFLAGS" >> $config_mak    fi
 echo "LDFLAGS=$LDFLAGS" >> $config_mak  
 echo "EXESUF=$EXESUF" >> $config_mak  
 if test "$cpu" = "i386" ; then  
   echo "ARCH=i386" >> $config_mak  
   echo "#define HOST_I386 1" >> $config_h  
 elif test "$cpu" = "x86_64" ; then  
   echo "ARCH=x86_64" >> $config_mak  
   echo "#define HOST_X86_64 1" >> $config_h  
 elif test "$cpu" = "armv4b" ; then  
   echo "ARCH=arm" >> $config_mak  
   echo "#define HOST_ARM 1" >> $config_h  
 elif test "$cpu" = "armv4l" ; then  
   echo "ARCH=arm" >> $config_mak  
   echo "#define HOST_ARM 1" >> $config_h  
 elif test "$cpu" = "powerpc" ; then  
   echo "ARCH=ppc" >> $config_mak  
   echo "#define HOST_PPC 1" >> $config_h  
 elif test "$cpu" = "mips" ; then  
   echo "ARCH=mips" >> $config_mak  
   echo "#define HOST_MIPS 1" >> $config_h  
 elif test "$cpu" = "s390" ; then  
   echo "ARCH=s390" >> $config_mak  
   echo "#define HOST_S390 1" >> $config_h  
 elif test "$cpu" = "alpha" ; then  
   echo "ARCH=alpha" >> $config_mak  
   echo "#define HOST_ALPHA 1" >> $config_h  
 elif test "$cpu" = "sparc" ; then  
   echo "ARCH=sparc" >> $config_mak  
   echo "#define HOST_SPARC 1" >> $config_h  
 elif test "$cpu" = "sparc64" ; then  
   echo "ARCH=sparc64" >> $config_mak  
   echo "#define HOST_SPARC64 1" >> $config_h  
 elif test "$cpu" = "ia64" ; then  
   echo "ARCH=ia64" >> $config_mak  
   echo "#define HOST_IA64 1" >> $config_h  
 elif test "$cpu" = "m68k" ; then  
   echo "ARCH=m68k" >> $config_mak  
   echo "#define HOST_M68K 1" >> $config_h  
 else  
   echo "Unsupported CPU"  
   exit 1  
 fi  
 if test "$bigendian" = "yes" ; then  
   echo "WORDS_BIGENDIAN=yes" >> $config_mak  
   echo "#define WORDS_BIGENDIAN 1" >> $config_h  
 fi  fi
 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h  
   ##########################################
   # curses probe
 if test "$mingw32" = "yes" ; then  if test "$mingw32" = "yes" ; then
   echo "CONFIG_WIN32=yes" >> $config_mak      curses_list="-lpdcurses"
   echo "#define CONFIG_WIN32 1" >> $config_h  else
 elif test -f "/usr/include/byteswap.h" ; then      curses_list="-lncurses -lcurses"
   echo "#define HAVE_BYTESWAP_H 1" >> $config_h  
 fi  
 if test "$darwin" = "yes" ; then  
   echo "CONFIG_DARWIN=yes" >> $config_mak  
   echo "#define CONFIG_DARWIN 1" >> $config_h  
 fi  
 if test "$solaris" = "yes" ; then  
   echo "CONFIG_SOLARIS=yes" >> $config_mak  
   echo "#define HOST_SOLARIS $solarisrev" >> $config_h  
 fi  
 if test "$gdbstub" = "yes" ; then  
   echo "CONFIG_GDBSTUB=yes" >> $config_mak  
   echo "#define CONFIG_GDBSTUB 1" >> $config_h  
 fi  
 if test "$gprof" = "yes" ; then  
   echo "TARGET_GPROF=yes" >> $config_mak  
   echo "#define HAVE_GPROF 1" >> $config_h  
 fi  
 if test "$static" = "yes" ; then  
   echo "CONFIG_STATIC=yes" >> $config_mak  
   echo "#define CONFIG_STATIC 1" >> $config_h  
 fi  
 if test $profiler = "yes" ; then  
   echo "#define CONFIG_PROFILER 1" >> $config_h  
 fi  
 if test "$slirp" = "yes" ; then  
   echo "CONFIG_SLIRP=yes" >> $config_mak  
   echo "#define CONFIG_SLIRP 1" >> $config_h  
 fi  
 if test "$adlib" = "yes" ; then  
   echo "CONFIG_ADLIB=yes" >> $config_mak  
   echo "#define CONFIG_ADLIB 1" >> $config_h  
 fi  
 if test "$oss" = "yes" ; then  
   echo "CONFIG_OSS=yes" >> $config_mak  
   echo "#define CONFIG_OSS 1" >> $config_h  
 fi  
 if test "$coreaudio" = "yes" ; then  
   echo "CONFIG_COREAUDIO=yes" >> $config_mak  
   echo "#define CONFIG_COREAUDIO 1" >> $config_h  
 fi  
 if test "$alsa" = "yes" ; then  
   echo "CONFIG_ALSA=yes" >> $config_mak  
   echo "#define CONFIG_ALSA 1" >> $config_h  
 fi  
 if test "$dsound" = "yes" ; then  
   echo "CONFIG_DSOUND=yes" >> $config_mak  
   echo "#define CONFIG_DSOUND 1" >> $config_h  
 fi  
 if test "$fmod" = "yes" ; then  
   echo "CONFIG_FMOD=yes" >> $config_mak  
   echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak  
   echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak  
   echo "#define CONFIG_FMOD 1" >> $config_h  
 fi  fi
 qemu_version=`head $source_path/VERSION`  
 echo "VERSION=$qemu_version" >>$config_mak  
 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h  
   
 echo "SRC_PATH=$source_path" >> $config_mak  if test "$curses" != "no" ; then
 if [ "$source_path_used" = "yes" ]; then    curses_found=no
   echo "VPATH=$source_path" >> $config_mak    cat > $TMPC << EOF
 fi  #include <curses.h>
 echo "TARGET_DIRS=$target_list" >> $config_mak  int main(void) {
 if [ "$build_docs" = "yes" ] ; then    const char *s = curses_version();
   echo "BUILD_DOCS=yes" >> $config_mak    resize_term(0, 0);
 fi    return s != 0;
 if [ "$build_acpi_tables" = "yes" ] ; then  }
   echo "BUILD_ACPI_TABLES=yes" >> $config_mak  EOF
     for curses_lib in $curses_list; do
       if compile_prog "" "$curses_lib" ; then
         curses_found=yes
         libs_softmmu="$curses_lib $libs_softmmu"
         break
       fi
     done
     if test "$curses_found" = "yes" ; then
       curses=yes
     else
       if test "$curses" = "yes" ; then
         feature_not_found "curses"
       fi
       curses=no
     fi
 fi  fi
   
 # XXX: suppress that  ##########################################
 if [ "$bsd" = "yes" ] ; then  # curl probe
   echo "#define O_LARGEFILE 0" >> $config_h  
   echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h  if $pkg_config libcurl --modversion >/dev/null 2>&1; then
   echo "#define _BSD 1" >> $config_h    curlconfig="$pkg_config libcurl"
   else
     curlconfig=curl-config
 fi  fi
   
 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h  if test "$curl" != "no" ; then
     cat > $TMPC << EOF
   #include <curl/curl.h>
   int main(void) { curl_easy_init(); curl_multi_setopt(0, 0, 0); return 0; }
   EOF
     curl_cflags=`$curlconfig --cflags 2>/dev/null`
     curl_libs=`$curlconfig --libs 2>/dev/null`
     if compile_prog "$curl_cflags" "$curl_libs" ; then
       curl=yes
       libs_tools="$curl_libs $libs_tools"
       libs_softmmu="$curl_libs $libs_softmmu"
     else
       if test "$curl" = "yes" ; then
         feature_not_found "curl"
       fi
       curl=no
     fi
   fi # test "$curl"
   
 for target in $target_list; do  ##########################################
 target_dir="$target"  # bluez support probe
 config_mak=$target_dir/config.mak  if test "$bluez" != "no" ; then
 config_h=$target_dir/config.h    cat > $TMPC << EOF
 target_cpu=`echo $target | cut -d '-' -f 1`  #include <bluetooth/bluetooth.h>
 target_bigendian="no"  int main(void) { return bt_error(0); }
 [ "$target_cpu" = "armeb" ] && target_bigendian=yes  EOF
 [ "$target_cpu" = "sparc" ] && target_bigendian=yes    bluez_cflags=`$pkg_config --cflags bluez 2> /dev/null`
 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes    bluez_libs=`$pkg_config --libs bluez 2> /dev/null`
 [ "$target_cpu" = "ppc" ] && target_bigendian=yes    if compile_prog "$bluez_cflags" "$bluez_libs" ; then
 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes      bluez=yes
 [ "$target_cpu" = "mips" ] && target_bigendian=yes      libs_softmmu="$bluez_libs $libs_softmmu"
 [ "$target_cpu" = "sh4eb" ] && target_bigendian=yes    else
 target_softmmu="no"      if test "$bluez" = "yes" ; then
 if expr $target : '.*-softmmu' > /dev/null ; then        feature_not_found "bluez"
   target_softmmu="yes"      fi
       bluez="no"
     fi
 fi  fi
 target_user_only="no"  
 if expr $target : '.*-user' > /dev/null ; then  ##########################################
   target_user_only="yes"  # glib support probe
   
   if test "$mingw32" = yes; then
       # g_poll is required in order to integrate with the glib main loop.
       glib_req_ver=2.20
   else
       glib_req_ver=2.12
   fi
   if $pkg_config --atleast-version=$glib_req_ver gthread-2.0 > /dev/null 2>&1
   then
       glib_cflags=`$pkg_config --cflags gthread-2.0 2>/dev/null`
       glib_libs=`$pkg_config --libs gthread-2.0 2>/dev/null`
       LIBS="$glib_libs $LIBS"
       libs_qga="$glib_libs $libs_qga"
   else
       echo "glib-$glib_req_ver required to compile QEMU"
       exit 1
 fi  fi
   
 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \  ##########################################
         -a "$sdl" = "no" -a "$cocoa" = "no" ; then  # libcap probe
     echo "ERROR: QEMU requires SDL or Cocoa for graphical output"  
     echo "To build QEMU without graphical output configure with --disable-gfx-check"  if test "$cap" != "no" ; then
     echo "Note that this will disable all output from the virtual graphics card."    cat > $TMPC <<EOF
     exit 1;  #include <stdio.h>
   #include <sys/capability.h>
   int main(void) { cap_t caps; caps = cap_init(); }
   EOF
     if compile_prog "" "-lcap" ; then
       cap=yes
     else
       cap=no
     fi
 fi  fi
   
 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"  ##########################################
   # pthread probe
   PTHREADLIBS_LIST="-pthread -lpthread -lpthreadGC2"
   
 mkdir -p $target_dir  pthread=no
 mkdir -p $target_dir/fpu  cat > $TMPC << EOF
 if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then  #include <pthread.h>
   mkdir -p $target_dir/nwfpe  static void *f(void *p) { return NULL; }
   int main(void) {
     pthread_t thread;
     pthread_create(&thread, 0, f, 0);
     return 0;
   }
   EOF
   if compile_prog "" "" ; then
     pthread=yes
   else
     for pthread_lib in $PTHREADLIBS_LIST; do
       if compile_prog "" "$pthread_lib" ; then
         pthread=yes
         found=no
         for lib_entry in $LIBS; do
           if test "$lib_entry" = "$pthread_lib"; then
             found=yes
             break
           fi
         done
         if test "$found" = "no"; then
           LIBS="$pthread_lib $LIBS"
         fi
         break
       fi
     done
   fi
   
   if test "$mingw32" != yes -a "$pthread" = no; then
     echo
     echo "Error: pthread check failed"
     echo "Make sure to have the pthread libs and headers installed."
     echo
     exit 1
   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
   
   if test "$linux_aio" != "no" ; then
     cat > $TMPC <<EOF
   #include <libaio.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; }
   EOF
     if compile_prog "" "-laio" ; then
       linux_aio=yes
       libs_softmmu="$libs_softmmu -laio"
       libs_tools="$libs_tools -laio"
     else
       if test "$linux_aio" = "yes" ; then
         feature_not_found "linux AIO"
       fi
       linux_aio=no
     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
   cat > $TMPC <<EOF
   #include <sys/types.h>
   #include <sys/uio.h>
   #include <unistd.h>
   int main(void) { return sizeof(struct iovec); }
   EOF
   iovec=no
   if compile_prog "" "" ; then
     iovec=yes
   fi
   
   ##########################################
   # preadv probe
   cat > $TMPC <<EOF
   #include <sys/types.h>
   #include <sys/uio.h>
   #include <unistd.h>
   int main(void) { return preadv == preadv; }
   EOF
   preadv=no
   if compile_prog "" "" ; then
     preadv=yes
 fi  fi
 if test "$target_user_only" = "no" ; then  
   mkdir -p $target_dir/slirp  ##########################################
   # fdt probe
   if test "$fdt" != "no" ; then
     fdt_libs="-lfdt"
     cat > $TMPC << EOF
   int main(void) { return 0; }
   EOF
     if compile_prog "" "$fdt_libs" ; then
       fdt=yes
     else
       if test "$fdt" = "yes" ; then
         feature_not_found "fdt"
       fi
       fdt_libs=
       fdt=no
     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) { return GL_VERSION != 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  fi
   
 #  #
 # don't use ln -sf as not all "ln -sf" over write the file/link  # Check for xxxat() functions when we are building linux-user
   # emulator.  This is done because older glibc versions don't
   # have syscall stubs for these implemented.
 #  #
 rm -f $target_dir/Makefile  atfile=no
 ln -s $source_path/Makefile.target $target_dir/Makefile  cat > $TMPC << EOF
   #define _ATFILE_SOURCE
   #include <sys/types.h>
   #include <fcntl.h>
   #include <unistd.h>
   
   int
   main(void)
   {
           /* try to unlink nonexisting file */
           return (unlinkat(AT_FDCWD, "nonexistent_file", 0));
   }
   EOF
   if compile_prog "" "" ; then
     atfile=yes
   fi
   
   # Check for inotify functions when we are building linux-user
   # emulator.  This is done because older glibc versions don't
   # have syscall stubs for these implemented.  In that case we
   # don't provide them even if kernel supports them.
   #
   inotify=no
   cat > $TMPC << EOF
   #include <sys/inotify.h>
   
 echo "# Automatically generated by configure - do not modify" > $config_mak  int
 echo "/* Automatically generated by configure - do not modify */" > $config_h  main(void)
   {
           /* try to start inotify */
           return inotify_init();
   }
   EOF
   if compile_prog "" "" ; then
     inotify=yes
   fi
   
   inotify1=no
   cat > $TMPC << EOF
   #include <sys/inotify.h>
   
 echo "include ../config-host.mak" >> $config_mak  int
 echo "#include \"../config-host.h\"" >> $config_h  main(void)
   {
       /* try to start inotify */
       return inotify_init1(0);
   }
   EOF
   if compile_prog "" "" ; then
     inotify1=yes
   fi
   
 bflt="no"  # check if utimensat and futimens are supported
 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`  utimens=no
 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h  cat > $TMPC << EOF
   #define _ATFILE_SOURCE
   #include <stddef.h>
   #include <fcntl.h>
   
   int main(void)
   {
       utimensat(AT_FDCWD, "foo", NULL, 0);
       futimens(0, NULL);
       return 0;
   }
   EOF
   if compile_prog "" "" ; then
     utimens=yes
   fi
   
 if test "$target_cpu" = "i386" ; then  # check if pipe2 is there
   echo "TARGET_ARCH=i386" >> $config_mak  pipe2=no
   echo "#define TARGET_ARCH \"i386\"" >> $config_h  cat > $TMPC << EOF
   echo "#define TARGET_I386 1" >> $config_h  #include <unistd.h>
   if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then  #include <fcntl.h>
     echo "#define USE_KQEMU 1" >> $config_h  
   fi  int main(void)
 elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then  {
   echo "TARGET_ARCH=arm" >> $config_mak      int pipefd[2];
   echo "#define TARGET_ARCH \"arm\"" >> $config_h      pipe2(pipefd, O_CLOEXEC);
   echo "#define TARGET_ARM 1" >> $config_h      return 0;
   bflt="yes"  }
 elif test "$target_cpu" = "sparc" ; then  EOF
   echo "TARGET_ARCH=sparc" >> $config_mak  if compile_prog "" "" ; then
   echo "#define TARGET_ARCH \"sparc\"" >> $config_h    pipe2=yes
   echo "#define TARGET_SPARC 1" >> $config_h  
 elif test "$target_cpu" = "sparc64" ; then  
   echo "TARGET_ARCH=sparc64" >> $config_mak  
   echo "#define TARGET_ARCH \"sparc64\"" >> $config_h  
   echo "#define TARGET_SPARC 1" >> $config_h  
   echo "#define TARGET_SPARC64 1" >> $config_h  
 elif test "$target_cpu" = "ppc" ; then  
   echo "TARGET_ARCH=ppc" >> $config_mak  
   echo "#define TARGET_ARCH \"ppc\"" >> $config_h  
   echo "#define TARGET_PPC 1" >> $config_h  
 elif test "$target_cpu" = "ppc64" ; then  
   echo "TARGET_ARCH=ppc64" >> $config_mak  
   echo "#define TARGET_ARCH \"ppc64\"" >> $config_h  
   echo "#define TARGET_PPC 1" >> $config_h  
   echo "#define TARGET_PPC64 1" >> $config_h  
 elif test "$target_cpu" = "x86_64" ; then  
   echo "TARGET_ARCH=x86_64" >> $config_mak  
   echo "#define TARGET_ARCH \"x86_64\"" >> $config_h  
   echo "#define TARGET_I386 1" >> $config_h  
   echo "#define TARGET_X86_64 1" >> $config_h  
   if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"  ; then  
     echo "#define USE_KQEMU 1" >> $config_h  
   fi  
 elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then  
   echo "TARGET_ARCH=mips" >> $config_mak  
   echo "#define TARGET_ARCH \"mips\"" >> $config_h  
   echo "#define TARGET_MIPS 1" >> $config_h  
   echo "CONFIG_SOFTFLOAT=yes" >> $config_mak  
   echo "#define CONFIG_SOFTFLOAT 1" >> $config_h  
 elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then  
   echo "TARGET_ARCH=sh4" >> $config_mak  
   echo "#define TARGET_ARCH \"sh4\"" >> $config_h  
   echo "#define TARGET_SH4 1" >> $config_h  
   bflt="yes"  
 else  
   echo "Unsupported target CPU"  
   exit 1  
 fi  fi
 if test "$target_bigendian" = "yes" ; then  
   echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak  # check if accept4 is there
   echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h  accept4=no
   cat > $TMPC << EOF
   #include <sys/socket.h>
   #include <stddef.h>
   
   int main(void)
   {
       accept4(0, NULL, NULL, SOCK_CLOEXEC);
       return 0;
   }
   EOF
   if compile_prog "" "" ; then
     accept4=yes
 fi  fi
 if test "$target_softmmu" = "yes" ; then  
   echo "CONFIG_SOFTMMU=yes" >> $config_mak  # check if tee/splice is there. vmsplice was added same time.
   echo "#define CONFIG_SOFTMMU 1" >> $config_h  splice=no
   cat > $TMPC << EOF
   #include <unistd.h>
   #include <fcntl.h>
   #include <limits.h>
   
   int main(void)
   {
       int len, fd = 0;
       len = tee(STDIN_FILENO, STDOUT_FILENO, INT_MAX, SPLICE_F_NONBLOCK);
       splice(STDIN_FILENO, NULL, fd, NULL, len, SPLICE_F_MOVE);
       return 0;
   }
   EOF
   if compile_prog "" "" ; then
     splice=yes
 fi  fi
 if test "$target_user_only" = "yes" ; then  
   echo "CONFIG_USER_ONLY=yes" >> $config_mak  ##########################################
   echo "#define CONFIG_USER_ONLY 1" >> $config_h  # signalfd probe
   signalfd="no"
   cat > $TMPC << EOF
   #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
   eventfd=no
   cat > $TMPC << EOF
   #include <sys/eventfd.h>
   
   int main(void)
   {
       return eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC);
   }
   EOF
   if compile_prog "" "" ; then
     eventfd=yes
 fi  fi
   
 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64"; then  # check for fallocate
   echo "CONFIG_SOFTFLOAT=yes" >> $config_mak  fallocate=no
   echo "#define CONFIG_SOFTFLOAT 1" >> $config_h  cat > $TMPC << EOF
   #include <fcntl.h>
   
   int main(void)
   {
       fallocate(0, 0, 0, 0);
       return 0;
   }
   EOF
   if compile_prog "" "" ; then
     fallocate=yes
 fi  fi
 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then  
   echo "TARGET_HAS_BFLT=yes" >> $config_mak  # check for sync_file_range
   echo "#define TARGET_HAS_BFLT 1" >> $config_h  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 "" "" ; 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 "" "" ; then
     fiemap=yes
   fi
   
   # check for dup3
   dup3=no
   cat > $TMPC << EOF
   #include <unistd.h>
   
   int main(void)
   {
       dup3(0, 0, 0);
       return 0;
   }
   EOF
   if compile_prog "" "" ; then
     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 "" "" ; 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.)
        */
       return epoll_create1 == epoll_create1;
   }
   EOF
   if compile_prog "" "" ; 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 "" "" ; 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
   # We check for iscsi_unmap_sync() to make sure we have a
   # recent enough version of libiscsi.
   if test "$libiscsi" != "no" ; then
     cat > $TMPC << EOF
   #include <stdio.h>
   #include <iscsi/iscsi.h>
   int main(void) { iscsi_unmap_sync(NULL,0,0,0,NULL,0); 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) { return clock_gettime(CLOCK_REALTIME, 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
   
   ##########################################
   # 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.8.2 spice-server >/dev/null 2>&1 && \
        $pkg_config --atleast-version=0.8.1 spice-protocol > /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  fi
 # sdl defines  
   
 if test "$target_user_only" = "no"; then  # check for libcacard for smartcard support
     if test "$target_softmmu" = "no" -o "$static" = "yes"; then  if test "$smartcard" != "no" ; then
         sdl1=$sdl_static      smartcard="yes"
     else      smartcard_cflags=""
         sdl1=$sdl      # TODO - what's the minimal nss version we support?
     fi      if test "$smartcard_nss" != "no"; then
     if test "$sdl1" = "yes" ; then        cat > $TMPC << EOF
         echo "#define CONFIG_SDL 1" >> $config_h  #include <pk11pub.h>
         echo "CONFIG_SDL=yes" >> $config_mak  int main(void) { PK11_FreeSlot(0); return 0; }
         if test "$target_softmmu" = "no" -o "$static" = "yes"; then  EOF
             echo "SDL_LIBS=$sdl_static_libs" >> $config_mak          smartcard_cflags="-I\$(SRC_PATH)/libcacard"
           libcacard_libs="$($pkg_config --libs nss 2>/dev/null) $glib_libs"
           libcacard_cflags="$($pkg_config --cflags nss 2>/dev/null) $glib_cflags"
           if $pkg_config --atleast-version=3.12.8 nss >/dev/null 2>&1 && \
             compile_prog "$smartcard_cflags $libcacard_cflags" "$libcacard_libs"; then
               smartcard_nss="yes"
               QEMU_CFLAGS="$QEMU_CFLAGS $smartcard_cflags $libcacard_cflags"
               libs_softmmu="$libcacard_libs $libs_softmmu"
         else          else
             echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak              if test "$smartcard_nss" = "yes"; then
                   feature_not_found "nss"
               fi
               smartcard_nss="no"
         fi          fi
         if [ "${aa}" = "yes" ] ; then      fi
             echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak  fi
         else  if test "$smartcard" = "no" ; then
             echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak      smartcard_nss="no"
   fi
   
   # check for usbredirparser for usb network redirection support
   if test "$usb_redir" != "no" ; then
       if $pkg_config --atleast-version=0.3.4 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          fi
           usb_redir="no"
     fi      fi
 fi  fi
   
 if test "$cocoa" = "yes" ; then  ##########################################
     echo "#define CONFIG_COCOA 1" >> $config_h  
     echo "CONFIG_COCOA=yes" >> $config_mak  ##########################################
   # 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
   #error Not supported
   #endif
   }
   EOF
   if compile_prog "" "" ; then
       fdatasync=yes
 fi  fi
   
 done # for target in $targets  ##########################################
   # check if we have madvise
   
 # build tree in object directory if source path is different from current one  madvise=no
 if test "$source_path_used" = "yes" ; then  cat > $TMPC << EOF
     DIRS="tests"  #include <sys/types.h>
     FILES="Makefile tests/Makefile"  #include <sys/mman.h>
     for dir in $DIRS ; do  #include <stddef.h>
             mkdir -p $dir  int main(void) { return madvise(NULL, 0, MADV_DONTNEED); }
     done  EOF
     # remove the link and recreate it, as not all "ln -sf" overwrite the link  if compile_prog "" "" ; then
     for f in $FILES ; do      madvise=yes
         rm -f $f  fi
         ln -s $source_path/$f $f  
     done  ##########################################
   # check if we have posix_madvise
   
   posix_madvise=no
   cat > $TMPC << EOF
   #include <sys/mman.h>
   #include <stddef.h>
   int main(void) { return posix_madvise(NULL, 0, POSIX_MADV_DONTNEED); }
   EOF
   if compile_prog "" "" ; then
       posix_madvise=yes
 fi  fi
   
 rm -f $TMPO $TMPC $TMPE $TMPS  ##########################################
   # check if trace backend exists
   
   $python "$source_path/scripts/tracetool.py" "--backend=$trace_backend" --check-backend  > /dev/null 2> /dev/null
   if test "$?" -ne 0 ; then
     echo
     echo "Error: invalid trace backend"
     echo "Please choose a supported trace backend."
     echo
     exit 1
   fi
   
   ##########################################
   # For 'ust' backend, test if ust headers are present
   if test "$trace_backend" = "ust"; then
     cat > $TMPC << EOF
   #include <ust/tracepoint.h>
   #include <ust/marker.h>
   int main(void) { return 0; }
   EOF
     if compile_prog "" "" ; then
       LIBS="-lust -lurcu-bp $LIBS"
       libs_qga="-lust -lurcu-bp $libs_qga"
     else
       echo
       echo "Error: Trace backend 'ust' missing libust header files"
       echo
       exit 1
     fi
   fi
   
   ##########################################
   # For 'dtrace' backend, test if 'dtrace' command is present
   if test "$trace_backend" = "dtrace"; then
     if ! has 'dtrace' ; then
       echo
       echo "Error: dtrace command is not found in PATH $PATH"
       echo
       exit 1
     fi
     trace_backend_stap="no"
     if has 'stap' ; then
       trace_backend_stap="yes"
     fi
   fi
   
   ##########################################
   # __sync_fetch_and_and requires at least -march=i486. Many toolchains
   # 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
   
   ##########################################
   # check and set a backend for coroutine
   
   # default is ucontext, but always fallback to gthread
   # windows autodetected by make
   if test "$coroutine" = "" -o "$coroutine" = "ucontext"; then
     if test "$darwin" != "yes"; then
       cat > $TMPC << EOF
   #include <ucontext.h>
   #ifdef __stub_makecontext
   #error Ignoring glibc stub makecontext which will always fail
   #endif
   int main(void) { makecontext(0, 0, 0); return 0; }
   EOF
       if compile_prog "" "" ; then
           coroutine_backend=ucontext
       else
           coroutine_backend=gthread
       fi
     else
       echo "Silently falling back into gthread backend under darwin"
     fi
   elif test "$coroutine" = "gthread" ; then
     coroutine_backend=gthread
   elif test "$coroutine" = "windows" ; then
     coroutine_backend=windows
   elif test "$coroutine" = "sigaltstack" ; then
     coroutine_backend=sigaltstack
   else
     echo
     echo "Error: unknown coroutine backend $coroutine"
     echo
     exit 1
   fi
   
   ##########################################
   # check if we have open_by_handle_at
   
   open_by_hande_at=no
   cat > $TMPC << EOF
   #include <fcntl.h>
   #if !defined(AT_EMPTY_PATH)
   # error missing definition
   #else
   int main(void) { struct file_handle fh; return open_by_handle_at(0, &fh, 0); }
   #endif
   EOF
   if compile_prog "" "" ; then
       open_by_handle_at=yes
   fi
   
   ########################################
   # check if we have linux/magic.h
   
   linux_magic_h=no
   cat > $TMPC << EOF
   #include <linux/magic.h>
   int main(void) {
     return 0;
   }
   EOF
   if compile_prog "" "" ; then
       linux_magic_h=yes
   fi
   
   ########################################
   # check if environ is declared
   
   has_environ=no
   cat > $TMPC << EOF
   #include <unistd.h>
   int main(void) {
       environ = environ;
       return 0;
   }
   EOF
   if compile_prog "" "" ; then
       has_environ=yes
   fi
   
   ##########################################
   # End of CC checks
   # After here, no more $cc or $ld runs
   
   if test "$debug" = "no" ; then
     CFLAGS="-O2 $CFLAGS"
   fi
   
   # Consult white-list to determine whether to enable werror
   # by default.  Only enable by default for git builds
   z_version=`cut -f3 -d. $source_path/VERSION`
   
   if test -z "$werror" ; then
       if test "$z_version" = "50" -a \
           "$linux" = "yes" ; then
           werror="yes"
       else
           werror="no"
       fi
   fi
   
   # Disable zero malloc errors for official releases unless explicitly told to
   # enable/disable
   if test -z "$zero_malloc" ; then
       if test "$z_version" = "50" ; then
           zero_malloc="no"
       else
           zero_malloc="yes"
       fi
   fi
   
   if test "$werror" = "yes" ; then
       QEMU_CFLAGS="-Werror $QEMU_CFLAGS"
   fi
   
   if test "$solaris" = "no" ; then
       if $ld --version 2>/dev/null | grep "GNU ld" >/dev/null 2>/dev/null ; then
           LDFLAGS="-Wl,--warn-common $LDFLAGS"
       fi
   fi
   
   # test if pod2man has --utf8 option
   if pod2man --help | grep -q utf8; then
       POD2MAN="pod2man --utf8"
   else
       POD2MAN="pod2man"
   fi
   
   # Use ASLR, no-SEH and DEP if available
   if test "$mingw32" = "yes" ; then
       for flag in --dynamicbase --no-seh --nxcompat; do
           if $ld --help 2>/dev/null | grep ".$flag" >/dev/null 2>/dev/null ; then
               LDFLAGS="-Wl,$flag $LDFLAGS"
           fi
       done
   fi
   
   qemu_confdir=$sysconfdir$confsuffix
   qemu_datadir=$datadir$confsuffix
   
   tools=
   if test "$softmmu" = yes ; then
     tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools"
     if test "$virtfs" != no ; then
       if test "$cap" = yes && test "$linux" = yes && test "$attr" = yes ; then
         virtfs=yes
         tools="$tools fsdev/virtfs-proxy-helper\$(EXESUF)"
       else
         if test "$virtfs" = yes; then
           echo "VirtFS is supported only on Linux and requires libcap-devel and libattr-devel"
           exit 1
         fi
         virtfs=no
       fi
     fi
     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
     fi
   fi
   
   # Mac OS X ships with a broken assembler
   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
   
   echo "Install prefix    $prefix"
   echo "BIOS directory    `eval echo $qemu_datadir`"
   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
   echo "Manual directory  `eval echo $mandir`"
   echo "ELF interp prefix $interp_prefix"
   fi
   echo "Source path       $source_path"
   echo "C compiler        $cc"
   echo "Host C compiler   $host_cc"
   echo "CFLAGS            $CFLAGS"
   echo "QEMU_CFLAGS       $QEMU_CFLAGS"
   echo "LDFLAGS           $LDFLAGS"
   echo "make              $make"
   echo "install           $install"
   echo "python            $python"
   if test "$slirp" = "yes" ; then
       echo "smbd              $smbd"
   fi
   echo "host CPU          $cpu"
   echo "host big endian   $bigendian"
   echo "target list       $target_list"
   echo "tcg debug enabled $debug_tcg"
   echo "Mon debug enabled $debug_mon"
   echo "gprof enabled     $gprof"
   echo "sparse enabled    $sparse"
   echo "strip binaries    $strip_opt"
   echo "profiler          $profiler"
   echo "static build      $static"
   echo "-Werror enabled   $werror"
   if test "$darwin" = "yes" ; then
       echo "Cocoa support     $cocoa"
   fi
   echo "SDL support       $sdl"
   echo "curses support    $curses"
   echo "curl support      $curl"
   echo "mingw32 support   $mingw32"
   echo "Audio drivers     $audio_drv_list"
   echo "Extra audio cards $audio_card_list"
   echo "Block whitelist   $block_drv_whitelist"
   echo "Mixer emulation   $mixemu"
   echo "VirtFS support    $virtfs"
   echo "VNC support       $vnc"
   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
       echo "Target Sparc Arch $sparc_cpu"
   fi
   echo "xen support       $xen"
   echo "brlapi support    $brlapi"
   echo "bluez  support    $bluez"
   echo "Documentation     $docs"
   [ ! -z "$uname_release" ] && \
   echo "uname -r          $uname_release"
   echo "NPTL support      $nptl"
   echo "GUEST_BASE        $guest_base"
   echo "PIE               $pie"
   echo "vde support       $vde"
   echo "Linux AIO support $linux_aio"
   echo "ATTR/XATTR support $attr"
   echo "Install blobs     $blobs"
   echo "KVM support       $kvm"
   echo "TCG interpreter   $tcg_interpreter"
   echo "fdt support       $fdt"
   echo "preadv support    $preadv"
   echo "fdatasync         $fdatasync"
   echo "madvise           $madvise"
   echo "posix_madvise     $posix_madvise"
   echo "uuid support      $uuid"
   echo "libcap-ng support $cap_ng"
   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"
   echo "coroutine backend $coroutine_backend"
   
   if test "$sdl_too_old" = "yes"; then
   echo "-> Your SDL version is too old - please upgrade to have SDL support"
   fi
   
   config_host_mak="config-host.mak"
   config_host_ld="config-host.ld"
   
   echo "# Automatically generated by configure - do not modify" > $config_host_mak
   printf "# Configured with:" >> $config_host_mak
   printf " '%s'" "$0" "$@" >> $config_host_mak
   echo >> $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 "sysconfdir=$sysconfdir" >> $config_host_mak
   echo "qemu_confdir=$qemu_confdir" >> $config_host_mak
   echo "qemu_datadir=$qemu_datadir" >> $config_host_mak
   echo "qemu_docdir=$qemu_docdir" >> $config_host_mak
   echo "libexecdir=\${prefix}/libexec" >> $config_host_mak
   echo "CONFIG_QEMU_HELPERDIR=\"$prefix/libexec\"" >> $config_host_mak
   
   echo "ARCH=$ARCH" >> $config_host_mak
   if test "$debug_tcg" = "yes" ; then
     echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
   fi
   if test "$debug_mon" = "yes" ; then
     echo "CONFIG_DEBUG_MONITOR=y" >> $config_host_mak
   fi
   if test "$debug" = "yes" ; then
     echo "CONFIG_DEBUG_EXEC=y" >> $config_host_mak
   fi
   if test "$strip_opt" = "yes" ; then
     echo "STRIP=${strip}" >> $config_host_mak
   fi
   if test "$bigendian" = "yes" ; then
     echo "HOST_WORDS_BIGENDIAN=y" >> $config_host_mak
   fi
   if test "$mingw32" = "yes" ; then
     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
     echo "CONFIG_POSIX=y" >> $config_host_mak
   fi
   
   if test "$linux" = "yes" ; then
     echo "CONFIG_LINUX=y" >> $config_host_mak
   fi
   
   if test "$darwin" = "yes" ; then
     echo "CONFIG_DARWIN=y" >> $config_host_mak
   fi
   
   if test "$aix" = "yes" ; then
     echo "CONFIG_AIX=y" >> $config_host_mak
   fi
   
   if test "$solaris" = "yes" ; then
     echo "CONFIG_SOLARIS=y" >> $config_host_mak
     echo "CONFIG_SOLARIS_VERSION=$solarisrev" >> $config_host_mak
     if test "$needs_libsunmath" = "yes" ; then
       echo "CONFIG_NEEDS_LIBSUNMATH=y" >> $config_host_mak
     fi
   fi
   if test "$haiku" = "yes" ; then
     echo "CONFIG_HAIKU=y" >> $config_host_mak
   fi
   if test "$static" = "yes" ; then
     echo "CONFIG_STATIC=y" >> $config_host_mak
   fi
   if test "$profiler" = "yes" ; then
     echo "CONFIG_PROFILER=y" >> $config_host_mak
   fi
   if test "$slirp" = "yes" ; then
     echo "CONFIG_SLIRP=y" >> $config_host_mak
     echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
     QEMU_INCLUDES="-I\$(SRC_PATH)/slirp $QEMU_INCLUDES"
   fi
   if test "$vde" = "yes" ; then
     echo "CONFIG_VDE=y" >> $config_host_mak
   fi
   if test "$cap_ng" = "yes" ; then
     echo "CONFIG_LIBCAP=y" >> $config_host_mak
   fi
   for card in $audio_card_list; do
       def=CONFIG_`echo $card | LC_ALL=C tr '[a-z]' '[A-Z]'`
       echo "$def=y" >> $config_host_mak
   done
   echo "CONFIG_AUDIO_DRIVERS=$audio_drv_list" >> $config_host_mak
   for drv in $audio_drv_list; do
       def=CONFIG_`echo $drv | LC_ALL=C tr '[a-z]' '[A-Z]'`
       echo "$def=y" >> $config_host_mak
       if test "$drv" = "fmod"; then
           echo "FMOD_CFLAGS=-I$fmod_inc" >> $config_host_mak
       fi
   done
   if test "$audio_pt_int" = "yes" ; then
     echo "CONFIG_AUDIO_PT_INT=y" >> $config_host_mak
   fi
   if test "$audio_win_int" = "yes" ; then
     echo "CONFIG_AUDIO_WIN_INT=y" >> $config_host_mak
   fi
   echo "CONFIG_BDRV_WHITELIST=$block_drv_whitelist" >> $config_host_mak
   if test "$mixemu" = "yes" ; then
     echo "CONFIG_MIXEMU=y" >> $config_host_mak
   fi
   if test "$vnc" = "yes" ; then
     echo "CONFIG_VNC=y" >> $config_host_mak
   fi
   if test "$vnc_tls" = "yes" ; then
     echo "CONFIG_VNC_TLS=y" >> $config_host_mak
     echo "VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_host_mak
   fi
   if test "$vnc_sasl" = "yes" ; then
     echo "CONFIG_VNC_SASL=y" >> $config_host_mak
     echo "VNC_SASL_CFLAGS=$vnc_sasl_cflags" >> $config_host_mak
   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
     echo "CONFIG_FNMATCH=y" >> $config_host_mak
   fi
   if test "$uuid" = "yes" ; then
     echo "CONFIG_UUID=y" >> $config_host_mak
   fi
   if test "$xfs" = "yes" ; then
     echo "CONFIG_XFS=y" >> $config_host_mak
   fi
   qemu_version=`head $source_path/VERSION`
   echo "VERSION=$qemu_version" >>$config_host_mak
   echo "PKGVERSION=$pkgversion" >>$config_host_mak
   echo "SRC_PATH=$source_path" >> $config_host_mak
   echo "TARGET_DIRS=$target_list" >> $config_host_mak
   if [ "$docs" = "yes" ] ; then
     echo "BUILD_DOCS=yes" >> $config_host_mak
   fi
   if test "$sdl" = "yes" ; then
     echo "CONFIG_SDL=y" >> $config_host_mak
     echo "SDL_CFLAGS=$sdl_cflags" >> $config_host_mak
   fi
   if test "$cocoa" = "yes" ; then
     echo "CONFIG_COCOA=y" >> $config_host_mak
   fi
   if test "$curses" = "yes" ; then
     echo "CONFIG_CURSES=y" >> $config_host_mak
   fi
   if test "$atfile" = "yes" ; then
     echo "CONFIG_ATFILE=y" >> $config_host_mak
   fi
   if test "$utimens" = "yes" ; then
     echo "CONFIG_UTIMENSAT=y" >> $config_host_mak
   fi
   if test "$pipe2" = "yes" ; then
     echo "CONFIG_PIPE2=y" >> $config_host_mak
   fi
   if test "$accept4" = "yes" ; then
     echo "CONFIG_ACCEPT4=y" >> $config_host_mak
   fi
   if test "$splice" = "yes" ; then
     echo "CONFIG_SPLICE=y" >> $config_host_mak
   fi
   if test "$eventfd" = "yes" ; then
     echo "CONFIG_EVENTFD=y" >> $config_host_mak
   fi
   if test "$fallocate" = "yes" ; then
     echo "CONFIG_FALLOCATE=y" >> $config_host_mak
   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
     echo "CONFIG_DUP3=y" >> $config_host_mak
   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
     echo "CONFIG_INOTIFY=y" >> $config_host_mak
   fi
   if test "$inotify1" = "yes" ; then
     echo "CONFIG_INOTIFY1=y" >> $config_host_mak
   fi
   if test "$byteswap_h" = "yes" ; then
     echo "CONFIG_BYTESWAP_H=y" >> $config_host_mak
   fi
   if test "$bswap_h" = "yes" ; then
     echo "CONFIG_MACHINE_BSWAP_H=y" >> $config_host_mak
   fi
   if test "$curl" = "yes" ; then
     echo "CONFIG_CURL=y" >> $config_host_mak
     echo "CURL_CFLAGS=$curl_cflags" >> $config_host_mak
   fi
   if test "$brlapi" = "yes" ; then
     echo "CONFIG_BRLAPI=y" >> $config_host_mak
   fi
   if test "$bluez" = "yes" ; then
     echo "CONFIG_BLUEZ=y" >> $config_host_mak
     echo "BLUEZ_CFLAGS=$bluez_cflags" >> $config_host_mak
   fi
   echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
   if test "$xen" = "yes" ; then
     echo "CONFIG_XEN_BACKEND=y" >> $config_host_mak
     echo "CONFIG_XEN_CTRL_INTERFACE_VERSION=$xen_ctrl_version" >> $config_host_mak
   fi
   if test "$linux_aio" = "yes" ; then
     echo "CONFIG_LINUX_AIO=y" >> $config_host_mak
   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 "$virtfs" = "yes" ; then
     echo "CONFIG_VIRTFS=y" >> $config_host_mak
   fi
   if test "$blobs" = "yes" ; then
     echo "INSTALL_BLOBS=yes" >> $config_host_mak
   fi
   if test "$iovec" = "yes" ; then
     echo "CONFIG_IOVEC=y" >> $config_host_mak
   fi
   if test "$preadv" = "yes" ; then
     echo "CONFIG_PREADV=y" >> $config_host_mak
   fi
   if test "$fdt" = "yes" ; then
     echo "CONFIG_FDT=y" >> $config_host_mak
   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 "$fdatasync" = "yes" ; then
     echo "CONFIG_FDATASYNC=y" >> $config_host_mak
   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
     echo "libcacard_libs=$libcacard_libs" >> $config_host_mak
     echo "libcacard_cflags=$libcacard_cflags" >> $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
   if [ "$bsd" = "yes" ] ; then
     echo "CONFIG_BSD=y" >> $config_host_mak
   fi
   
   echo "CONFIG_UNAME_RELEASE=\"$uname_release\"" >> $config_host_mak
   
   if test "$zero_malloc" = "yes" ; then
     echo "CONFIG_ZERO_MALLOC=y" >> $config_host_mak
   fi
   if test "$rbd" = "yes" ; then
     echo "CONFIG_RBD=y" >> $config_host_mak
   fi
   
   if test "$coroutine_backend" = "ucontext" ; then
     echo "CONFIG_UCONTEXT_COROUTINE=y" >> $config_host_mak
   elif test "$coroutine_backend" = "sigaltstack" ; then
     echo "CONFIG_SIGALTSTACK_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
   
   if test "$has_environ" = "yes" ; then
     echo "CONFIG_HAS_ENVIRON=y" >> $config_host_mak
   fi
   
   # USB host support
   case "$usb" in
   linux)
     echo "HOST_USB=linux" >> $config_host_mak
   ;;
   bsd)
     echo "HOST_USB=bsd" >> $config_host_mak
   ;;
   *)
     echo "HOST_USB=stub" >> $config_host_mak
   ;;
   esac
   
   # use default implementation for tracing backend-specific routines
   trace_default=yes
   echo "TRACE_BACKEND=$trace_backend" >> $config_host_mak
   if test "$trace_backend" = "nop"; then
     echo "CONFIG_TRACE_NOP=y" >> $config_host_mak
   fi
   if test "$trace_backend" = "simple"; then
     echo "CONFIG_TRACE_SIMPLE=y" >> $config_host_mak
     trace_default=no
     # 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
   
   echo "TOOLS=$tools" >> $config_host_mak
   echo "ROMS=$roms" >> $config_host_mak
   echo "MAKE=$make" >> $config_host_mak
   echo "INSTALL=$install" >> $config_host_mak
   echo "INSTALL_DIR=$install -d -m 0755" >> $config_host_mak
   echo "INSTALL_DATA=$install -c -m 0644" >> $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_I386=$cc_i386" >> $config_host_mak
   echo "HOST_CC=$host_cc" >> $config_host_mak
   echo "AR=$ar" >> $config_host_mak
   echo "OBJCOPY=$objcopy" >> $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 "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 "LDFLAGS=$LDFLAGS" >> $config_host_mak
   echo "ARLIBS_BEGIN=$arlibs_begin" >> $config_host_mak
   echo "ARLIBS_END=$arlibs_end" >> $config_host_mak
   echo "LIBS+=$LIBS" >> $config_host_mak
   echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
   echo "EXESUF=$EXESUF" >> $config_host_mak
   echo "LIBS_QGA+=$libs_qga" >> $config_host_mak
   echo "POD2MAN=$POD2MAN" >> $config_host_mak
   
   # generate list of library paths for linker script
   
   $ld --verbose -v 2> /dev/null | grep SEARCH_DIR > ${config_host_ld}
   
   if test -f ${config_host_ld}~ ; then
     if cmp -s $config_host_ld ${config_host_ld}~ ; then
       mv ${config_host_ld}~ $config_host_ld
     else
       rm ${config_host_ld}~
     fi
   fi
   
   for d in libdis libdis-user; do
       mkdir -p $d
       symlink "$source_path/Makefile.dis" "$d/Makefile"
       echo > $d/config.mak
   done
   
   # use included Linux headers
   if test "$linux" = "yes" ; then
     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
   fi
   
   for target in $target_list; do
   target_dir="$target"
   config_target_mak=$target_dir/config-target.mak
   target_arch2=`echo $target | cut -d '-' -f 1`
   target_bigendian="no"
   
   case "$target_arch2" in
     armeb|lm32|m68k|microblaze|mips|mipsn32|mips64|ppc|ppcemb|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus|xtensaeb)
     target_bigendian=yes
     ;;
   esac
   target_softmmu="no"
   target_user_only="no"
   target_linux_user="no"
   target_bsd_user="no"
   case "$target" in
     ${target_arch2}-softmmu)
       target_softmmu="yes"
       ;;
     ${target_arch2}-linux-user)
       if test "$linux" != "yes" ; then
         echo "ERROR: Target '$target' is only available on a Linux host"
         exit 1
       fi
       target_user_only="yes"
       target_linux_user="yes"
       ;;
     ${target_arch2}-bsd-user)
       if test "$bsd" != "yes" ; then
         echo "ERROR: Target '$target' is only available on a BSD host"
         exit 1
       fi
       target_user_only="yes"
       target_bsd_user="yes"
       ;;
     *)
       echo "ERROR: Target '$target' not recognised"
       exit 1
       ;;
   esac
   
   mkdir -p $target_dir
   mkdir -p $target_dir/fpu
   mkdir -p $target_dir/tcg
   mkdir -p $target_dir/ide
   mkdir -p $target_dir/usb
   mkdir -p $target_dir/9pfs
   mkdir -p $target_dir/kvm
   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
   fi
   symlink "$source_path/Makefile.target" "$target_dir/Makefile"
   
   
   echo "# Automatically generated by configure - do not modify" > $config_target_mak
   
   bflt="no"
   target_nptl="no"
   interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
   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_BASE_ARCH=""
   TARGET_ABI_DIR=""
   
   case "$target_arch2" in
     i386)
       target_phys_bits=64
     ;;
     x86_64)
       TARGET_BASE_ARCH=i386
       target_phys_bits=64
       target_long_alignment=8
     ;;
     alpha)
       target_phys_bits=64
       target_long_alignment=8
       target_nptl="yes"
     ;;
     arm|armeb)
       TARGET_ARCH=arm
       bflt="yes"
       target_nptl="yes"
       gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
       target_phys_bits=32
       target_llong_alignment=4
       target_libs_softmmu="$fdt_libs"
     ;;
     cris)
       target_nptl="yes"
       target_phys_bits=32
     ;;
     lm32)
       target_phys_bits=32
       target_libs_softmmu="$opengl_libs"
     ;;
     m68k)
       bflt="yes"
       gdb_xml_files="cf-core.xml cf-fp.xml"
       target_phys_bits=32
       target_int_alignment=2
       target_long_alignment=2
       target_llong_alignment=2
     ;;
     microblaze|microblazeel)
       TARGET_ARCH=microblaze
       bflt="yes"
       target_nptl="yes"
       target_phys_bits=32
       target_libs_softmmu="$fdt_libs"
     ;;
     mips|mipsel)
       TARGET_ARCH=mips
       echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak
       target_nptl="yes"
       target_phys_bits=64
     ;;
     mipsn32|mipsn32el)
       TARGET_ARCH=mipsn32
       TARGET_BASE_ARCH=mips
       echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak
       target_phys_bits=64
     ;;
     mips64|mips64el)
       TARGET_ARCH=mips64
       TARGET_BASE_ARCH=mips
       echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
       target_phys_bits=64
       target_long_alignment=8
     ;;
     ppc)
       gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
       target_phys_bits=64
       target_nptl="yes"
       target_libs_softmmu="$fdt_libs"
     ;;
     ppcemb)
       TARGET_BASE_ARCH=ppc
       TARGET_ABI_DIR=ppc
       gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
       target_phys_bits=64
       target_nptl="yes"
       target_libs_softmmu="$fdt_libs"
     ;;
     ppc64)
       TARGET_BASE_ARCH=ppc
       TARGET_ABI_DIR=ppc
       gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
       target_phys_bits=64
       target_long_alignment=8
       target_libs_softmmu="$fdt_libs"
     ;;
     ppc64abi32)
       TARGET_ARCH=ppc64
       TARGET_BASE_ARCH=ppc
       TARGET_ABI_DIR=ppc
       echo "TARGET_ABI32=y" >> $config_target_mak
       gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
       target_phys_bits=64
       target_libs_softmmu="$fdt_libs"
     ;;
     sh4|sh4eb)
       TARGET_ARCH=sh4
       bflt="yes"
       target_nptl="yes"
       target_phys_bits=32
     ;;
     sparc)
       target_phys_bits=64
     ;;
     sparc64)
       TARGET_BASE_ARCH=sparc
       target_phys_bits=64
       target_long_alignment=8
     ;;
     sparc32plus)
       TARGET_ARCH=sparc64
       TARGET_BASE_ARCH=sparc
       TARGET_ABI_DIR=sparc
       echo "TARGET_ABI32=y" >> $config_target_mak
       target_phys_bits=64
     ;;
     s390x)
       target_nptl="yes"
       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"
       exit 1
     ;;
   esac
   
   case "$target_arch2" in
     alpha | sparc*)
       echo "CONFIG_TCG_PASS_AREG0=y" >> $config_target_mak
     ;;
   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
   target_arch_name="`echo $TARGET_ARCH | LC_ALL=C tr '[a-z]' '[A-Z]'`"
   echo "TARGET_$target_arch_name=y" >> $config_target_mak
   echo "TARGET_ARCH2=$target_arch2" >> $config_target_mak
   # TARGET_BASE_ARCH needs to be defined after TARGET_ARCH
   if [ "$TARGET_BASE_ARCH" = "" ]; then
     TARGET_BASE_ARCH=$TARGET_ARCH
   fi
   echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_target_mak
   if [ "$TARGET_ABI_DIR" = "" ]; then
     TARGET_ABI_DIR=$TARGET_ARCH
   fi
   echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
   case "$target_arch2" in
     i386|x86_64)
       if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then
         target_phys_bits=64
         echo "CONFIG_XEN=y" >> $config_target_mak
       else
         echo "CONFIG_NO_XEN=y" >> $config_target_mak
       fi
       ;;
     *)
       echo "CONFIG_NO_XEN=y" >> $config_target_mak
   esac
   case "$target_arch2" in
     i386|x86_64|ppcemb|ppc|ppc64|s390x)
       # Make sure the target and host cpus are compatible
       if test "$kvm" = "yes" -a "$target_softmmu" = "yes" -a \
         \( "$target_arch2" = "$cpu" -o \
         \( "$target_arch2" = "ppcemb" -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" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
         echo "CONFIG_KVM=y" >> $config_target_mak
         if test "$vhost_net" = "yes" ; then
           echo "CONFIG_VHOST_NET=y" >> $config_target_mak
         fi
       fi
   esac
   if test "$target_arch2" = "ppc64" -a "$fdt" = "yes"; then
     echo "CONFIG_PSERIES=y" >> $config_target_mak
   fi
   if test "$target_bigendian" = "yes" ; then
     echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak
   fi
   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 "LIBS+=$libs_softmmu $target_libs_softmmu" >> $config_target_mak
     echo "HWDIR=../libhw$target_phys_bits" >> $config_target_mak
     echo "subdir-$target: subdir-libhw$target_phys_bits" >> $config_host_mak
     if test "$smartcard_nss" = "yes" ; then
       echo "subdir-$target: subdir-libcacard" >> $config_host_mak
     fi
   fi
   if test "$target_user_only" = "yes" ; then
     echo "CONFIG_USER_ONLY=y" >> $config_target_mak
     echo "CONFIG_QEMU_INTERP_PREFIX=\"$interp_prefix1\"" >> $config_target_mak
   fi
   if test "$target_linux_user" = "yes" ; then
     echo "CONFIG_LINUX_USER=y" >> $config_target_mak
   fi
   list=""
   if test ! -z "$gdb_xml_files" ; then
     for x in $gdb_xml_files; do
       list="$list $source_path/gdb-xml/$x"
     done
     echo "TARGET_XML_FILES=$list" >> $config_target_mak
   fi
   
   if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
     echo "TARGET_HAS_BFLT=y" >> $config_target_mak
   fi
   if test "$target_user_only" = "yes" \
           -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
     echo "CONFIG_USE_NPTL=y" >> $config_target_mak
   fi
   if test "$target_user_only" = "yes" -a "$guest_base" = "yes"; then
     echo "CONFIG_USE_GUEST_BASE=y" >> $config_target_mak
   fi
   if test "$target_bsd_user" = "yes" ; then
     echo "CONFIG_BSD_USER=y" >> $config_target_mak
   fi
   
   # generate QEMU_CFLAGS/LDFLAGS for targets
   
   cflags=""
   includes=""
   ldflags=""
   
   if test "$tcg_interpreter" = "yes"; then
     includes="-I\$(SRC_PATH)/tcg/tci $includes"
   elif test "$ARCH" = "sparc64" ; then
     includes="-I\$(SRC_PATH)/tcg/sparc $includes"
   elif test "$ARCH" = "s390x" ; then
     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 "$linux" = "yes" ; then
     includes="-I\$(SRC_PATH)/linux-headers $includes"
   fi
   
   if test "$target_user_only" = "yes" ; then
       libdis_config_mak=libdis-user/config.mak
   else
       libdis_config_mak=libdis/config.mak
   fi
   
   for i in $ARCH $TARGET_BASE_ARCH ; do
     case "$i" in
     alpha)
       echo "CONFIG_ALPHA_DIS=y"  >> $config_target_mak
       echo "CONFIG_ALPHA_DIS=y"  >> $libdis_config_mak
     ;;
     arm)
       echo "CONFIG_ARM_DIS=y"  >> $config_target_mak
       echo "CONFIG_ARM_DIS=y"  >> $libdis_config_mak
     ;;
     cris)
       echo "CONFIG_CRIS_DIS=y"  >> $config_target_mak
       echo "CONFIG_CRIS_DIS=y"  >> $libdis_config_mak
     ;;
     hppa)
       echo "CONFIG_HPPA_DIS=y"  >> $config_target_mak
       echo "CONFIG_HPPA_DIS=y"  >> $libdis_config_mak
     ;;
     i386|x86_64)
       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
     ;;
     lm32)
       echo "CONFIG_LM32_DIS=y"  >> $config_target_mak
       echo "CONFIG_LM32_DIS=y"  >> $libdis_config_mak
     ;;
     m68k)
       echo "CONFIG_M68K_DIS=y"  >> $config_target_mak
       echo "CONFIG_M68K_DIS=y"  >> $libdis_config_mak
     ;;
     microblaze*)
       echo "CONFIG_MICROBLAZE_DIS=y"  >> $config_target_mak
       echo "CONFIG_MICROBLAZE_DIS=y"  >> $libdis_config_mak
     ;;
     mips*)
       echo "CONFIG_MIPS_DIS=y"  >> $config_target_mak
       echo "CONFIG_MIPS_DIS=y"  >> $libdis_config_mak
     ;;
     ppc*)
       echo "CONFIG_PPC_DIS=y"  >> $config_target_mak
       echo "CONFIG_PPC_DIS=y"  >> $libdis_config_mak
     ;;
     s390*)
       echo "CONFIG_S390_DIS=y"  >> $config_target_mak
       echo "CONFIG_S390_DIS=y"  >> $libdis_config_mak
     ;;
     sh4)
       echo "CONFIG_SH4_DIS=y"  >> $config_target_mak
       echo "CONFIG_SH4_DIS=y"  >> $libdis_config_mak
     ;;
     sparc*)
       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
   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
   alpha)
     # Ensure there's only a single GP
     cflags="-msmall-data $cflags"
   ;;
   esac
   
   if test "$target_softmmu" = "yes" ; then
     case "$TARGET_BASE_ARCH" in
     arm)
       cflags="-DHAS_AUDIO $cflags"
     ;;
     lm32)
       cflags="-DHAS_AUDIO $cflags"
     ;;
     i386|mips|ppc)
       cflags="-DHAS_AUDIO -DHAS_AUDIO_CHOICE $cflags"
     ;;
     esac
   fi
   
   if test "$target_softmmu" = "yes" -a \( \
           "$TARGET_ARCH" = "microblaze" -o \
           "$TARGET_ARCH" = "cris" \) ; then
     echo "CONFIG_NEED_MMU=y" >> $config_target_mak
   fi
   
   if test "$gprof" = "yes" ; then
     echo "TARGET_GPROF=yes" >> $config_target_mak
     if test "$target_linux_user" = "yes" ; then
       cflags="-p $cflags"
       ldflags="-p $ldflags"
     fi
     if test "$target_softmmu" = "yes" ; then
       ldflags="-p $ldflags"
       echo "GPROF_CFLAGS=-p" >> $config_target_mak
     fi
   fi
   
   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
     case "$ARCH" in
     sparc)
       # -static is used to avoid g1/g3 usage by the dynamic linker
       ldflags="$linker_script -static $ldflags"
       ;;
     alpha | s390x)
       # The default placement of the application is fine.
       ;;
     *)
       ldflags="$linker_script $ldflags"
       ;;
     esac
   fi
   
   echo "LDFLAGS+=$ldflags" >> $config_target_mak
   echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak
   echo "QEMU_INCLUDES+=$includes" >> $config_target_mak
   
   done # for target in $targets
   
   # build tree in object directory in case the source is not in the current directory
   DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32"
   DIRS="$DIRS slirp audio block net pc-bios/optionrom"
   DIRS="$DIRS pc-bios/spapr-rtas"
   DIRS="$DIRS roms/seabios roms/vgabios"
   DIRS="$DIRS fsdev ui usb"
   DIRS="$DIRS qapi qapi-generated"
   DIRS="$DIRS qga trace qom"
   FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
   FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
   FILES="$FILES tests/tcg/lm32/Makefile"
   FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps"
   FILES="$FILES pc-bios/spapr-rtas/Makefile"
   FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile"
   for bios_file in \
       $source_path/pc-bios/*.bin \
       $source_path/pc-bios/*.rom \
       $source_path/pc-bios/*.dtb \
       $source_path/pc-bios/openbios-* \
       $source_path/pc-bios/palcode-*
   do
       FILES="$FILES pc-bios/`basename $bios_file`"
   done
   mkdir -p $DIRS
   for f in $FILES ; do
       if [ -e "$source_path/$f" ] && [ "$source_path" != `pwd` ]; then
           symlink "$source_path/$f" "$f"
       fi
   done
   
   # temporary config to build submodules
   for rom in seabios vgabios ; do
       config_mak=roms/$rom/config.mak
       echo "# Automatically generated by configure - do not modify" > $config_mak
       echo "SRC_PATH=$source_path/roms/$rom" >> $config_mak
       echo "CC=$cc" >> $config_mak
       echo "BCC=bcc" >> $config_mak
       echo "CPP=${cross_prefix}cpp" >> $config_mak
       echo "OBJCOPY=objcopy" >> $config_mak
       echo "IASL=iasl" >> $config_mak
       echo "LD=$ld" >> $config_mak
   done
   
   for hwlib in 32 64; do
     d=libhw$hwlib
     mkdir -p $d
     mkdir -p $d/ide
     mkdir -p $d/usb
     symlink "$source_path/Makefile.hw" "$d/Makefile"
     mkdir -p $d/9pfs
     echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" > $d/config.mak
   done
   
   if [ "$source_path" != `pwd` ]; then
       # out of tree build
       mkdir -p libcacard
       symlink "$source_path/libcacard/Makefile" libcacard/Makefile
   fi
   
   d=libuser
   mkdir -p $d
   mkdir -p $d/trace
   mkdir -p $d/qom
   symlink "$source_path/Makefile.user" "$d/Makefile"
   
   if test "$docs" = "yes" ; then
     mkdir -p QMP
   fi

Removed from v.1.1.1.4  
changed lines
  Added in v.1.1.1.18


unix.superglobalmegacorp.com