Annotation of qemu/configure, revision 1.1.1.16

1.1       root        1: #!/bin/sh
                      2: #
                      3: # qemu configure script (c) 2003 Fabrice Bellard
                      4: #
                      5: # set temporary file name
                      6: if test ! -z "$TMPDIR" ; then
                      7:     TMPDIR1="${TMPDIR}"
                      8: elif test ! -z "$TEMPDIR" ; then
                      9:     TMPDIR1="${TEMPDIR}"
                     10: else
                     11:     TMPDIR1="/tmp"
                     12: fi
                     13: 
                     14: TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
                     15: TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
1.1.1.11  root       16: TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.exe"
1.1.1.7   root       17: 
1.1.1.14  root       18: # NB: do not call "exit" in the trap handler; this is buggy with some shells;
                     19: # see <1285349658-3122-1-git-send-email-loic.minier@linaro.org>
                     20: trap "rm -f $TMPC $TMPO $TMPE" EXIT INT QUIT TERM
                     21: rm -f config.log
1.1.1.11  root       22: 
                     23: compile_object() {
1.1.1.14  root       24:   echo $cc $QEMU_CFLAGS -c -o $TMPO $TMPC >> config.log
                     25:   $cc $QEMU_CFLAGS -c -o $TMPO $TMPC >> config.log 2>&1
1.1.1.11  root       26: }
                     27: 
                     28: compile_prog() {
                     29:   local_cflags="$1"
                     30:   local_ldflags="$2"
1.1.1.14  root       31:   echo $cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags >> config.log
                     32:   $cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags >> config.log 2>&1
                     33: }
                     34: 
                     35: # symbolically link $1 to $2.  Portable version of "ln -sf".
                     36: symlink() {
                     37:   rm -f $2
                     38:   ln -s $1 $2
1.1.1.11  root       39: }
1.1       root       40: 
1.1.1.13  root       41: # check whether a command is available to this shell (may be either an
                     42: # executable or a builtin)
                     43: has() {
                     44:     type "$1" >/dev/null 2>&1
                     45: }
                     46: 
                     47: # search for an executable in PATH
                     48: path_of() {
                     49:     local_command="$1"
                     50:     local_ifs="$IFS"
                     51:     local_dir=""
                     52: 
                     53:     # pathname has a dir component?
                     54:     if [ "${local_command#*/}" != "$local_command" ]; then
                     55:         if [ -x "$local_command" ] && [ ! -d "$local_command" ]; then
                     56:             echo "$local_command"
                     57:             return 0
                     58:         fi
                     59:     fi
                     60:     if [ -z "$local_command" ]; then
                     61:         return 1
                     62:     fi
                     63: 
                     64:     IFS=:
                     65:     for local_dir in $PATH; do
                     66:         if [ -x "$local_dir/$local_command" ] && [ ! -d "$local_dir/$local_command" ]; then
                     67:             echo "$local_dir/$local_command"
                     68:             IFS="${local_ifs:-$(printf ' \t\n')}"
                     69:             return 0
                     70:         fi
                     71:     done
                     72:     # not found
                     73:     IFS="${local_ifs:-$(printf ' \t\n')}"
                     74:     return 1
                     75: }
                     76: 
1.1       root       77: # default parameters
1.1.1.14  root       78: source_path=`dirname "$0"`
1.1.1.11  root       79: cpu=""
1.1       root       80: interp_prefix="/usr/gnemul/qemu-%M"
                     81: static="no"
1.1.1.11  root       82: sparc_cpu=""
1.1       root       83: cross_prefix=""
1.1.1.7   root       84: audio_drv_list=""
1.1.1.14  root       85: audio_card_list="ac97 es1370 sb16 hda"
                     86: audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus hda"
1.1.1.11  root       87: block_drv_whitelist=""
1.1       root       88: host_cc="gcc"
1.1.1.11  root       89: helper_cflags=""
                     90: libs_softmmu=""
                     91: libs_tools=""
                     92: audio_pt_int=""
                     93: audio_win_int=""
1.1.1.14  root       94: cc_i386=i386-pc-linux-gnu-gcc
                     95: 
                     96: target_list=""
                     97: 
                     98: # Default value for a variable defining feature "foo".
                     99: #  * foo="no"  feature will only be used if --enable-foo arg is given
                    100: #  * foo=""    feature will be searched for, and if found, will be used
                    101: #              unless --disable-foo is given
                    102: #  * foo="yes" this value will only be set by --enable-foo flag.
                    103: #              feature will searched for,
                    104: #              if not found, configure exits with error
                    105: #
                    106: # Always add --enable-foo and --disable-foo command line args.
                    107: # Distributions want to ensure that several features are compiled in, and it
                    108: # is impossible without a --enable-foo that exits if a feature is not found.
                    109: 
                    110: bluez=""
                    111: brlapi=""
                    112: curl=""
                    113: curses=""
                    114: docs=""
                    115: fdt=""
                    116: kvm=""
                    117: nptl=""
                    118: sdl=""
1.1.1.16! root      119: vnc="yes"
1.1.1.14  root      120: sparse="no"
                    121: uuid=""
                    122: vde=""
                    123: vnc_tls=""
                    124: vnc_sasl=""
                    125: vnc_jpeg=""
                    126: vnc_png=""
                    127: vnc_thread="no"
                    128: xen=""
1.1.1.16! root      129: xen_ctrl_version=""
1.1.1.14  root      130: linux_aio=""
                    131: attr=""
                    132: vhost_net=""
                    133: xfs=""
                    134: 
                    135: gprof="no"
                    136: debug_tcg="no"
                    137: debug_mon="no"
                    138: debug="no"
                    139: strip_opt="yes"
                    140: bigendian="no"
                    141: mingw32="no"
                    142: EXESUF=""
                    143: prefix="/usr/local"
                    144: mandir="\${prefix}/share/man"
                    145: datadir="\${prefix}/share/qemu"
                    146: docdir="\${prefix}/share/doc/qemu"
                    147: bindir="\${prefix}/bin"
1.1.1.16! root      148: libdir="\${prefix}/lib"
1.1.1.14  root      149: sysconfdir="\${prefix}/etc"
                    150: confsuffix="/qemu"
                    151: slirp="yes"
                    152: fmod_lib=""
                    153: fmod_inc=""
                    154: oss_lib=""
                    155: bsd="no"
                    156: linux="no"
                    157: solaris="no"
                    158: profiler="no"
                    159: cocoa="no"
                    160: softmmu="yes"
                    161: linux_user="no"
                    162: darwin_user="no"
                    163: bsd_user="no"
                    164: guest_base=""
                    165: uname_release=""
                    166: io_thread="no"
                    167: mixemu="no"
                    168: aix="no"
                    169: blobs="yes"
                    170: pkgversion=""
                    171: check_utests="no"
                    172: user_pie="no"
                    173: zero_malloc=""
                    174: trace_backend="nop"
                    175: trace_file="trace"
                    176: spice=""
                    177: rbd=""
1.1.1.16! root      178: smartcard=""
        !           179: smartcard_nss=""
        !           180: usb_redir=""
        !           181: opengl=""
        !           182: guest_agent="yes"
1.1.1.7   root      183: 
                    184: # parse CC options first
                    185: for opt do
                    186:   optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
                    187:   case "$opt" in
                    188:   --cross-prefix=*) cross_prefix="$optarg"
                    189:   ;;
1.1.1.14  root      190:   --cc=*) CC="$optarg"
                    191:   ;;
                    192:   --source-path=*) source_path="$optarg"
1.1.1.7   root      193:   ;;
1.1.1.11  root      194:   --cpu=*) cpu="$optarg"
                    195:   ;;
                    196:   --extra-cflags=*) QEMU_CFLAGS="$optarg $QEMU_CFLAGS"
                    197:   ;;
                    198:   --extra-ldflags=*) LDFLAGS="$optarg $LDFLAGS"
                    199:   ;;
                    200:   --sparc_cpu=*)
                    201:     sparc_cpu="$optarg"
                    202:     case $sparc_cpu in
                    203:     v7|v8|v8plus|v8plusa)
                    204:       cpu="sparc"
                    205:     ;;
                    206:     v9)
                    207:       cpu="sparc64"
                    208:     ;;
                    209:     *)
                    210:       echo "undefined SPARC architecture. Exiting";
                    211:       exit 1
                    212:     ;;
                    213:     esac
                    214:   ;;
1.1.1.7   root      215:   esac
                    216: done
                    217: # OS specific
                    218: # Using uname is really, really broken.  Once we have the right set of checks
                    219: # we can eliminate it's usage altogether
                    220: 
1.1.1.14  root      221: cc="${cross_prefix}${CC-gcc}"
                    222: ar="${cross_prefix}${AR-ar}"
                    223: objcopy="${cross_prefix}${OBJCOPY-objcopy}"
                    224: ld="${cross_prefix}${LD-ld}"
                    225: strip="${cross_prefix}${STRIP-strip}"
                    226: windres="${cross_prefix}${WINDRES-windres}"
                    227: pkg_config="${cross_prefix}${PKG_CONFIG-pkg-config}"
                    228: sdl_config="${cross_prefix}${SDL_CONFIG-sdl-config}"
1.1.1.7   root      229: 
1.1.1.11  root      230: # default flags for all hosts
                    231: QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS"
                    232: CFLAGS="-g $CFLAGS"
1.1.1.16! root      233: QEMU_CFLAGS="-Wall -Wundef -Wwrite-strings -Wmissing-prototypes $QEMU_CFLAGS"
1.1.1.11  root      234: QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS"
                    235: QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS"
1.1.1.13  root      236: QEMU_CFLAGS="-D_FORTIFY_SOURCE=2 $QEMU_CFLAGS"
1.1.1.14  root      237: QEMU_INCLUDES="-I. -I\$(SRC_PATH)"
1.1.1.11  root      238: LDFLAGS="-g $LDFLAGS"
                    239: 
1.1.1.14  root      240: # make source path absolute
                    241: source_path=`cd "$source_path"; pwd`
1.1.1.7   root      242: 
                    243: check_define() {
                    244: cat > $TMPC <<EOF
                    245: #if !defined($1)
                    246: #error Not defined
                    247: #endif
                    248: int main(void) { return 0; }
                    249: EOF
1.1.1.11  root      250:   compile_object
1.1.1.7   root      251: }
                    252: 
1.1.1.11  root      253: if test ! -z "$cpu" ; then
                    254:   # command line argument
                    255:   :
                    256: elif check_define __i386__ ; then
1.1.1.7   root      257:   cpu="i386"
                    258: elif check_define __x86_64__ ; then
                    259:   cpu="x86_64"
                    260: elif check_define __sparc__ ; then
                    261:   # We can't check for 64 bit (when gcc is biarch) or V8PLUSA
                    262:   # They must be specified using --sparc_cpu
                    263:   if check_define __arch64__ ; then
                    264:     cpu="sparc64"
                    265:   else
                    266:     cpu="sparc"
                    267:   fi
                    268: elif check_define _ARCH_PPC ; then
                    269:   if check_define _ARCH_PPC64 ; then
                    270:     cpu="ppc64"
                    271:   else
                    272:     cpu="ppc"
                    273:   fi
1.1.1.11  root      274: elif check_define __mips__ ; then
                    275:   cpu="mips"
1.1.1.13  root      276: elif check_define __ia64__ ; then
                    277:   cpu="ia64"
                    278: elif check_define __s390__ ; then
                    279:   if check_define __s390x__ ; then
                    280:     cpu="s390x"
                    281:   else
                    282:     cpu="s390"
                    283:   fi
1.1.1.7   root      284: else
                    285:   cpu=`uname -m`
                    286: fi
                    287: 
1.1       root      288: case "$cpu" in
1.1.1.16! root      289:   alpha|cris|ia64|lm32|m68k|microblaze|ppc|ppc64|sparc64|unicore32)
1.1.1.11  root      290:     cpu="$cpu"
                    291:   ;;
1.1       root      292:   i386|i486|i586|i686|i86pc|BePC)
                    293:     cpu="i386"
                    294:   ;;
1.1.1.7   root      295:   x86_64|amd64)
                    296:     cpu="x86_64"
                    297:   ;;
1.1       root      298:   armv*b)
                    299:     cpu="armv4b"
                    300:   ;;
                    301:   armv*l)
                    302:     cpu="armv4l"
                    303:   ;;
1.1.1.7   root      304:   parisc|parisc64)
                    305:     cpu="hppa"
1.1       root      306:   ;;
1.1.1.11  root      307:   mips*)
1.1       root      308:     cpu="mips"
                    309:   ;;
1.1.1.11  root      310:   s390)
1.1       root      311:     cpu="s390"
                    312:   ;;
1.1.1.11  root      313:   s390x)
                    314:     cpu="s390x"
                    315:   ;;
1.1.1.6   root      316:   sparc|sun4[cdmuv])
1.1       root      317:     cpu="sparc"
                    318:   ;;
                    319:   *)
1.1.1.13  root      320:     echo "Unsupported CPU = $cpu"
                    321:     exit 1
1.1       root      322:   ;;
                    323: esac
1.1.1.11  root      324: 
1.1       root      325: # OS specific
1.1.1.7   root      326: if check_define __linux__ ; then
                    327:   targetos="Linux"
                    328: elif check_define _WIN32 ; then
                    329:   targetos='MINGW32'
1.1.1.9   root      330: elif check_define __OpenBSD__ ; then
                    331:   targetos='OpenBSD'
                    332: elif check_define __sun__ ; then
                    333:   targetos='SunOS'
1.1.1.14  root      334: elif check_define __HAIKU__ ; then
                    335:   targetos='Haiku'
1.1.1.7   root      336: else
                    337:   targetos=`uname -s`
                    338: fi
1.1.1.11  root      339: 
1.1       root      340: case $targetos in
                    341: CYGWIN*)
1.1.1.11  root      342:   mingw32="yes"
                    343:   QEMU_CFLAGS="-mno-cygwin $QEMU_CFLAGS"
                    344:   audio_possible_drivers="winwave sdl"
                    345:   audio_drv_list="winwave"
1.1       root      346: ;;
                    347: MINGW32*)
1.1.1.11  root      348:   mingw32="yes"
                    349:   audio_possible_drivers="winwave dsound sdl fmod"
                    350:   audio_drv_list="winwave"
1.1.1.6   root      351: ;;
                    352: GNU/kFreeBSD)
1.1.1.11  root      353:   bsd="yes"
                    354:   audio_drv_list="oss"
                    355:   audio_possible_drivers="oss sdl esd pa"
1.1       root      356: ;;
                    357: FreeBSD)
1.1.1.11  root      358:   bsd="yes"
1.1.1.14  root      359:   make="${MAKE-gmake}"
1.1.1.11  root      360:   audio_drv_list="oss"
                    361:   audio_possible_drivers="oss sdl esd pa"
1.1.1.13  root      362:   # needed for kinfo_getvmmap(3) in libutil.h
                    363:   LIBS="-lutil $LIBS"
1.1       root      364: ;;
1.1.1.9   root      365: DragonFly)
1.1.1.11  root      366:   bsd="yes"
1.1.1.14  root      367:   make="${MAKE-gmake}"
1.1.1.11  root      368:   audio_drv_list="oss"
                    369:   audio_possible_drivers="oss sdl esd pa"
1.1.1.9   root      370: ;;
1.1       root      371: NetBSD)
1.1.1.11  root      372:   bsd="yes"
1.1.1.14  root      373:   make="${MAKE-gmake}"
1.1.1.11  root      374:   audio_drv_list="oss"
                    375:   audio_possible_drivers="oss sdl esd"
                    376:   oss_lib="-lossaudio"
1.1       root      377: ;;
                    378: OpenBSD)
1.1.1.11  root      379:   bsd="yes"
1.1.1.14  root      380:   make="${MAKE-gmake}"
1.1.1.11  root      381:   audio_drv_list="oss"
                    382:   audio_possible_drivers="oss sdl esd"
                    383:   oss_lib="-lossaudio"
1.1       root      384: ;;
                    385: Darwin)
1.1.1.11  root      386:   bsd="yes"
                    387:   darwin="yes"
                    388:   # on Leopard most of the system is 32-bit, so we have to ask the kernel it if we can
                    389:   # run 64-bit userspace code
                    390:   if [ "$cpu" = "i386" ] ; then
1.1.1.7   root      391:     is_x86_64=`sysctl -n hw.optional.x86_64`
                    392:     [ "$is_x86_64" = "1" ] && cpu=x86_64
1.1.1.11  root      393:   fi
                    394:   if [ "$cpu" = "x86_64" ] ; then
                    395:     QEMU_CFLAGS="-arch x86_64 $QEMU_CFLAGS"
                    396:     LDFLAGS="-arch x86_64 $LDFLAGS"
                    397:   else
                    398:     QEMU_CFLAGS="-mdynamic-no-pic $QEMU_CFLAGS"
                    399:   fi
                    400:   darwin_user="yes"
                    401:   cocoa="yes"
                    402:   audio_drv_list="coreaudio"
                    403:   audio_possible_drivers="coreaudio sdl fmod"
                    404:   LDFLAGS="-framework CoreFoundation -framework IOKit $LDFLAGS"
                    405:   libs_softmmu="-F/System/Library/Frameworks -framework Cocoa -framework IOKit $libs_softmmu"
1.1       root      406: ;;
1.1.1.3   root      407: SunOS)
1.1.1.11  root      408:   solaris="yes"
1.1.1.14  root      409:   make="${MAKE-gmake}"
                    410:   install="${INSTALL-ginstall}"
1.1.1.11  root      411:   ld="gld"
1.1.1.16! root      412:   smbd="${SMBD-/usr/sfw/sbin/smbd}"
1.1.1.11  root      413:   needs_libsunmath="no"
                    414:   solarisrev=`uname -r | cut -f2 -d.`
                    415:   # have to select again, because `uname -m` returns i86pc
                    416:   # even on an x86_64 box.
                    417:   solariscpu=`isainfo -k`
                    418:   if test "${solariscpu}" = "amd64" ; then
                    419:     cpu="x86_64"
                    420:   fi
                    421:   if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
                    422:     if test "$solarisrev" -le 9 ; then
                    423:       if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
                    424:         needs_libsunmath="yes"
                    425:         QEMU_CFLAGS="-I/opt/SUNWspro/prod/include/cc $QEMU_CFLAGS"
                    426:         LDFLAGS="-L/opt/SUNWspro/prod/lib -R/opt/SUNWspro/prod/lib $LDFLAGS"
                    427:         LIBS="-lsunmath $LIBS"
                    428:       else
                    429:         echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
                    430:         echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
                    431:         echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
                    432:         echo "Studio 11 can be downloaded from www.sun.com."
                    433:         exit 1
                    434:       fi
1.1.1.6   root      435:     fi
1.1.1.11  root      436:   fi
                    437:   if test -f /usr/include/sys/soundcard.h ; then
                    438:     audio_drv_list="oss"
                    439:   fi
                    440:   audio_possible_drivers="oss sdl"
                    441: # needed for CMSG_ macros in sys/socket.h
                    442:   QEMU_CFLAGS="-D_XOPEN_SOURCE=600 $QEMU_CFLAGS"
                    443: # needed for TIOCWIN* defines in termios.h
                    444:   QEMU_CFLAGS="-D__EXTENSIONS__ $QEMU_CFLAGS"
                    445:   QEMU_CFLAGS="-std=gnu99 $QEMU_CFLAGS"
                    446:   LIBS="-lsocket -lnsl -lresolv $LIBS"
1.1.1.7   root      447: ;;
                    448: AIX)
1.1.1.11  root      449:   aix="yes"
1.1.1.14  root      450:   make="${MAKE-gmake}"
                    451: ;;
                    452: Haiku)
                    453:   haiku="yes"
                    454:   QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS $QEMU_CFLAGS"
                    455:   LIBS="-lposix_error_mapper -lnetwork $LIBS"
1.1.1.3   root      456: ;;
1.1.1.2   root      457: *)
1.1.1.11  root      458:   audio_drv_list="oss"
                    459:   audio_possible_drivers="oss alsa sdl esd pa"
                    460:   linux="yes"
                    461:   linux_user="yes"
                    462:   usb="linux"
1.1.1.16! root      463:   kvm="yes"
        !           464:   vhost_net="yes"
1.1.1.11  root      465:   if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
1.1.1.7   root      466:     audio_possible_drivers="$audio_possible_drivers fmod"
1.1.1.11  root      467:   fi
1.1       root      468: ;;
                    469: esac
                    470: 
                    471: if [ "$bsd" = "yes" ] ; then
1.1.1.3   root      472:   if [ "$darwin" != "yes" ] ; then
1.1.1.7   root      473:     usb="bsd"
1.1       root      474:   fi
1.1.1.7   root      475:   bsd_user="yes"
1.1       root      476: fi
                    477: 
1.1.1.14  root      478: : ${make=${MAKE-make}}
                    479: : ${install=${INSTALL-install}}
1.1.1.16! root      480: : ${python=${PYTHON-python}}
        !           481: : ${smbd=${SMBD-/usr/sbin/smbd}}
1.1.1.14  root      482: 
1.1.1.11  root      483: if test "$mingw32" = "yes" ; then
                    484:   EXESUF=".exe"
                    485:   QEMU_CFLAGS="-DWIN32_LEAN_AND_MEAN -DWINVER=0x501 $QEMU_CFLAGS"
1.1.1.13  root      486:   # enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later)
                    487:   QEMU_CFLAGS="-D__USE_MINGW_ANSI_STDIO=1 $QEMU_CFLAGS"
1.1.1.16! root      488:   LIBS="-lwinmm -lws2_32 -liberty -liphlpapi $LIBS"
1.1.1.13  root      489:   prefix="c:/Program Files/Qemu"
                    490:   mandir="\${prefix}"
                    491:   datadir="\${prefix}"
                    492:   docdir="\${prefix}"
                    493:   bindir="\${prefix}"
                    494:   sysconfdir="\${prefix}"
                    495:   confsuffix=""
1.1.1.11  root      496: fi
                    497: 
1.1.1.9   root      498: werror=""
1.1.1.6   root      499: 
1.1       root      500: for opt do
1.1.1.3   root      501:   optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
1.1       root      502:   case "$opt" in
1.1.1.2   root      503:   --help|-h) show_help=yes
                    504:   ;;
1.1.1.16! root      505:   --version|-V) exec cat $source_path/VERSION
        !           506:   ;;
1.1.1.3   root      507:   --prefix=*) prefix="$optarg"
1.1       root      508:   ;;
1.1.1.3   root      509:   --interp-prefix=*) interp_prefix="$optarg"
1.1       root      510:   ;;
1.1.1.14  root      511:   --source-path=*)
1.1       root      512:   ;;
1.1.1.7   root      513:   --cross-prefix=*)
1.1       root      514:   ;;
1.1.1.7   root      515:   --cc=*)
1.1       root      516:   ;;
1.1.1.3   root      517:   --host-cc=*) host_cc="$optarg"
1.1       root      518:   ;;
1.1.1.3   root      519:   --make=*) make="$optarg"
1.1       root      520:   ;;
1.1.1.3   root      521:   --install=*) install="$optarg"
1.1       root      522:   ;;
1.1.1.16! root      523:   --python=*) python="$optarg"
        !           524:   ;;
        !           525:   --smbd=*) smbd="$optarg"
        !           526:   ;;
1.1.1.11  root      527:   --extra-cflags=*)
1.1       root      528:   ;;
1.1.1.11  root      529:   --extra-ldflags=*)
1.1       root      530:   ;;
1.1.1.11  root      531:   --cpu=*)
1.1.1.3   root      532:   ;;
                    533:   --target-list=*) target_list="$optarg"
1.1       root      534:   ;;
1.1.1.14  root      535:   --enable-trace-backend=*) trace_backend="$optarg"
                    536:   ;;
                    537:   --with-trace-file=*) trace_file="$optarg"
                    538:   ;;
1.1       root      539:   --enable-gprof) gprof="yes"
                    540:   ;;
1.1.1.13  root      541:   --static)
                    542:     static="yes"
                    543:     LDFLAGS="-static $LDFLAGS"
                    544:   ;;
                    545:   --mandir=*) mandir="$optarg"
                    546:   ;;
                    547:   --bindir=*) bindir="$optarg"
                    548:   ;;
1.1.1.16! root      549:   --libdir=*) libdir="$optarg"
        !           550:   ;;
1.1.1.13  root      551:   --datadir=*) datadir="$optarg"
                    552:   ;;
                    553:   --docdir=*) docdir="$optarg"
                    554:   ;;
                    555:   --sysconfdir=*) sysconfdir="$optarg"
1.1       root      556:   ;;
                    557:   --disable-sdl) sdl="no"
                    558:   ;;
1.1.1.11  root      559:   --enable-sdl) sdl="yes"
                    560:   ;;
1.1.1.16! root      561:   --disable-vnc) vnc="no"
        !           562:   ;;
        !           563:   --enable-vnc) vnc="yes"
        !           564:   ;;
1.1.1.7   root      565:   --fmod-lib=*) fmod_lib="$optarg"
1.1.1.2   root      566:   ;;
1.1.1.7   root      567:   --fmod-inc=*) fmod_inc="$optarg"
1.1.1.2   root      568:   ;;
1.1.1.7   root      569:   --oss-lib=*) oss_lib="$optarg"
1.1.1.2   root      570:   ;;
1.1.1.7   root      571:   --audio-card-list=*) audio_card_list=`echo "$optarg" | sed -e 's/,/ /g'`
1.1       root      572:   ;;
1.1.1.7   root      573:   --audio-drv-list=*) audio_drv_list="$optarg"
1.1       root      574:   ;;
1.1.1.11  root      575:   --block-drv-whitelist=*) block_drv_whitelist=`echo "$optarg" | sed -e 's/,/ /g'`
                    576:   ;;
1.1.1.9   root      577:   --enable-debug-tcg) debug_tcg="yes"
                    578:   ;;
                    579:   --disable-debug-tcg) debug_tcg="no"
                    580:   ;;
1.1.1.13  root      581:   --enable-debug-mon) debug_mon="yes"
                    582:   ;;
                    583:   --disable-debug-mon) debug_mon="no"
                    584:   ;;
1.1.1.9   root      585:   --enable-debug)
                    586:       # Enable debugging options that aren't excessively noisy
                    587:       debug_tcg="yes"
1.1.1.13  root      588:       debug_mon="yes"
1.1.1.9   root      589:       debug="yes"
                    590:       strip_opt="no"
                    591:   ;;
1.1.1.7   root      592:   --enable-sparse) sparse="yes"
1.1       root      593:   ;;
1.1.1.7   root      594:   --disable-sparse) sparse="no"
1.1.1.6   root      595:   ;;
1.1.1.9   root      596:   --disable-strip) strip_opt="no"
                    597:   ;;
1.1.1.7   root      598:   --disable-vnc-tls) vnc_tls="no"
1.1.1.2   root      599:   ;;
1.1.1.11  root      600:   --enable-vnc-tls) vnc_tls="yes"
                    601:   ;;
1.1.1.9   root      602:   --disable-vnc-sasl) vnc_sasl="no"
                    603:   ;;
1.1.1.11  root      604:   --enable-vnc-sasl) vnc_sasl="yes"
                    605:   ;;
1.1.1.13  root      606:   --disable-vnc-jpeg) vnc_jpeg="no"
                    607:   ;;
                    608:   --enable-vnc-jpeg) vnc_jpeg="yes"
                    609:   ;;
                    610:   --disable-vnc-png) vnc_png="no"
                    611:   ;;
                    612:   --enable-vnc-png) vnc_png="yes"
                    613:   ;;
                    614:   --disable-vnc-thread) vnc_thread="no"
                    615:   ;;
                    616:   --enable-vnc-thread) vnc_thread="yes"
                    617:   ;;
1.1       root      618:   --disable-slirp) slirp="no"
1.1.1.2   root      619:   ;;
1.1.1.11  root      620:   --disable-uuid) uuid="no"
                    621:   ;;
                    622:   --enable-uuid) uuid="yes"
                    623:   ;;
1.1.1.7   root      624:   --disable-vde) vde="no"
1.1.1.2   root      625:   ;;
1.1.1.11  root      626:   --enable-vde) vde="yes"
1.1.1.2   root      627:   ;;
1.1.1.9   root      628:   --disable-xen) xen="no"
                    629:   ;;
1.1.1.11  root      630:   --enable-xen) xen="yes"
                    631:   ;;
1.1.1.7   root      632:   --disable-brlapi) brlapi="no"
                    633:   ;;
1.1.1.11  root      634:   --enable-brlapi) brlapi="yes"
                    635:   ;;
1.1.1.7   root      636:   --disable-bluez) bluez="no"
                    637:   ;;
1.1.1.11  root      638:   --enable-bluez) bluez="yes"
                    639:   ;;
1.1.1.7   root      640:   --disable-kvm) kvm="no"
                    641:   ;;
1.1.1.11  root      642:   --enable-kvm) kvm="yes"
                    643:   ;;
1.1.1.14  root      644:   --disable-spice) spice="no"
                    645:   ;;
                    646:   --enable-spice) spice="yes"
                    647:   ;;
1.1.1.3   root      648:   --enable-profiler) profiler="yes"
                    649:   ;;
1.1.1.7   root      650:   --enable-cocoa)
                    651:       cocoa="yes" ;
                    652:       sdl="no" ;
                    653:       audio_drv_list="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
1.1.1.2   root      654:   ;;
1.1.1.3   root      655:   --disable-system) softmmu="no"
                    656:   ;;
                    657:   --enable-system) softmmu="yes"
                    658:   ;;
1.1.1.11  root      659:   --disable-user)
                    660:       linux_user="no" ;
                    661:       bsd_user="no" ;
                    662:       darwin_user="no"
                    663:   ;;
                    664:   --enable-user) ;;
1.1.1.5   root      665:   --disable-linux-user) linux_user="no"
1.1.1.3   root      666:   ;;
1.1.1.5   root      667:   --enable-linux-user) linux_user="yes"
1.1.1.3   root      668:   ;;
1.1.1.5   root      669:   --disable-darwin-user) darwin_user="no"
                    670:   ;;
                    671:   --enable-darwin-user) darwin_user="yes"
1.1.1.4   root      672:   ;;
1.1.1.7   root      673:   --disable-bsd-user) bsd_user="no"
                    674:   ;;
                    675:   --enable-bsd-user) bsd_user="yes"
                    676:   ;;
1.1.1.11  root      677:   --enable-guest-base) guest_base="yes"
                    678:   ;;
                    679:   --disable-guest-base) guest_base="no"
                    680:   ;;
                    681:   --enable-user-pie) user_pie="yes"
                    682:   ;;
                    683:   --disable-user-pie) user_pie="no"
                    684:   ;;
1.1.1.5   root      685:   --enable-uname-release=*) uname_release="$optarg"
1.1.1.4   root      686:   ;;
1.1.1.6   root      687:   --sparc_cpu=*)
                    688:   ;;
                    689:   --enable-werror) werror="yes"
                    690:   ;;
                    691:   --disable-werror) werror="no"
                    692:   ;;
1.1.1.7   root      693:   --disable-curses) curses="no"
                    694:   ;;
1.1.1.11  root      695:   --enable-curses) curses="yes"
                    696:   ;;
1.1.1.9   root      697:   --disable-curl) curl="no"
                    698:   ;;
1.1.1.11  root      699:   --enable-curl) curl="yes"
                    700:   ;;
                    701:   --disable-fdt) fdt="no"
                    702:   ;;
                    703:   --enable-fdt) fdt="yes"
                    704:   ;;
                    705:   --disable-check-utests) check_utests="no"
                    706:   ;;
                    707:   --enable-check-utests) check_utests="yes"
                    708:   ;;
1.1.1.7   root      709:   --disable-nptl) nptl="no"
                    710:   ;;
1.1.1.11  root      711:   --enable-nptl) nptl="yes"
                    712:   ;;
1.1.1.7   root      713:   --enable-mixemu) mixemu="yes"
                    714:   ;;
1.1.1.11  root      715:   --disable-linux-aio) linux_aio="no"
1.1.1.9   root      716:   ;;
1.1.1.11  root      717:   --enable-linux-aio) linux_aio="yes"
1.1.1.7   root      718:   ;;
1.1.1.13  root      719:   --disable-attr) attr="no"
                    720:   ;;
                    721:   --enable-attr) attr="yes"
                    722:   ;;
1.1.1.9   root      723:   --enable-io-thread) io_thread="yes"
                    724:   ;;
1.1.1.7   root      725:   --disable-blobs) blobs="no"
                    726:   ;;
1.1.1.9   root      727:   --with-pkgversion=*) pkgversion=" ($optarg)"
                    728:   ;;
1.1.1.11  root      729:   --disable-docs) docs="no"
                    730:   ;;
                    731:   --enable-docs) docs="yes"
1.1.1.9   root      732:   ;;
1.1.1.13  root      733:   --disable-vhost-net) vhost_net="no"
                    734:   ;;
                    735:   --enable-vhost-net) vhost_net="yes"
                    736:   ;;
1.1.1.16! root      737:   --disable-opengl) opengl="no"
        !           738:   ;;
        !           739:   --enable-opengl) opengl="yes"
        !           740:   ;;
1.1.1.13  root      741:   --*dir)
                    742:   ;;
1.1.1.14  root      743:   --disable-rbd) rbd="no"
                    744:   ;;
                    745:   --enable-rbd) rbd="yes"
                    746:   ;;
1.1.1.16! root      747:   --disable-smartcard) smartcard="no"
        !           748:   ;;
        !           749:   --enable-smartcard) smartcard="yes"
        !           750:   ;;
        !           751:   --disable-smartcard-nss) smartcard_nss="no"
        !           752:   ;;
        !           753:   --enable-smartcard-nss) smartcard_nss="yes"
        !           754:   ;;
        !           755:   --disable-usb-redir) usb_redir="no"
        !           756:   ;;
        !           757:   --enable-usb-redir) usb_redir="yes"
        !           758:   ;;
        !           759:   --enable-guest-agent) guest_agent="yes"
        !           760:   ;;
        !           761:   --disable-guest-agent) guest_agent="no"
        !           762:   ;;
1.1.1.6   root      763:   *) echo "ERROR: unknown option $opt"; show_help="yes"
                    764:   ;;
1.1       root      765:   esac
                    766: done
                    767: 
1.1.1.6   root      768: #
                    769: # If cpu ~= sparc and  sparc_cpu hasn't been defined, plug in the right
1.1.1.11  root      770: # QEMU_CFLAGS/LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
1.1.1.6   root      771: #
1.1.1.11  root      772: host_guest_base="no"
1.1.1.7   root      773: case "$cpu" in
1.1.1.11  root      774:     sparc) case $sparc_cpu in
                    775:            v7|v8)
                    776:              QEMU_CFLAGS="-mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__ $QEMU_CFLAGS"
                    777:            ;;
                    778:            v8plus|v8plusa)
                    779:              QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_${sparc_cpu}__ $QEMU_CFLAGS"
                    780:            ;;
                    781:            *) # sparc_cpu not defined in the command line
                    782:              QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_v8plus__ $QEMU_CFLAGS"
                    783:            esac
                    784:            LDFLAGS="-m32 $LDFLAGS"
                    785:            QEMU_CFLAGS="-m32 -ffixed-g2 -ffixed-g3 $QEMU_CFLAGS"
1.1.1.9   root      786:            if test "$solaris" = "no" ; then
1.1.1.11  root      787:              QEMU_CFLAGS="-ffixed-g1 -ffixed-g6 $QEMU_CFLAGS"
                    788:              helper_cflags="-ffixed-i0"
1.1.1.9   root      789:            fi
1.1.1.6   root      790:            ;;
1.1.1.11  root      791:     sparc64)
                    792:            QEMU_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__ $QEMU_CFLAGS"
                    793:            LDFLAGS="-m64 $LDFLAGS"
                    794:            QEMU_CFLAGS="-ffixed-g5 -ffixed-g6 -ffixed-g7 $QEMU_CFLAGS"
                    795:            if test "$solaris" != "no" ; then
                    796:              QEMU_CFLAGS="-ffixed-g1 $QEMU_CFLAGS"
1.1.1.9   root      797:            fi
1.1.1.6   root      798:            ;;
                    799:     s390)
1.1.1.13  root      800:            QEMU_CFLAGS="-m31 -march=z990 $QEMU_CFLAGS"
                    801:            LDFLAGS="-m31 $LDFLAGS"
                    802:            host_guest_base="yes"
                    803:            ;;
                    804:     s390x)
                    805:            QEMU_CFLAGS="-m64 -march=z990 $QEMU_CFLAGS"
                    806:            LDFLAGS="-m64 $LDFLAGS"
                    807:            host_guest_base="yes"
1.1.1.6   root      808:            ;;
1.1.1.7   root      809:     i386)
1.1.1.11  root      810:            QEMU_CFLAGS="-m32 $QEMU_CFLAGS"
                    811:            LDFLAGS="-m32 $LDFLAGS"
1.1.1.14  root      812:            cc_i386='$(CC) -m32'
1.1.1.11  root      813:            helper_cflags="-fomit-frame-pointer"
                    814:            host_guest_base="yes"
1.1.1.7   root      815:            ;;
                    816:     x86_64)
1.1.1.11  root      817:            QEMU_CFLAGS="-m64 $QEMU_CFLAGS"
                    818:            LDFLAGS="-m64 $LDFLAGS"
1.1.1.14  root      819:            cc_i386='$(CC) -m32'
1.1.1.11  root      820:            host_guest_base="yes"
                    821:            ;;
                    822:     arm*)
                    823:            host_guest_base="yes"
                    824:            ;;
                    825:     ppc*)
                    826:            host_guest_base="yes"
1.1.1.7   root      827:            ;;
1.1.1.13  root      828:     mips*)
                    829:            host_guest_base="yes"
                    830:            ;;
                    831:     ia64*)
                    832:            host_guest_base="yes"
                    833:            ;;
                    834:     hppa*)
                    835:            host_guest_base="yes"
                    836:            ;;
1.1.1.16! root      837:     unicore32*)
        !           838:            host_guest_base="yes"
        !           839:            ;;
1.1.1.6   root      840: esac
                    841: 
1.1.1.11  root      842: [ -z "$guest_base" ] && guest_base="$host_guest_base"
                    843: 
1.1.1.16! root      844: 
        !           845: default_target_list=""
        !           846: 
        !           847: # these targets are portable
        !           848: if [ "$softmmu" = "yes" ] ; then
        !           849:     default_target_list="\
        !           850: i386-softmmu \
        !           851: x86_64-softmmu \
        !           852: arm-softmmu \
        !           853: cris-softmmu \
        !           854: lm32-softmmu \
        !           855: m68k-softmmu \
        !           856: microblaze-softmmu \
        !           857: microblazeel-softmmu \
        !           858: mips-softmmu \
        !           859: mipsel-softmmu \
        !           860: mips64-softmmu \
        !           861: mips64el-softmmu \
        !           862: ppc-softmmu \
        !           863: ppcemb-softmmu \
        !           864: ppc64-softmmu \
        !           865: sh4-softmmu \
        !           866: sh4eb-softmmu \
        !           867: sparc-softmmu \
        !           868: sparc64-softmmu \
        !           869: s390x-softmmu \
        !           870: "
        !           871: fi
        !           872: # the following are Linux specific
        !           873: if [ "$linux_user" = "yes" ] ; then
        !           874:     default_target_list="${default_target_list}\
        !           875: i386-linux-user \
        !           876: x86_64-linux-user \
        !           877: alpha-linux-user \
        !           878: arm-linux-user \
        !           879: armeb-linux-user \
        !           880: cris-linux-user \
        !           881: m68k-linux-user \
        !           882: microblaze-linux-user \
        !           883: microblazeel-linux-user \
        !           884: mips-linux-user \
        !           885: mipsel-linux-user \
        !           886: ppc-linux-user \
        !           887: ppc64-linux-user \
        !           888: ppc64abi32-linux-user \
        !           889: sh4-linux-user \
        !           890: sh4eb-linux-user \
        !           891: sparc-linux-user \
        !           892: sparc64-linux-user \
        !           893: sparc32plus-linux-user \
        !           894: unicore32-linux-user \
        !           895: s390x-linux-user \
        !           896: "
        !           897: fi
        !           898: # the following are Darwin specific
        !           899: if [ "$darwin_user" = "yes" ] ; then
        !           900:     default_target_list="$default_target_list i386-darwin-user ppc-darwin-user "
        !           901: fi
        !           902: # the following are BSD specific
        !           903: if [ "$bsd_user" = "yes" ] ; then
        !           904:     default_target_list="${default_target_list}\
        !           905: i386-bsd-user \
        !           906: x86_64-bsd-user \
        !           907: sparc-bsd-user \
        !           908: sparc64-bsd-user \
        !           909: "
        !           910: fi
        !           911: 
1.1.1.3   root      912: if test x"$show_help" = x"yes" ; then
                    913: cat << EOF
                    914: 
                    915: Usage: configure [options]
                    916: Options: [defaults in brackets after descriptions]
                    917: 
                    918: EOF
                    919: echo "Standard options:"
                    920: echo "  --help                   print this message"
                    921: echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
                    922: echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
                    923: echo "                           use %M for cpu name [$interp_prefix]"
1.1.1.16! root      924: echo "  --target-list=LIST       set target list (default: build everything)"
        !           925: echo "Available targets: $default_target_list" | \
        !           926:     fold -s -w 53 | sed -e 's/^/                           /'
1.1.1.3   root      927: echo ""
                    928: echo "Advanced options (experts only):"
                    929: echo "  --source-path=PATH       path of source code [$source_path]"
                    930: echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
                    931: echo "  --cc=CC                  use C compiler CC [$cc]"
1.1.1.13  root      932: echo "  --host-cc=CC             use C compiler CC [$host_cc] for code run at"
                    933: echo "                           build time"
1.1.1.11  root      934: echo "  --extra-cflags=CFLAGS    append extra C compiler flags QEMU_CFLAGS"
1.1.1.9   root      935: echo "  --extra-ldflags=LDFLAGS  append extra linker flags LDFLAGS"
1.1.1.3   root      936: echo "  --make=MAKE              use specified make [$make]"
                    937: echo "  --install=INSTALL        use specified install [$install]"
1.1.1.16! root      938: echo "  --python=PYTHON          use specified python [$python]"
        !           939: echo "  --smbd=SMBD              use specified smbd [$smbd]"
1.1.1.3   root      940: echo "  --static                 enable static build [$static]"
1.1.1.13  root      941: echo "  --mandir=PATH            install man pages in PATH"
                    942: echo "  --datadir=PATH           install firmware in PATH"
                    943: echo "  --docdir=PATH            install documentation in PATH"
                    944: echo "  --bindir=PATH            install binaries in PATH"
                    945: echo "  --sysconfdir=PATH        install config in PATH/qemu"
1.1.1.9   root      946: echo "  --enable-debug-tcg       enable TCG debugging"
                    947: echo "  --disable-debug-tcg      disable TCG debugging (default)"
                    948: echo "  --enable-debug           enable common debug build options"
1.1.1.7   root      949: echo "  --enable-sparse          enable sparse checker"
                    950: echo "  --disable-sparse         disable sparse checker (default)"
1.1.1.9   root      951: echo "  --disable-strip          disable stripping binaries"
1.1.1.6   root      952: echo "  --disable-werror         disable compilation abort on warning"
                    953: echo "  --disable-sdl            disable SDL"
1.1.1.11  root      954: echo "  --enable-sdl             enable SDL"
1.1.1.16! root      955: echo "  --disable-vnc            disable VNC"
        !           956: echo "  --enable-vnc             enable VNC"
1.1.1.3   root      957: echo "  --enable-cocoa           enable COCOA (Mac OS X only)"
1.1.1.7   root      958: echo "  --audio-drv-list=LIST    set audio drivers list:"
                    959: echo "                           Available drivers: $audio_possible_drivers"
                    960: echo "  --audio-card-list=LIST   set list of emulated audio cards [$audio_card_list]"
                    961: echo "                           Available cards: $audio_possible_cards"
1.1.1.11  root      962: echo "  --block-drv-whitelist=L  set block driver whitelist"
                    963: echo "                           (affects only QEMU, not qemu-img)"
1.1.1.7   root      964: echo "  --enable-mixemu          enable mixer emulation"
1.1.1.9   root      965: echo "  --disable-xen            disable xen backend driver support"
1.1.1.11  root      966: echo "  --enable-xen             enable xen backend driver support"
1.1.1.7   root      967: echo "  --disable-brlapi         disable BrlAPI"
1.1.1.11  root      968: echo "  --enable-brlapi          enable BrlAPI"
1.1.1.6   root      969: echo "  --disable-vnc-tls        disable TLS encryption for VNC server"
1.1.1.11  root      970: echo "  --enable-vnc-tls         enable TLS encryption for VNC server"
1.1.1.9   root      971: echo "  --disable-vnc-sasl       disable SASL encryption for VNC server"
1.1.1.11  root      972: echo "  --enable-vnc-sasl        enable SASL encryption for VNC server"
1.1.1.13  root      973: echo "  --disable-vnc-jpeg       disable JPEG lossy compression for VNC server"
                    974: echo "  --enable-vnc-jpeg        enable JPEG lossy compression for VNC server"
                    975: echo "  --disable-vnc-png        disable PNG compression for VNC server (default)"
                    976: echo "  --enable-vnc-png         enable PNG compression for VNC server"
                    977: echo "  --disable-vnc-thread     disable threaded VNC server"
                    978: echo "  --enable-vnc-thread      enable threaded VNC server"
1.1.1.7   root      979: echo "  --disable-curses         disable curses output"
1.1.1.11  root      980: echo "  --enable-curses          enable curses output"
1.1.1.9   root      981: echo "  --disable-curl           disable curl connectivity"
1.1.1.11  root      982: echo "  --enable-curl            enable curl connectivity"
                    983: echo "  --disable-fdt            disable fdt device tree"
                    984: echo "  --enable-fdt             enable fdt device tree"
                    985: echo "  --disable-check-utests   disable check unit-tests"
                    986: echo "  --enable-check-utests    enable check unit-tests"
1.1.1.7   root      987: echo "  --disable-bluez          disable bluez stack connectivity"
1.1.1.11  root      988: echo "  --enable-bluez           enable bluez stack connectivity"
1.1.1.16! root      989: echo "  --disable-slirp          disable SLIRP userspace network connectivity"
1.1.1.7   root      990: echo "  --disable-kvm            disable KVM acceleration support"
1.1.1.11  root      991: echo "  --enable-kvm             enable KVM acceleration support"
1.1.1.7   root      992: echo "  --disable-nptl           disable usermode NPTL support"
1.1.1.11  root      993: echo "  --enable-nptl            enable usermode NPTL support"
1.1.1.3   root      994: echo "  --enable-system          enable all system emulation targets"
                    995: echo "  --disable-system         disable all system emulation targets"
1.1.1.11  root      996: echo "  --enable-user            enable supported user emulation targets"
                    997: echo "  --disable-user           disable all user emulation targets"
1.1.1.5   root      998: echo "  --enable-linux-user      enable all linux usermode emulation targets"
                    999: echo "  --disable-linux-user     disable all linux usermode emulation targets"
                   1000: echo "  --enable-darwin-user     enable all darwin usermode emulation targets"
                   1001: echo "  --disable-darwin-user    disable all darwin usermode emulation targets"
1.1.1.7   root     1002: echo "  --enable-bsd-user        enable all BSD usermode emulation targets"
                   1003: echo "  --disable-bsd-user       disable all BSD usermode emulation targets"
1.1.1.11  root     1004: echo "  --enable-guest-base      enable GUEST_BASE support for usermode"
                   1005: echo "                           emulation targets"
                   1006: echo "  --disable-guest-base     disable GUEST_BASE support"
                   1007: echo "  --enable-user-pie        build usermode emulation targets as PIE"
                   1008: echo "  --disable-user-pie       do not build usermode emulation targets as PIE"
1.1.1.3   root     1009: echo "  --fmod-lib               path to FMOD library"
                   1010: echo "  --fmod-inc               path to FMOD includes"
1.1.1.7   root     1011: echo "  --oss-lib                path to OSS library"
1.1.1.4   root     1012: echo "  --enable-uname-release=R Return R for uname -r in usermode emulation"
1.1.1.6   root     1013: echo "  --sparc_cpu=V            Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
1.1.1.11  root     1014: echo "  --disable-uuid           disable uuid support"
                   1015: echo "  --enable-uuid            enable uuid support"
1.1.1.7   root     1016: echo "  --disable-vde            disable support for vde network"
1.1.1.11  root     1017: echo "  --enable-vde             enable support for vde network"
                   1018: echo "  --disable-linux-aio      disable Linux AIO support"
                   1019: echo "  --enable-linux-aio       enable Linux AIO support"
1.1.1.13  root     1020: echo "  --disable-attr           disables attr and xattr support"
                   1021: echo "  --enable-attr            enable attr and xattr support"
1.1.1.9   root     1022: echo "  --enable-io-thread       enable IO thread"
1.1.1.7   root     1023: echo "  --disable-blobs          disable installing provided firmware blobs"
1.1.1.13  root     1024: echo "  --enable-docs            enable documentation build"
                   1025: echo "  --disable-docs           disable documentation build"
                   1026: echo "  --disable-vhost-net      disable vhost-net acceleration support"
                   1027: echo "  --enable-vhost-net       enable vhost-net acceleration support"
1.1.1.14  root     1028: echo "  --enable-trace-backend=B Set trace backend"
                   1029: echo "                           Available backends:" $("$source_path"/scripts/tracetool --list-backends)
                   1030: echo "  --with-trace-file=NAME   Full PATH,NAME of file to store traces"
                   1031: echo "                           Default:trace-<pid>"
                   1032: echo "  --disable-spice          disable spice"
                   1033: echo "  --enable-spice           enable spice"
                   1034: echo "  --enable-rbd             enable building the rados block device (rbd)"
1.1.1.16! root     1035: echo "  --disable-smartcard      disable smartcard support"
        !          1036: echo "  --enable-smartcard       enable smartcard support"
        !          1037: echo "  --disable-smartcard-nss  disable smartcard nss support"
        !          1038: echo "  --enable-smartcard-nss   enable smartcard nss support"
        !          1039: echo "  --disable-usb-redir      disable usb network redirection support"
        !          1040: echo "  --enable-usb-redir       enable usb network redirection support"
        !          1041: echo "  --disable-guest-agent    disable building of the QEMU Guest Agent"
        !          1042: echo "  --enable-guest-agent     enable building of the QEMU Guest Agent"
1.1.1.3   root     1043: echo ""
1.1.1.5   root     1044: echo "NOTE: The object files are built at the place where configure is launched"
1.1.1.3   root     1045: exit 1
                   1046: fi
                   1047: 
1.1.1.14  root     1048: # check that the C compiler works.
                   1049: cat > $TMPC <<EOF
                   1050: int main(void) {}
                   1051: EOF
                   1052: 
                   1053: if compile_object ; then
                   1054:   : C compiler works ok
                   1055: else
                   1056:     echo "ERROR: \"$cc\" either does not exist or does not work"
                   1057:     exit 1
                   1058: fi
                   1059: 
                   1060: gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"
                   1061: gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags"
                   1062: gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
1.1.1.16! root     1063: gcc_flags="-fstack-protector-all -Wendif-labels $gcc_flags"
1.1.1.14  root     1064: cat > $TMPC << EOF
                   1065: int main(void) { return 0; }
                   1066: EOF
                   1067: for flag in $gcc_flags; do
                   1068:     if compile_prog "-Werror $QEMU_CFLAGS" "-Werror $flag" ; then
                   1069:        QEMU_CFLAGS="$QEMU_CFLAGS $flag"
                   1070:     fi
                   1071: done
                   1072: 
1.1.1.3   root     1073: #
                   1074: # Solaris specific configure tool chain decisions
                   1075: #
                   1076: if test "$solaris" = "yes" ; then
1.1.1.13  root     1077:   if has $install; then
                   1078:     :
                   1079:   else
1.1.1.3   root     1080:     echo "Solaris install program not found. Use --install=/usr/ucb/install or"
                   1081:     echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
                   1082:     echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
                   1083:     exit 1
                   1084:   fi
1.1.1.13  root     1085:   if test "`path_of $install`" = "/usr/sbin/install" ; then
1.1.1.3   root     1086:     echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
                   1087:     echo "try ginstall from the GNU fileutils available from www.blastwave.org"
                   1088:     echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
                   1089:     exit 1
                   1090:   fi
1.1.1.13  root     1091:   if has ar; then
                   1092:     :
                   1093:   else
1.1.1.3   root     1094:     echo "Error: No path includes ar"
                   1095:     if test -f /usr/ccs/bin/ar ; then
                   1096:       echo "Add /usr/ccs/bin to your path and rerun configure"
                   1097:     fi
                   1098:     exit 1
                   1099:   fi
1.1.1.6   root     1100: fi
1.1.1.3   root     1101: 
1.1.1.16! root     1102: if test "$guest_agent" != "no" ; then
        !          1103:   if has $python; then
        !          1104:     :
        !          1105:   else
        !          1106:     echo "Python not found. Use --python=/path/to/python"
        !          1107:     exit 1
        !          1108:   fi
        !          1109: fi
1.1.1.3   root     1110: 
1.1       root     1111: if test -z "$target_list" ; then
1.1.1.16! root     1112:     target_list="$default_target_list"
1.1       root     1113: else
1.1.1.3   root     1114:     target_list=`echo "$target_list" | sed -e 's/,/ /g'`
                   1115: fi
                   1116: if test -z "$target_list" ; then
                   1117:     echo "No targets enabled"
                   1118:     exit 1
1.1       root     1119: fi
1.1.1.13  root     1120: # see if system emulation was really requested
                   1121: case " $target_list " in
                   1122:   *"-softmmu "*) softmmu=yes
                   1123:   ;;
                   1124:   *) softmmu=no
                   1125:   ;;
                   1126: esac
1.1       root     1127: 
1.1.1.11  root     1128: feature_not_found() {
                   1129:   feature=$1
                   1130: 
                   1131:   echo "ERROR"
                   1132:   echo "ERROR: User requested feature $feature"
                   1133:   echo "ERROR: configure was not able to find it"
                   1134:   echo "ERROR"
                   1135:   exit 1;
                   1136: }
                   1137: 
1.1       root     1138: if test -z "$cross_prefix" ; then
                   1139: 
                   1140: # ---
                   1141: # big/little endian test
                   1142: cat > $TMPC << EOF
                   1143: #include <inttypes.h>
                   1144: int main(int argc, char ** argv){
1.1.1.2   root     1145:         volatile uint32_t i=0x01234567;
                   1146:         return (*((uint8_t*)(&i))) == 0x67;
1.1       root     1147: }
                   1148: EOF
                   1149: 
1.1.1.11  root     1150: if compile_prog "" "" ; then
1.1       root     1151: $TMPE && bigendian="yes"
                   1152: else
                   1153: echo big/little test failed
                   1154: fi
                   1155: 
                   1156: else
                   1157: 
                   1158: # if cross compiling, cannot launch a program, so make a static guess
1.1.1.11  root     1159: case "$cpu" in
                   1160:   armv4b|hppa|m68k|mips|mips64|ppc|ppc64|s390|s390x|sparc|sparc64)
                   1161:     bigendian=yes
                   1162:   ;;
                   1163: esac
1.1       root     1164: 
                   1165: fi
                   1166: 
1.1.1.14  root     1167: # host long bits test, actually a pointer size test
                   1168: cat > $TMPC << EOF
                   1169: int sizeof_pointer_is_8[sizeof(void *) == 8 ? 1 : -1];
                   1170: EOF
                   1171: if compile_object; then
                   1172: hostlongbits=64
                   1173: else
                   1174: hostlongbits=32
                   1175: fi
1.1       root     1176: 
1.1.1.11  root     1177: 
                   1178: ##########################################
                   1179: # NPTL probe
                   1180: 
                   1181: if test "$nptl" != "no" ; then
                   1182:   cat > $TMPC <<EOF
1.1.1.7   root     1183: #include <sched.h>
                   1184: #include <linux/futex.h>
                   1185: void foo()
                   1186: {
                   1187: #if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
                   1188: #error bork
                   1189: #endif
                   1190: }
                   1191: EOF
                   1192: 
1.1.1.11  root     1193:   if compile_object ; then
                   1194:     nptl=yes
                   1195:   else
                   1196:     if test "$nptl" = "yes" ; then
                   1197:       feature_not_found "nptl"
                   1198:     fi
                   1199:     nptl=no
                   1200:   fi
1.1.1.7   root     1201: fi
                   1202: 
                   1203: ##########################################
                   1204: # zlib check
                   1205: 
                   1206: cat > $TMPC << EOF
                   1207: #include <zlib.h>
                   1208: int main(void) { zlibVersion(); return 0; }
                   1209: EOF
1.1.1.11  root     1210: if compile_prog "" "-lz" ; then
1.1.1.7   root     1211:     :
                   1212: else
                   1213:     echo
                   1214:     echo "Error: zlib check failed"
                   1215:     echo "Make sure to have the zlib libs and headers installed."
                   1216:     echo
                   1217:     exit 1
                   1218: fi
                   1219: 
1.1       root     1220: ##########################################
1.1.1.9   root     1221: # xen probe
                   1222: 
1.1.1.11  root     1223: if test "$xen" != "no" ; then
                   1224:   xen_libs="-lxenstore -lxenctrl -lxenguest"
1.1.1.16! root     1225: 
        !          1226:   # Xen unstable
1.1.1.11  root     1227:   cat > $TMPC <<EOF
1.1.1.9   root     1228: #include <xenctrl.h>
                   1229: #include <xs.h>
1.1.1.16! root     1230: #include <stdint.h>
        !          1231: #include <xen/hvm/hvm_info_table.h>
        !          1232: #if !defined(HVM_MAX_VCPUS)
        !          1233: # error HVM_MAX_VCPUS not defined
        !          1234: #endif
        !          1235: int main(void) {
        !          1236:   xc_interface *xc;
        !          1237:   xs_daemon_open();
        !          1238:   xc = xc_interface_open(0, 0, 0);
        !          1239:   xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0);
        !          1240:   xc_gnttab_open(NULL, 0);
        !          1241:   xc_domain_add_to_physmap(0, 0, XENMAPSPACE_gmfn, 0, 0);
        !          1242:   return 0;
        !          1243: }
1.1.1.9   root     1244: EOF
1.1.1.11  root     1245:   if compile_prog "" "$xen_libs" ; then
1.1.1.16! root     1246:     xen_ctrl_version=410
1.1.1.11  root     1247:     xen=yes
1.1.1.16! root     1248: 
        !          1249:   # Xen 4.0.0
        !          1250:   elif (
        !          1251:       cat > $TMPC <<EOF
        !          1252: #include <xenctrl.h>
        !          1253: #include <xs.h>
        !          1254: #include <stdint.h>
        !          1255: #include <xen/hvm/hvm_info_table.h>
        !          1256: #if !defined(HVM_MAX_VCPUS)
        !          1257: # error HVM_MAX_VCPUS not defined
        !          1258: #endif
        !          1259: int main(void) {
        !          1260:   struct xen_add_to_physmap xatp = {
        !          1261:     .domid = 0, .space = XENMAPSPACE_gmfn, .idx = 0, .gpfn = 0,
        !          1262:   };
        !          1263:   xs_daemon_open();
        !          1264:   xc_interface_open();
        !          1265:   xc_gnttab_open();
        !          1266:   xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0);
        !          1267:   xc_memory_op(0, XENMEM_add_to_physmap, &xatp);
        !          1268:   return 0;
        !          1269: }
        !          1270: EOF
        !          1271:       compile_prog "" "$xen_libs"
        !          1272:     ) ; then
        !          1273:     xen_ctrl_version=400
        !          1274:     xen=yes
        !          1275: 
        !          1276:   # Xen 3.4.0
        !          1277:   elif (
        !          1278:       cat > $TMPC <<EOF
        !          1279: #include <xenctrl.h>
        !          1280: #include <xs.h>
        !          1281: int main(void) {
        !          1282:   struct xen_add_to_physmap xatp = {
        !          1283:     .domid = 0, .space = XENMAPSPACE_gmfn, .idx = 0, .gpfn = 0,
        !          1284:   };
        !          1285:   xs_daemon_open();
        !          1286:   xc_interface_open();
        !          1287:   xc_gnttab_open();
        !          1288:   xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0);
        !          1289:   xc_memory_op(0, XENMEM_add_to_physmap, &xatp);
        !          1290:   return 0;
        !          1291: }
        !          1292: EOF
        !          1293:       compile_prog "" "$xen_libs"
        !          1294:     ) ; then
        !          1295:     xen_ctrl_version=340
        !          1296:     xen=yes
        !          1297: 
        !          1298:   # Xen 3.3.0
        !          1299:   elif (
        !          1300:       cat > $TMPC <<EOF
        !          1301: #include <xenctrl.h>
        !          1302: #include <xs.h>
        !          1303: int main(void) {
        !          1304:   xs_daemon_open();
        !          1305:   xc_interface_open();
        !          1306:   xc_gnttab_open();
        !          1307:   xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0);
        !          1308:   return 0;
        !          1309: }
        !          1310: EOF
        !          1311:       compile_prog "" "$xen_libs"
        !          1312:     ) ; then
        !          1313:     xen_ctrl_version=330
        !          1314:     xen=yes
        !          1315: 
        !          1316:   # Xen not found or unsupported
1.1.1.11  root     1317:   else
                   1318:     if test "$xen" = "yes" ; then
                   1319:       feature_not_found "xen"
                   1320:     fi
                   1321:     xen=no
                   1322:   fi
1.1.1.16! root     1323: 
        !          1324:   if test "$xen" = yes; then
        !          1325:     libs_softmmu="$xen_libs $libs_softmmu"
        !          1326:   fi
1.1.1.11  root     1327: fi
                   1328: 
                   1329: ##########################################
1.1.1.14  root     1330: # pkg-config probe
1.1.1.13  root     1331: 
1.1.1.14  root     1332: if ! has $pkg_config; then
                   1333:   echo warning: proceeding without "$pkg_config" >&2
                   1334:   pkg_config=/bin/false
1.1.1.13  root     1335: fi
                   1336: 
                   1337: ##########################################
1.1.1.16! root     1338: # libtool probe
        !          1339: 
        !          1340: if ! has libtool; then
        !          1341:     libtool=
        !          1342: else
        !          1343:     libtool=libtool
        !          1344: fi
        !          1345: 
        !          1346: ##########################################
1.1.1.11  root     1347: # Sparse probe
                   1348: if test "$sparse" != "no" ; then
1.1.1.13  root     1349:   if has cgcc; then
1.1.1.11  root     1350:     sparse=yes
                   1351:   else
                   1352:     if test "$sparse" = "yes" ; then
                   1353:       feature_not_found "sparse"
                   1354:     fi
                   1355:     sparse=no
                   1356:   fi
1.1.1.9   root     1357: fi
                   1358: 
                   1359: ##########################################
1.1       root     1360: # SDL probe
                   1361: 
1.1.1.14  root     1362: # Look for sdl configuration program (pkg-config or sdl-config).  Try
                   1363: # sdl-config even without cross prefix, and favour pkg-config over sdl-config.
                   1364: if test "`basename $sdl_config`" != sdl-config && ! has ${sdl_config}; then
                   1365:   sdl_config=sdl-config
                   1366: fi
                   1367: 
                   1368: if $pkg_config sdl --modversion >/dev/null 2>&1; then
                   1369:   sdlconfig="$pkg_config sdl"
1.1.1.13  root     1370:   _sdlversion=`$sdlconfig --modversion 2>/dev/null | sed 's/[^0-9]//g'`
1.1.1.14  root     1371: elif has ${sdl_config}; then
                   1372:   sdlconfig="$sdl_config"
1.1.1.13  root     1373:   _sdlversion=`$sdlconfig --version | sed 's/[^0-9]//g'`
                   1374: else
                   1375:   if test "$sdl" = "yes" ; then
                   1376:     feature_not_found "sdl"
                   1377:   fi
                   1378:   sdl=no
                   1379: fi
1.1.1.16! root     1380: if test -n "$cross_prefix" && test "$(basename "$sdlconfig")" = sdl-config; then
1.1.1.14  root     1381:   echo warning: using "\"$sdlconfig\"" to detect cross-compiled sdl >&2
                   1382: fi
1.1       root     1383: 
1.1.1.13  root     1384: sdl_too_old=no
1.1.1.11  root     1385: if test "$sdl" != "no" ; then
                   1386:   cat > $TMPC << EOF
1.1       root     1387: #include <SDL.h>
                   1388: #undef main /* We don't want SDL to override our main() */
                   1389: int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
                   1390: EOF
1.1.1.13  root     1391:   sdl_cflags=`$sdlconfig --cflags 2> /dev/null`
                   1392:   if test "$static" = "yes" ; then
                   1393:     sdl_libs=`$sdlconfig --static-libs 2>/dev/null`
                   1394:   else
                   1395:     sdl_libs=`$sdlconfig --libs 2> /dev/null`
                   1396:   fi
1.1.1.11  root     1397:   if compile_prog "$sdl_cflags" "$sdl_libs" ; then
                   1398:     if test "$_sdlversion" -lt 121 ; then
                   1399:       sdl_too_old=yes
                   1400:     else
                   1401:       if test "$cocoa" = "no" ; then
                   1402:         sdl=yes
                   1403:       fi
                   1404:     fi
1.1.1.7   root     1405: 
1.1.1.13  root     1406:     # static link with sdl ? (note: sdl.pc's --static --libs is broken)
1.1.1.11  root     1407:     if test "$sdl" = "yes" -a "$static" = "yes" ; then
1.1.1.13  root     1408:       if test $? = 0 && echo $sdl_libs | grep -- -laa > /dev/null; then
                   1409:          sdl_libs="$sdl_libs `aalib-config --static-libs 2>/dev/null`"
                   1410:          sdl_cflags="$sdl_cflags `aalib-config --cflags 2>/dev/null`"
1.1.1.11  root     1411:       fi
                   1412:       if compile_prog "$sdl_cflags" "$sdl_libs" ; then
                   1413:        :
                   1414:       else
                   1415:         sdl=no
                   1416:       fi
                   1417:     fi # static link
                   1418:   else # sdl not found
1.1.1.6   root     1419:     if test "$sdl" = "yes" ; then
1.1.1.11  root     1420:       feature_not_found "sdl"
1.1.1.6   root     1421:     fi
1.1.1.11  root     1422:     sdl=no
                   1423:   fi # sdl compile test
                   1424: fi
1.1       root     1425: 
1.1.1.7   root     1426: if test "$sdl" = "yes" ; then
1.1.1.11  root     1427:   cat > $TMPC <<EOF
1.1.1.7   root     1428: #include <SDL.h>
                   1429: #if defined(SDL_VIDEO_DRIVER_X11)
                   1430: #include <X11/XKBlib.h>
                   1431: #else
                   1432: #error No x11 support
                   1433: #endif
                   1434: int main(void) { return 0; }
                   1435: EOF
1.1.1.11  root     1436:   if compile_prog "$sdl_cflags" "$sdl_libs" ; then
                   1437:     sdl_libs="$sdl_libs -lX11"
                   1438:   fi
                   1439:   if test "$mingw32" = "yes" ; then
                   1440:     sdl_libs="`echo $sdl_libs | sed s/-mwindows//g` -mconsole"
                   1441:   fi
                   1442:   libs_softmmu="$sdl_libs $libs_softmmu"
1.1.1.7   root     1443: fi
                   1444: 
1.1.1.6   root     1445: ##########################################
                   1446: # VNC TLS detection
1.1.1.16! root     1447: if test "$vnc" = "yes" -a "$vnc_tls" != "no" ; then
1.1.1.11  root     1448:   cat > $TMPC <<EOF
1.1.1.7   root     1449: #include <gnutls/gnutls.h>
                   1450: int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
                   1451: EOF
1.1.1.14  root     1452:   vnc_tls_cflags=`$pkg_config --cflags gnutls 2> /dev/null`
                   1453:   vnc_tls_libs=`$pkg_config --libs gnutls 2> /dev/null`
1.1.1.11  root     1454:   if compile_prog "$vnc_tls_cflags" "$vnc_tls_libs" ; then
                   1455:     vnc_tls=yes
                   1456:     libs_softmmu="$vnc_tls_libs $libs_softmmu"
                   1457:   else
                   1458:     if test "$vnc_tls" = "yes" ; then
                   1459:       feature_not_found "vnc-tls"
1.1.1.7   root     1460:     fi
1.1.1.11  root     1461:     vnc_tls=no
                   1462:   fi
1.1.1.6   root     1463: fi
1.1.1.7   root     1464: 
                   1465: ##########################################
1.1.1.9   root     1466: # VNC SASL detection
1.1.1.16! root     1467: if test "$vnc" = "yes" -a "$vnc_sasl" != "no" ; then
1.1.1.11  root     1468:   cat > $TMPC <<EOF
1.1.1.9   root     1469: #include <sasl/sasl.h>
                   1470: #include <stdio.h>
                   1471: int main(void) { sasl_server_init(NULL, "qemu"); return 0; }
                   1472: EOF
1.1.1.11  root     1473:   # Assuming Cyrus-SASL installed in /usr prefix
                   1474:   vnc_sasl_cflags=""
                   1475:   vnc_sasl_libs="-lsasl2"
                   1476:   if compile_prog "$vnc_sasl_cflags" "$vnc_sasl_libs" ; then
                   1477:     vnc_sasl=yes
                   1478:     libs_softmmu="$vnc_sasl_libs $libs_softmmu"
                   1479:   else
                   1480:     if test "$vnc_sasl" = "yes" ; then
                   1481:       feature_not_found "vnc-sasl"
1.1.1.9   root     1482:     fi
1.1.1.11  root     1483:     vnc_sasl=no
                   1484:   fi
1.1.1.9   root     1485: fi
                   1486: 
                   1487: ##########################################
1.1.1.13  root     1488: # VNC JPEG detection
1.1.1.16! root     1489: if test "$vnc" = "yes" -a "$vnc_jpeg" != "no" ; then
1.1.1.13  root     1490: cat > $TMPC <<EOF
                   1491: #include <stdio.h>
                   1492: #include <jpeglib.h>
                   1493: int main(void) { struct jpeg_compress_struct s; jpeg_create_compress(&s); return 0; }
                   1494: EOF
                   1495:     vnc_jpeg_cflags=""
                   1496:     vnc_jpeg_libs="-ljpeg"
                   1497:   if compile_prog "$vnc_jpeg_cflags" "$vnc_jpeg_libs" ; then
                   1498:     vnc_jpeg=yes
                   1499:     libs_softmmu="$vnc_jpeg_libs $libs_softmmu"
                   1500:   else
                   1501:     if test "$vnc_jpeg" = "yes" ; then
                   1502:       feature_not_found "vnc-jpeg"
                   1503:     fi
                   1504:     vnc_jpeg=no
                   1505:   fi
                   1506: fi
                   1507: 
                   1508: ##########################################
                   1509: # VNC PNG detection
1.1.1.16! root     1510: if test "$vnc" = "yes" -a "$vnc_png" != "no" ; then
1.1.1.13  root     1511: cat > $TMPC <<EOF
                   1512: //#include <stdio.h>
                   1513: #include <png.h>
1.1.1.14  root     1514: #include <stddef.h>
1.1.1.13  root     1515: int main(void) {
                   1516:     png_structp png_ptr;
                   1517:     png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
                   1518:     return 0;
                   1519: }
                   1520: EOF
1.1.1.16! root     1521:   if $pkg_config libpng --modversion >/dev/null 2>&1; then
        !          1522:     vnc_png_cflags=`$pkg_config libpng --cflags 2> /dev/null`
        !          1523:     vnc_png_libs=`$pkg_config libpng --libs 2> /dev/null`
        !          1524:   else
1.1.1.13  root     1525:     vnc_png_cflags=""
                   1526:     vnc_png_libs="-lpng"
1.1.1.16! root     1527:   fi
1.1.1.13  root     1528:   if compile_prog "$vnc_png_cflags" "$vnc_png_libs" ; then
                   1529:     vnc_png=yes
                   1530:     libs_softmmu="$vnc_png_libs $libs_softmmu"
1.1.1.16! root     1531:     QEMU_CFLAGS="$QEMU_CFLAGS $vnc_png_cflags"
1.1.1.13  root     1532:   else
                   1533:     if test "$vnc_png" = "yes" ; then
                   1534:       feature_not_found "vnc-png"
                   1535:     fi
                   1536:     vnc_png=no
                   1537:   fi
                   1538: fi
                   1539: 
                   1540: ##########################################
1.1.1.9   root     1541: # fnmatch() probe, used for ACL routines
                   1542: fnmatch="no"
                   1543: cat > $TMPC << EOF
                   1544: #include <fnmatch.h>
                   1545: int main(void)
                   1546: {
                   1547:     fnmatch("foo", "foo", 0);
                   1548:     return 0;
                   1549: }
                   1550: EOF
1.1.1.11  root     1551: if compile_prog "" "" ; then
1.1.1.9   root     1552:    fnmatch="yes"
                   1553: fi
                   1554: 
                   1555: ##########################################
1.1.1.11  root     1556: # uuid_generate() probe, used for vdi block driver
                   1557: if test "$uuid" != "no" ; then
                   1558:   uuid_libs="-luuid"
                   1559:   cat > $TMPC << EOF
                   1560: #include <uuid/uuid.h>
                   1561: int main(void)
                   1562: {
                   1563:     uuid_t my_uuid;
                   1564:     uuid_generate(my_uuid);
                   1565:     return 0;
                   1566: }
                   1567: EOF
                   1568:   if compile_prog "" "$uuid_libs" ; then
                   1569:     uuid="yes"
                   1570:     libs_softmmu="$uuid_libs $libs_softmmu"
                   1571:     libs_tools="$uuid_libs $libs_tools"
                   1572:   else
                   1573:     if test "$uuid" = "yes" ; then
                   1574:       feature_not_found "uuid"
                   1575:     fi
                   1576:     uuid=no
                   1577:   fi
                   1578: fi
                   1579: 
                   1580: ##########################################
1.1.1.14  root     1581: # xfsctl() probe, used for raw-posix
                   1582: if test "$xfs" != "no" ; then
                   1583:   cat > $TMPC << EOF
                   1584: #include <xfs/xfs.h>
                   1585: int main(void)
                   1586: {
                   1587:     xfsctl(NULL, 0, 0, NULL);
                   1588:     return 0;
                   1589: }
                   1590: EOF
                   1591:   if compile_prog "" "" ; then
                   1592:     xfs="yes"
                   1593:   else
                   1594:     if test "$xfs" = "yes" ; then
                   1595:       feature_not_found "xfs"
                   1596:     fi
                   1597:     xfs=no
                   1598:   fi
                   1599: fi
                   1600: 
                   1601: ##########################################
1.1.1.7   root     1602: # vde libraries probe
1.1.1.11  root     1603: if test "$vde" != "no" ; then
                   1604:   vde_libs="-lvdeplug"
1.1.1.7   root     1605:   cat > $TMPC << EOF
                   1606: #include <libvdeplug.h>
                   1607: int main(void)
                   1608: {
                   1609:     struct vde_open_args a = {0, 0, 0};
                   1610:     vde_open("", "", &a);
                   1611:     return 0;
                   1612: }
                   1613: EOF
1.1.1.11  root     1614:   if compile_prog "" "$vde_libs" ; then
                   1615:     vde=yes
                   1616:     libs_softmmu="$vde_libs $libs_softmmu"
                   1617:     libs_tools="$vde_libs $libs_tools"
                   1618:   else
                   1619:     if test "$vde" = "yes" ; then
                   1620:       feature_not_found "vde"
1.1.1.7   root     1621:     fi
1.1.1.11  root     1622:     vde=no
                   1623:   fi
1.1       root     1624: fi
                   1625: 
1.1.1.5   root     1626: ##########################################
1.1.1.7   root     1627: # Sound support libraries probe
1.1.1.5   root     1628: 
1.1.1.7   root     1629: audio_drv_probe()
                   1630: {
                   1631:     drv=$1
                   1632:     hdr=$2
                   1633:     lib=$3
                   1634:     exp=$4
                   1635:     cfl=$5
                   1636:         cat > $TMPC << EOF
                   1637: #include <$hdr>
                   1638: int main(void) { $exp }
                   1639: EOF
1.1.1.11  root     1640:     if compile_prog "$cfl" "$lib" ; then
1.1.1.7   root     1641:         :
                   1642:     else
                   1643:         echo
                   1644:         echo "Error: $drv check failed"
                   1645:         echo "Make sure to have the $drv libs and headers installed."
                   1646:         echo
                   1647:         exit 1
                   1648:     fi
                   1649: }
                   1650: 
                   1651: audio_drv_list=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
                   1652: for drv in $audio_drv_list; do
                   1653:     case $drv in
                   1654:     alsa)
                   1655:     audio_drv_probe $drv alsa/asoundlib.h -lasound \
                   1656:         "snd_pcm_t **handle; return snd_pcm_close(*handle);"
1.1.1.11  root     1657:     libs_softmmu="-lasound $libs_softmmu"
1.1.1.7   root     1658:     ;;
                   1659: 
                   1660:     fmod)
                   1661:     if test -z $fmod_lib || test -z $fmod_inc; then
                   1662:         echo
                   1663:         echo "Error: You must specify path to FMOD library and headers"
                   1664:         echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
                   1665:         echo
                   1666:         exit 1
                   1667:     fi
                   1668:     audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
1.1.1.11  root     1669:     libs_softmmu="$fmod_lib $libs_softmmu"
1.1.1.7   root     1670:     ;;
                   1671: 
                   1672:     esd)
                   1673:     audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);'
1.1.1.11  root     1674:     libs_softmmu="-lesd $libs_softmmu"
                   1675:     audio_pt_int="yes"
1.1.1.7   root     1676:     ;;
                   1677: 
                   1678:     pa)
1.1.1.11  root     1679:     audio_drv_probe $drv pulse/simple.h "-lpulse-simple -lpulse" \
1.1.1.16! root     1680:         "pa_simple *s = 0; pa_simple_free(s); return 0;"
1.1.1.11  root     1681:     libs_softmmu="-lpulse -lpulse-simple $libs_softmmu"
                   1682:     audio_pt_int="yes"
                   1683:     ;;
                   1684: 
                   1685:     coreaudio)
                   1686:       libs_softmmu="-framework CoreAudio $libs_softmmu"
                   1687:     ;;
                   1688: 
                   1689:     dsound)
                   1690:       libs_softmmu="-lole32 -ldxguid $libs_softmmu"
                   1691:       audio_win_int="yes"
                   1692:     ;;
                   1693: 
                   1694:     oss)
                   1695:       libs_softmmu="$oss_lib $libs_softmmu"
1.1.1.7   root     1696:     ;;
                   1697: 
1.1.1.11  root     1698:     sdl|wav)
1.1.1.7   root     1699:     # XXX: Probes for CoreAudio, DirectSound, SDL(?)
                   1700:     ;;
                   1701: 
1.1.1.11  root     1702:     winwave)
                   1703:       libs_softmmu="-lwinmm $libs_softmmu"
                   1704:       audio_win_int="yes"
                   1705:     ;;
                   1706: 
1.1.1.7   root     1707:     *)
                   1708:     echo "$audio_possible_drivers" | grep -q "\<$drv\>" || {
                   1709:         echo
                   1710:         echo "Error: Unknown driver '$drv' selected"
                   1711:         echo "Possible drivers are: $audio_possible_drivers"
                   1712:         echo
                   1713:         exit 1
                   1714:     }
                   1715:     ;;
                   1716:     esac
                   1717: done
                   1718: 
                   1719: ##########################################
                   1720: # BrlAPI probe
                   1721: 
1.1.1.11  root     1722: if test "$brlapi" != "no" ; then
                   1723:   brlapi_libs="-lbrlapi"
                   1724:   cat > $TMPC << EOF
1.1.1.7   root     1725: #include <brlapi.h>
1.1.1.14  root     1726: #include <stddef.h>
1.1.1.7   root     1727: int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
                   1728: EOF
1.1.1.11  root     1729:   if compile_prog "" "$brlapi_libs" ; then
                   1730:     brlapi=yes
                   1731:     libs_softmmu="$brlapi_libs $libs_softmmu"
                   1732:   else
                   1733:     if test "$brlapi" = "yes" ; then
                   1734:       feature_not_found "brlapi"
                   1735:     fi
                   1736:     brlapi=no
                   1737:   fi
                   1738: fi
1.1.1.7   root     1739: 
                   1740: ##########################################
                   1741: # curses probe
1.1.1.16! root     1742: if test "$mingw32" = "yes" ; then
        !          1743:     curses_list="-lpdcurses"
        !          1744: else
        !          1745:     curses_list="-lncurses -lcurses"
        !          1746: fi
1.1.1.7   root     1747: 
1.1.1.11  root     1748: if test "$curses" != "no" ; then
                   1749:   curses_found=no
1.1.1.5   root     1750:   cat > $TMPC << EOF
1.1.1.7   root     1751: #include <curses.h>
1.1.1.9   root     1752: #ifdef __OpenBSD__
                   1753: #define resize_term resizeterm
                   1754: #endif
                   1755: int main(void) { resize_term(0, 0); return curses_version(); }
1.1.1.5   root     1756: EOF
1.1.1.11  root     1757:   for curses_lib in $curses_list; do
                   1758:     if compile_prog "" "$curses_lib" ; then
                   1759:       curses_found=yes
                   1760:       libs_softmmu="$curses_lib $libs_softmmu"
                   1761:       break
                   1762:     fi
                   1763:   done
                   1764:   if test "$curses_found" = "yes" ; then
1.1.1.7   root     1765:     curses=yes
1.1.1.11  root     1766:   else
                   1767:     if test "$curses" = "yes" ; then
                   1768:       feature_not_found "curses"
                   1769:     fi
                   1770:     curses=no
1.1.1.7   root     1771:   fi
1.1.1.11  root     1772: fi
1.1.1.7   root     1773: 
                   1774: ##########################################
1.1.1.9   root     1775: # curl probe
                   1776: 
1.1.1.14  root     1777: if $pkg_config libcurl --modversion >/dev/null 2>&1; then
                   1778:   curlconfig="$pkg_config libcurl"
1.1.1.13  root     1779: else
                   1780:   curlconfig=curl-config
                   1781: fi
                   1782: 
1.1.1.11  root     1783: if test "$curl" != "no" ; then
1.1.1.9   root     1784:   cat > $TMPC << EOF
                   1785: #include <curl/curl.h>
1.1.1.16! root     1786: int main(void) { curl_easy_init(); curl_multi_setopt(0, 0, 0); return 0; }
1.1.1.9   root     1787: EOF
1.1.1.13  root     1788:   curl_cflags=`$curlconfig --cflags 2>/dev/null`
                   1789:   curl_libs=`$curlconfig --libs 2>/dev/null`
1.1.1.11  root     1790:   if compile_prog "$curl_cflags" "$curl_libs" ; then
1.1.1.9   root     1791:     curl=yes
1.1.1.11  root     1792:     libs_tools="$curl_libs $libs_tools"
                   1793:     libs_softmmu="$curl_libs $libs_softmmu"
                   1794:   else
                   1795:     if test "$curl" = "yes" ; then
                   1796:       feature_not_found "curl"
                   1797:     fi
                   1798:     curl=no
1.1.1.9   root     1799:   fi
                   1800: fi # test "$curl"
                   1801: 
                   1802: ##########################################
1.1.1.11  root     1803: # check framework probe
                   1804: 
                   1805: if test "$check_utests" != "no" ; then
1.1.1.7   root     1806:   cat > $TMPC << EOF
1.1.1.11  root     1807: #include <check.h>
                   1808: int main(void) { suite_create("qemu test"); return 0; }
1.1.1.7   root     1809: EOF
1.1.1.14  root     1810:   check_libs=`$pkg_config --libs check`
1.1.1.11  root     1811:   if compile_prog "" $check_libs ; then
                   1812:     check_utests=yes
                   1813:     libs_tools="$check_libs $libs_tools"
1.1.1.5   root     1814:   else
1.1.1.11  root     1815:     if test "$check_utests" = "yes" ; then
                   1816:       feature_not_found "check"
                   1817:     fi
                   1818:     check_utests=no
                   1819:   fi
                   1820: fi # test "$check_utests"
                   1821: 
                   1822: ##########################################
                   1823: # bluez support probe
                   1824: if test "$bluez" != "no" ; then
                   1825:   cat > $TMPC << EOF
                   1826: #include <bluetooth/bluetooth.h>
                   1827: int main(void) { return bt_error(0); }
                   1828: EOF
1.1.1.14  root     1829:   bluez_cflags=`$pkg_config --cflags bluez 2> /dev/null`
                   1830:   bluez_libs=`$pkg_config --libs bluez 2> /dev/null`
1.1.1.11  root     1831:   if compile_prog "$bluez_cflags" "$bluez_libs" ; then
                   1832:     bluez=yes
                   1833:     libs_softmmu="$bluez_libs $libs_softmmu"
                   1834:   else
                   1835:     if test "$bluez" = "yes" ; then
                   1836:       feature_not_found "bluez"
                   1837:     fi
1.1.1.7   root     1838:     bluez="no"
                   1839:   fi
                   1840: fi
                   1841: 
                   1842: ##########################################
1.1.1.16! root     1843: # glib support probe
        !          1844: if test "$guest_agent" != "no" ; then
        !          1845:     if $pkg_config --modversion glib-2.0 > /dev/null 2>&1 ; then
        !          1846:         glib_cflags=`$pkg_config --cflags glib-2.0 2>/dev/null`
        !          1847:         glib_libs=`$pkg_config --libs glib-2.0 2>/dev/null`
        !          1848:         libs_softmmu="$glib_libs $libs_softmmu"
        !          1849:         libs_tools="$glib_libs $libs_tools"
1.1.1.13  root     1850:     else
1.1.1.16! root     1851:         echo "glib-2.0 required to compile QEMU"
        !          1852:         exit 1
1.1.1.13  root     1853:     fi
                   1854: fi
                   1855: 
                   1856: ##########################################
1.1.1.9   root     1857: # pthread probe
1.1.1.16! root     1858: PTHREADLIBS_LIST="-pthread -lpthread -lpthreadGC2"
1.1.1.7   root     1859: 
1.1.1.11  root     1860: pthread=no
1.1.1.9   root     1861: cat > $TMPC << EOF
1.1.1.7   root     1862: #include <pthread.h>
1.1.1.9   root     1863: int main(void) { pthread_create(0,0,0,0); return 0; }
1.1.1.7   root     1864: EOF
1.1.1.14  root     1865: if compile_prog "" "" ; then
                   1866:   pthread=yes
                   1867: else
                   1868:   for pthread_lib in $PTHREADLIBS_LIST; do
                   1869:     if compile_prog "" "$pthread_lib" ; then
                   1870:       pthread=yes
                   1871:       LIBS="$pthread_lib $LIBS"
                   1872:       break
                   1873:     fi
                   1874:   done
                   1875: fi
1.1.1.11  root     1876: 
                   1877: if test "$mingw32" != yes -a "$pthread" = no; then
                   1878:   echo
                   1879:   echo "Error: pthread check failed"
                   1880:   echo "Make sure to have the pthread libs and headers installed."
                   1881:   echo
                   1882:   exit 1
1.1.1.9   root     1883: fi
                   1884: 
1.1.1.11  root     1885: ##########################################
1.1.1.14  root     1886: # rbd probe
                   1887: if test "$rbd" != "no" ; then
                   1888:   cat > $TMPC <<EOF
                   1889: #include <stdio.h>
1.1.1.16! root     1890: #include <rbd/librbd.h>
1.1.1.14  root     1891: int main(void) {
1.1.1.16! root     1892:     rados_t cluster;
        !          1893:     rados_create(&cluster, NULL);
1.1.1.14  root     1894:     return 0;
                   1895: }
                   1896: EOF
1.1.1.16! root     1897:   rbd_libs="-lrbd -lrados"
        !          1898:   if compile_prog "" "$rbd_libs" ; then
        !          1899:     rbd=yes
        !          1900:     libs_tools="$rbd_libs $libs_tools"
        !          1901:     libs_softmmu="$rbd_libs $libs_softmmu"
1.1.1.14  root     1902:   else
                   1903:     if test "$rbd" = "yes" ; then
                   1904:       feature_not_found "rados block device"
                   1905:     fi
                   1906:     rbd=no
                   1907:   fi
                   1908: fi
                   1909: 
                   1910: ##########################################
1.1.1.11  root     1911: # linux-aio probe
                   1912: 
                   1913: if test "$linux_aio" != "no" ; then
                   1914:   cat > $TMPC <<EOF
                   1915: #include <libaio.h>
                   1916: #include <sys/eventfd.h>
1.1.1.14  root     1917: #include <stddef.h>
1.1.1.11  root     1918: int main(void) { io_setup(0, NULL); io_set_eventfd(NULL, 0); eventfd(0, 0); return 0; }
                   1919: EOF
                   1920:   if compile_prog "" "-laio" ; then
                   1921:     linux_aio=yes
1.1.1.13  root     1922:     libs_softmmu="$libs_softmmu -laio"
                   1923:     libs_tools="$libs_tools -laio"
1.1.1.11  root     1924:   else
                   1925:     if test "$linux_aio" = "yes" ; then
                   1926:       feature_not_found "linux AIO"
                   1927:     fi
                   1928:     linux_aio=no
                   1929:   fi
1.1.1.7   root     1930: fi
                   1931: 
                   1932: ##########################################
1.1.1.13  root     1933: # attr probe
                   1934: 
                   1935: if test "$attr" != "no" ; then
                   1936:   cat > $TMPC <<EOF
                   1937: #include <stdio.h>
                   1938: #include <sys/types.h>
                   1939: #include <attr/xattr.h>
                   1940: int main(void) { getxattr(NULL, NULL, NULL, 0); setxattr(NULL, NULL, NULL, 0, 0); return 0; }
                   1941: EOF
                   1942:   if compile_prog "" "-lattr" ; then
                   1943:     attr=yes
                   1944:     LIBS="-lattr $LIBS"
                   1945:   else
                   1946:     if test "$attr" = "yes" ; then
                   1947:       feature_not_found "ATTR"
                   1948:     fi
                   1949:     attr=no
                   1950:   fi
                   1951: fi
                   1952: 
                   1953: ##########################################
1.1.1.7   root     1954: # iovec probe
                   1955: cat > $TMPC <<EOF
                   1956: #include <sys/types.h>
                   1957: #include <sys/uio.h>
                   1958: #include <unistd.h>
                   1959: int main(void) { struct iovec iov; return 0; }
                   1960: EOF
                   1961: iovec=no
1.1.1.11  root     1962: if compile_prog "" "" ; then
1.1.1.7   root     1963:   iovec=yes
                   1964: fi
                   1965: 
                   1966: ##########################################
1.1.1.9   root     1967: # preadv probe
                   1968: cat > $TMPC <<EOF
                   1969: #include <sys/types.h>
                   1970: #include <sys/uio.h>
                   1971: #include <unistd.h>
                   1972: int main(void) { preadv; }
                   1973: EOF
                   1974: preadv=no
1.1.1.11  root     1975: if compile_prog "" "" ; then
1.1.1.9   root     1976:   preadv=yes
                   1977: fi
                   1978: 
                   1979: ##########################################
1.1.1.7   root     1980: # fdt probe
1.1.1.11  root     1981: if test "$fdt" != "no" ; then
                   1982:   fdt_libs="-lfdt"
                   1983:   cat > $TMPC << EOF
1.1.1.7   root     1984: int main(void) { return 0; }
                   1985: EOF
1.1.1.11  root     1986:   if compile_prog "" "$fdt_libs" ; then
1.1.1.7   root     1987:     fdt=yes
1.1.1.11  root     1988:   else
                   1989:     if test "$fdt" = "yes" ; then
                   1990:       feature_not_found "fdt"
                   1991:     fi
1.1.1.16! root     1992:     fdt_libs=
1.1.1.11  root     1993:     fdt=no
1.1.1.5   root     1994:   fi
                   1995: fi
                   1996: 
1.1.1.16! root     1997: ##########################################
        !          1998: # opengl probe, used by milkymist-tmu2
        !          1999: if test "$opengl" != "no" ; then
        !          2000:   opengl_libs="-lGL"
        !          2001:   cat > $TMPC << EOF
        !          2002: #include <X11/Xlib.h>
        !          2003: #include <GL/gl.h>
        !          2004: #include <GL/glx.h>
        !          2005: int main(void) { GL_VERSION; return 0; }
        !          2006: EOF
        !          2007:   if compile_prog "" "-lGL" ; then
        !          2008:     opengl=yes
        !          2009:   else
        !          2010:     if test "$opengl" = "yes" ; then
        !          2011:       feature_not_found "opengl"
        !          2012:     fi
        !          2013:     opengl_libs=
        !          2014:     opengl=no
        !          2015:   fi
        !          2016: fi
        !          2017: 
1.1.1.9   root     2018: #
                   2019: # Check for xxxat() functions when we are building linux-user
                   2020: # emulator.  This is done because older glibc versions don't
                   2021: # have syscall stubs for these implemented.
                   2022: #
                   2023: atfile=no
                   2024: cat > $TMPC << EOF
                   2025: #define _ATFILE_SOURCE
                   2026: #include <sys/types.h>
                   2027: #include <fcntl.h>
                   2028: #include <unistd.h>
                   2029: 
                   2030: int
                   2031: main(void)
                   2032: {
                   2033:        /* try to unlink nonexisting file */
                   2034:        return (unlinkat(AT_FDCWD, "nonexistent_file", 0));
                   2035: }
                   2036: EOF
1.1.1.11  root     2037: if compile_prog "" "" ; then
1.1.1.9   root     2038:   atfile=yes
                   2039: fi
                   2040: 
                   2041: # Check for inotify functions when we are building linux-user
                   2042: # emulator.  This is done because older glibc versions don't
                   2043: # have syscall stubs for these implemented.  In that case we
                   2044: # don't provide them even if kernel supports them.
                   2045: #
                   2046: inotify=no
                   2047: cat > $TMPC << EOF
                   2048: #include <sys/inotify.h>
                   2049: 
                   2050: int
                   2051: main(void)
                   2052: {
                   2053:        /* try to start inotify */
                   2054:        return inotify_init();
                   2055: }
                   2056: EOF
1.1.1.11  root     2057: if compile_prog "" "" ; then
1.1.1.9   root     2058:   inotify=yes
                   2059: fi
                   2060: 
1.1.1.13  root     2061: inotify1=no
                   2062: cat > $TMPC << EOF
                   2063: #include <sys/inotify.h>
                   2064: 
                   2065: int
                   2066: main(void)
                   2067: {
                   2068:     /* try to start inotify */
                   2069:     return inotify_init1(0);
                   2070: }
                   2071: EOF
                   2072: if compile_prog "" "" ; then
                   2073:   inotify1=yes
                   2074: fi
                   2075: 
1.1.1.9   root     2076: # check if utimensat and futimens are supported
                   2077: utimens=no
                   2078: cat > $TMPC << EOF
                   2079: #define _ATFILE_SOURCE
                   2080: #include <stddef.h>
                   2081: #include <fcntl.h>
                   2082: 
                   2083: int main(void)
                   2084: {
                   2085:     utimensat(AT_FDCWD, "foo", NULL, 0);
                   2086:     futimens(0, NULL);
                   2087:     return 0;
                   2088: }
                   2089: EOF
1.1.1.11  root     2090: if compile_prog "" "" ; then
1.1.1.9   root     2091:   utimens=yes
                   2092: fi
                   2093: 
                   2094: # check if pipe2 is there
                   2095: pipe2=no
                   2096: cat > $TMPC << EOF
                   2097: #include <unistd.h>
                   2098: #include <fcntl.h>
                   2099: 
                   2100: int main(void)
                   2101: {
                   2102:     int pipefd[2];
                   2103:     pipe2(pipefd, O_CLOEXEC);
                   2104:     return 0;
                   2105: }
                   2106: EOF
1.1.1.11  root     2107: if compile_prog "" "" ; then
1.1.1.9   root     2108:   pipe2=yes
                   2109: fi
                   2110: 
1.1.1.11  root     2111: # check if accept4 is there
                   2112: accept4=no
                   2113: cat > $TMPC << EOF
                   2114: #include <sys/socket.h>
                   2115: #include <stddef.h>
                   2116: 
                   2117: int main(void)
                   2118: {
                   2119:     accept4(0, NULL, NULL, SOCK_CLOEXEC);
                   2120:     return 0;
                   2121: }
                   2122: EOF
                   2123: if compile_prog "" "" ; then
                   2124:   accept4=yes
                   2125: fi
                   2126: 
1.1.1.9   root     2127: # check if tee/splice is there. vmsplice was added same time.
                   2128: splice=no
                   2129: cat > $TMPC << EOF
                   2130: #include <unistd.h>
                   2131: #include <fcntl.h>
                   2132: #include <limits.h>
                   2133: 
                   2134: int main(void)
                   2135: {
                   2136:     int len, fd;
                   2137:     len = tee(STDIN_FILENO, STDOUT_FILENO, INT_MAX, SPLICE_F_NONBLOCK);
                   2138:     splice(STDIN_FILENO, NULL, fd, NULL, len, SPLICE_F_MOVE);
                   2139:     return 0;
                   2140: }
                   2141: EOF
1.1.1.11  root     2142: if compile_prog "" "" ; then
1.1.1.9   root     2143:   splice=yes
                   2144: fi
                   2145: 
1.1.1.14  root     2146: ##########################################
                   2147: # signalfd probe
                   2148: signalfd="no"
                   2149: cat > $TMPC << EOF
                   2150: #define _GNU_SOURCE
                   2151: #include <unistd.h>
                   2152: #include <sys/syscall.h>
                   2153: #include <signal.h>
                   2154: int main(void) { return syscall(SYS_signalfd, -1, NULL, _NSIG / 8); }
                   2155: EOF
                   2156: 
                   2157: if compile_prog "" "" ; then
                   2158:   signalfd=yes
1.1.1.16! root     2159: elif test "$kvm" = "yes" -a "$io_thread" != "yes"; then
        !          2160:   echo
        !          2161:   echo "ERROR: Host kernel lacks signalfd() support,"
        !          2162:   echo "but KVM depends on it when the IO thread is disabled."
        !          2163:   echo
        !          2164:   exit 1
1.1.1.14  root     2165: fi
                   2166: 
1.1.1.11  root     2167: # check if eventfd is supported
                   2168: eventfd=no
                   2169: cat > $TMPC << EOF
                   2170: #include <sys/eventfd.h>
                   2171: 
                   2172: int main(void)
                   2173: {
                   2174:     int efd = eventfd(0, 0);
                   2175:     return 0;
                   2176: }
                   2177: EOF
                   2178: if compile_prog "" "" ; then
                   2179:   eventfd=yes
                   2180: fi
                   2181: 
                   2182: # check for fallocate
                   2183: fallocate=no
                   2184: cat > $TMPC << EOF
                   2185: #include <fcntl.h>
                   2186: 
                   2187: int main(void)
                   2188: {
                   2189:     fallocate(0, 0, 0, 0);
                   2190:     return 0;
                   2191: }
                   2192: EOF
                   2193: if compile_prog "$ARCH_CFLAGS" "" ; then
                   2194:   fallocate=yes
                   2195: fi
                   2196: 
1.1.1.14  root     2197: # check for sync_file_range
                   2198: sync_file_range=no
                   2199: cat > $TMPC << EOF
                   2200: #include <fcntl.h>
                   2201: 
                   2202: int main(void)
                   2203: {
                   2204:     sync_file_range(0, 0, 0, 0);
                   2205:     return 0;
                   2206: }
                   2207: EOF
                   2208: if compile_prog "$ARCH_CFLAGS" "" ; then
                   2209:   sync_file_range=yes
                   2210: fi
                   2211: 
                   2212: # check for linux/fiemap.h and FS_IOC_FIEMAP
                   2213: fiemap=no
                   2214: cat > $TMPC << EOF
                   2215: #include <sys/ioctl.h>
                   2216: #include <linux/fs.h>
                   2217: #include <linux/fiemap.h>
                   2218: 
                   2219: int main(void)
                   2220: {
                   2221:     ioctl(0, FS_IOC_FIEMAP, 0);
                   2222:     return 0;
                   2223: }
                   2224: EOF
                   2225: if compile_prog "$ARCH_CFLAGS" "" ; then
                   2226:   fiemap=yes
                   2227: fi
                   2228: 
1.1.1.11  root     2229: # check for dup3
                   2230: dup3=no
                   2231: cat > $TMPC << EOF
                   2232: #include <unistd.h>
                   2233: 
                   2234: int main(void)
                   2235: {
                   2236:     dup3(0, 0, 0);
                   2237:     return 0;
                   2238: }
                   2239: EOF
                   2240: if compile_prog "" "" ; then
                   2241:   dup3=yes
                   2242: fi
                   2243: 
1.1.1.16! root     2244: # check for epoll support
        !          2245: epoll=no
        !          2246: cat > $TMPC << EOF
        !          2247: #include <sys/epoll.h>
        !          2248: 
        !          2249: int main(void)
        !          2250: {
        !          2251:     epoll_create(0);
        !          2252:     return 0;
        !          2253: }
        !          2254: EOF
        !          2255: if compile_prog "$ARCH_CFLAGS" "" ; then
        !          2256:   epoll=yes
        !          2257: fi
        !          2258: 
        !          2259: # epoll_create1 and epoll_pwait are later additions
        !          2260: # so we must check separately for their presence
        !          2261: epoll_create1=no
        !          2262: cat > $TMPC << EOF
        !          2263: #include <sys/epoll.h>
        !          2264: 
        !          2265: int main(void)
        !          2266: {
        !          2267:     /* Note that we use epoll_create1 as a value, not as
        !          2268:      * a function being called. This is necessary so that on
        !          2269:      * old SPARC glibc versions where the function was present in
        !          2270:      * the library but not declared in the header file we will
        !          2271:      * fail the configure check. (Otherwise we will get a compiler
        !          2272:      * warning but not an error, and will proceed to fail the
        !          2273:      * qemu compile where we compile with -Werror.)
        !          2274:      */
        !          2275:     epoll_create1;
        !          2276:     return 0;
        !          2277: }
        !          2278: EOF
        !          2279: if compile_prog "$ARCH_CFLAGS" "" ; then
        !          2280:   epoll_create1=yes
        !          2281: fi
        !          2282: 
        !          2283: epoll_pwait=no
        !          2284: cat > $TMPC << EOF
        !          2285: #include <sys/epoll.h>
        !          2286: 
        !          2287: int main(void)
        !          2288: {
        !          2289:     epoll_pwait(0, 0, 0, 0, 0);
        !          2290:     return 0;
        !          2291: }
        !          2292: EOF
        !          2293: if compile_prog "$ARCH_CFLAGS" "" ; then
        !          2294:   epoll_pwait=yes
        !          2295: fi
        !          2296: 
1.1.1.3   root     2297: # Check if tools are available to build documentation.
1.1.1.11  root     2298: if test "$docs" != "no" ; then
1.1.1.13  root     2299:   if has makeinfo && has pod2man; then
1.1.1.11  root     2300:     docs=yes
                   2301:   else
                   2302:     if test "$docs" = "yes" ; then
                   2303:       feature_not_found "docs"
                   2304:     fi
                   2305:     docs=no
                   2306:   fi
                   2307: fi
                   2308: 
                   2309: # Search for bswap_32 function
                   2310: byteswap_h=no
                   2311: cat > $TMPC << EOF
                   2312: #include <byteswap.h>
                   2313: int main(void) { return bswap_32(0); }
                   2314: EOF
                   2315: if compile_prog "" "" ; then
                   2316:   byteswap_h=yes
                   2317: fi
                   2318: 
                   2319: # Search for bswap_32 function
                   2320: bswap_h=no
                   2321: cat > $TMPC << EOF
                   2322: #include <sys/endian.h>
                   2323: #include <sys/types.h>
                   2324: #include <machine/bswap.h>
                   2325: int main(void) { return bswap32(0); }
                   2326: EOF
                   2327: if compile_prog "" "" ; then
                   2328:   bswap_h=yes
1.1       root     2329: fi
                   2330: 
1.1.1.7   root     2331: ##########################################
                   2332: # Do we need librt
                   2333: cat > $TMPC <<EOF
                   2334: #include <signal.h>
                   2335: #include <time.h>
                   2336: int main(void) { clockid_t id; return clock_gettime(id, NULL); }
                   2337: EOF
                   2338: 
1.1.1.11  root     2339: if compile_prog "" "" ; then
1.1.1.7   root     2340:   :
1.1.1.11  root     2341: elif compile_prog "" "-lrt" ; then
                   2342:   LIBS="-lrt $LIBS"
1.1.1.7   root     2343: fi
                   2344: 
1.1.1.11  root     2345: if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \
1.1.1.14  root     2346:         "$aix" != "yes" -a "$haiku" != "yes" ; then
1.1.1.11  root     2347:     libs_softmmu="-lutil $libs_softmmu"
                   2348: fi
                   2349: 
                   2350: ##########################################
                   2351: # check if the compiler defines offsetof
                   2352: 
                   2353: need_offsetof=yes
                   2354: cat > $TMPC << EOF
                   2355: #include <stddef.h>
                   2356: int main(void) { struct s { int f; }; return offsetof(struct s, f); }
                   2357: EOF
                   2358: if compile_prog "" "" ; then
                   2359:     need_offsetof=no
                   2360: fi
                   2361: 
                   2362: ##########################################
                   2363: # check if the compiler understands attribute warn_unused_result
                   2364: #
                   2365: # This could be smarter, but gcc -Werror does not error out even when warning
                   2366: # about attribute warn_unused_result
                   2367: 
                   2368: gcc_attribute_warn_unused_result=no
                   2369: cat > $TMPC << EOF
                   2370: #if defined(__GNUC__) && (__GNUC__ < 4) && defined(__GNUC_MINOR__) && (__GNUC__ < 4)
                   2371: #error gcc 3.3 or older
                   2372: #endif
                   2373: int main(void) { return 0;}
                   2374: EOF
                   2375: if compile_prog "" ""; then
                   2376:     gcc_attribute_warn_unused_result=yes
                   2377: fi
                   2378: 
1.1.1.14  root     2379: # spice probe
                   2380: if test "$spice" != "no" ; then
                   2381:   cat > $TMPC << EOF
                   2382: #include <spice.h>
                   2383: int main(void) { spice_server_new(); return 0; }
                   2384: EOF
                   2385:   spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
                   2386:   spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
1.1.1.16! root     2387:   if $pkg_config --atleast-version=0.6.0 spice-server >/dev/null 2>&1 && \
1.1.1.14  root     2388:      compile_prog "$spice_cflags" "$spice_libs" ; then
                   2389:     spice="yes"
                   2390:     libs_softmmu="$libs_softmmu $spice_libs"
                   2391:     QEMU_CFLAGS="$QEMU_CFLAGS $spice_cflags"
                   2392:   else
                   2393:     if test "$spice" = "yes" ; then
                   2394:       feature_not_found "spice"
                   2395:     fi
                   2396:     spice="no"
                   2397:   fi
                   2398: fi
                   2399: 
1.1.1.16! root     2400: # check for libcacard for smartcard support
        !          2401: if test "$smartcard" != "no" ; then
        !          2402:     smartcard="yes"
        !          2403:     smartcard_cflags=""
        !          2404:     # TODO - what's the minimal nss version we support?
        !          2405:     if test "$smartcard_nss" != "no"; then
        !          2406:         if $pkg_config --atleast-version=3.12.8 nss >/dev/null 2>&1 ; then
        !          2407:             smartcard_nss="yes"
        !          2408:             smartcard_cflags="-I\$(SRC_PATH)/libcacard"
        !          2409:             libcacard_libs=$($pkg_config --libs nss 2>/dev/null)
        !          2410:             libcacard_cflags=$($pkg_config --cflags nss 2>/dev/null)
        !          2411:             QEMU_CFLAGS="$QEMU_CFLAGS $smartcard_cflags $libcacard_cflags"
        !          2412:             LIBS="$libcacard_libs $LIBS"
        !          2413:         else
        !          2414:             if test "$smartcard_nss" = "yes"; then
        !          2415:                 feature_not_found "nss"
        !          2416:             fi
        !          2417:             smartcard_nss="no"
        !          2418:         fi
        !          2419:     fi
        !          2420: fi
        !          2421: if test "$smartcard" = "no" ; then
        !          2422:     smartcard_nss="no"
        !          2423: fi
        !          2424: 
        !          2425: # check for usbredirparser for usb network redirection support
        !          2426: if test "$usb_redir" != "no" ; then
        !          2427:     if $pkg_config libusbredirparser >/dev/null 2>&1 ; then
        !          2428:         usb_redir="yes"
        !          2429:         usb_redir_cflags=$($pkg_config --cflags libusbredirparser 2>/dev/null)
        !          2430:         usb_redir_libs=$($pkg_config --libs libusbredirparser 2>/dev/null)
        !          2431:         QEMU_CFLAGS="$QEMU_CFLAGS $usb_redir_cflags"
        !          2432:         LIBS="$LIBS $usb_redir_libs"
        !          2433:     else
        !          2434:         if test "$usb_redir" = "yes"; then
        !          2435:             feature_not_found "usb-redir"
        !          2436:         fi
        !          2437:         usb_redir="no"
        !          2438:     fi
        !          2439: fi
        !          2440: 
1.1.1.14  root     2441: ##########################################
                   2442: 
1.1.1.11  root     2443: ##########################################
                   2444: # check if we have fdatasync
                   2445: 
                   2446: fdatasync=no
                   2447: cat > $TMPC << EOF
                   2448: #include <unistd.h>
1.1.1.16! root     2449: int main(void) {
        !          2450: #if defined(_POSIX_SYNCHRONIZED_IO) && _POSIX_SYNCHRONIZED_IO > 0
        !          2451: return fdatasync(0);
        !          2452: #else
        !          2453: #abort Not supported
        !          2454: #endif
        !          2455: }
1.1.1.11  root     2456: EOF
                   2457: if compile_prog "" "" ; then
                   2458:     fdatasync=yes
                   2459: fi
                   2460: 
1.1.1.14  root     2461: ##########################################
                   2462: # check if we have madvise
                   2463: 
                   2464: madvise=no
                   2465: cat > $TMPC << EOF
                   2466: #include <sys/types.h>
                   2467: #include <sys/mman.h>
                   2468: #include <stddef.h>
                   2469: int main(void) { return madvise(NULL, 0, MADV_DONTNEED); }
                   2470: EOF
                   2471: if compile_prog "" "" ; then
                   2472:     madvise=yes
                   2473: fi
                   2474: 
                   2475: ##########################################
                   2476: # check if we have posix_madvise
                   2477: 
                   2478: posix_madvise=no
                   2479: cat > $TMPC << EOF
                   2480: #include <sys/mman.h>
                   2481: #include <stddef.h>
                   2482: int main(void) { return posix_madvise(NULL, 0, POSIX_MADV_DONTNEED); }
                   2483: EOF
                   2484: if compile_prog "" "" ; then
                   2485:     posix_madvise=yes
                   2486: fi
                   2487: 
                   2488: ##########################################
                   2489: # check if trace backend exists
                   2490: 
                   2491: sh "$source_path/scripts/tracetool" "--$trace_backend" --check-backend > /dev/null 2> /dev/null
                   2492: if test "$?" -ne 0 ; then
                   2493:   echo
                   2494:   echo "Error: invalid trace backend"
                   2495:   echo "Please choose a supported trace backend."
                   2496:   echo
                   2497:   exit 1
                   2498: fi
                   2499: 
                   2500: ##########################################
                   2501: # For 'ust' backend, test if ust headers are present
                   2502: if test "$trace_backend" = "ust"; then
                   2503:   cat > $TMPC << EOF
                   2504: #include <ust/tracepoint.h>
                   2505: #include <ust/marker.h>
                   2506: int main(void) { return 0; }
                   2507: EOF
                   2508:   if compile_prog "" "" ; then
                   2509:     LIBS="-lust $LIBS"
                   2510:   else
                   2511:     echo
                   2512:     echo "Error: Trace backend 'ust' missing libust header files"
                   2513:     echo
                   2514:     exit 1
                   2515:   fi
                   2516: fi
                   2517: 
                   2518: ##########################################
                   2519: # For 'dtrace' backend, test if 'dtrace' command is present
                   2520: if test "$trace_backend" = "dtrace"; then
                   2521:   if ! has 'dtrace' ; then
                   2522:     echo
                   2523:     echo "Error: dtrace command is not found in PATH $PATH"
                   2524:     echo
                   2525:     exit 1
                   2526:   fi
                   2527:   trace_backend_stap="no"
                   2528:   if has 'stap' ; then
                   2529:     trace_backend_stap="yes"
                   2530:   fi
                   2531: fi
                   2532: 
                   2533: ##########################################
1.1.1.16! root     2534: # __sync_fetch_and_and requires at least -march=i486. Many toolchains
        !          2535: # use i686 as default anyway, but for those that don't, an explicit
        !          2536: # specification is necessary
        !          2537: if test $vhost_net = "yes" && test $cpu = "i386"; then
        !          2538:   cat > $TMPC << EOF
        !          2539: int sfaa(unsigned *ptr)
        !          2540: {
        !          2541:   return __sync_fetch_and_and(ptr, 0);
        !          2542: }
        !          2543: 
        !          2544: int main(int argc, char **argv)
        !          2545: {
        !          2546:   int val = 42;
        !          2547:   sfaa(&val);
        !          2548:   return val;
        !          2549: }
        !          2550: EOF
        !          2551:   if ! compile_prog "" "" ; then
        !          2552:     CFLAGS+="-march=i486"
        !          2553:   fi
        !          2554: fi
        !          2555: 
        !          2556: ##########################################
1.1.1.11  root     2557: # End of CC checks
                   2558: # After here, no more $cc or $ld runs
                   2559: 
                   2560: if test "$debug" = "no" ; then
                   2561:   CFLAGS="-O2 $CFLAGS"
                   2562: fi
                   2563: 
                   2564: # Consult white-list to determine whether to enable werror
                   2565: # by default.  Only enable by default for git builds
                   2566: z_version=`cut -f3 -d. $source_path/VERSION`
                   2567: 
                   2568: if test -z "$werror" ; then
                   2569:     if test "$z_version" = "50" -a \
                   2570:         "$linux" = "yes" ; then
                   2571:         werror="yes"
                   2572:     else
                   2573:         werror="no"
                   2574:     fi
                   2575: fi
                   2576: 
                   2577: # Disable zero malloc errors for official releases unless explicitly told to
                   2578: # enable/disable
                   2579: if test -z "$zero_malloc" ; then
                   2580:     if test "$z_version" = "50" ; then
                   2581:        zero_malloc="no"
                   2582:     else
                   2583:        zero_malloc="yes"
                   2584:     fi
                   2585: fi
                   2586: 
                   2587: if test "$werror" = "yes" ; then
                   2588:     QEMU_CFLAGS="-Werror $QEMU_CFLAGS"
                   2589: fi
                   2590: 
                   2591: if test "$solaris" = "no" ; then
                   2592:     if $ld --version 2>/dev/null | grep "GNU ld" >/dev/null 2>/dev/null ; then
                   2593:         LDFLAGS="-Wl,--warn-common $LDFLAGS"
                   2594:     fi
1.1.1.7   root     2595: fi
                   2596: 
1.1.1.14  root     2597: # Use ASLR, no-SEH and DEP if available
                   2598: if test "$mingw32" = "yes" ; then
                   2599:     for flag in --dynamicbase --no-seh --nxcompat; do
                   2600:         if $ld --help 2>/dev/null | grep ".$flag" >/dev/null 2>/dev/null ; then
                   2601:             LDFLAGS="-Wl,$flag $LDFLAGS"
                   2602:         fi
                   2603:     done
                   2604: fi
                   2605: 
1.1.1.13  root     2606: confdir=$sysconfdir$confsuffix
                   2607: 
                   2608: tools=
                   2609: if test "$softmmu" = yes ; then
                   2610:   tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools"
                   2611:   if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then
                   2612:       tools="qemu-nbd\$(EXESUF) $tools"
1.1.1.16! root     2613:     if [ "$guest_agent" = "yes" ]; then
        !          2614:       tools="qemu-ga\$(EXESUF) $tools"
        !          2615:     fi
1.1.1.13  root     2616:     if [ "$check_utests" = "yes" ]; then
                   2617:       tools="check-qint check-qstring check-qdict check-qlist $tools"
                   2618:       tools="check-qfloat check-qjson $tools"
                   2619:     fi
1.1.1.6   root     2620:   fi
1.1       root     2621: fi
                   2622: 
1.1.1.13  root     2623: # Mac OS X ships with a broken assembler
                   2624: roms=
                   2625: if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
                   2626:         "$targetos" != "Darwin" -a "$targetos" != "SunOS" -a \
                   2627:         "$softmmu" = yes ; then
                   2628:   roms="optionrom"
                   2629: fi
1.1.1.16! root     2630: if test "$cpu" = "ppc64" -a "$targetos" != "Darwin" ; then
        !          2631:   roms="$roms spapr-rtas"
        !          2632: fi
1.1.1.13  root     2633: 
1.1       root     2634: echo "Install prefix    $prefix"
1.1.1.13  root     2635: echo "BIOS directory    `eval echo $datadir`"
                   2636: echo "binary directory  `eval echo $bindir`"
1.1.1.16! root     2637: echo "library directory `eval echo $libdir`"
1.1.1.13  root     2638: echo "config directory  `eval echo $sysconfdir`"
1.1       root     2639: if test "$mingw32" = "no" ; then
1.1.1.13  root     2640: echo "Manual directory  `eval echo $mandir`"
1.1       root     2641: echo "ELF interp prefix $interp_prefix"
                   2642: fi
                   2643: echo "Source path       $source_path"
                   2644: echo "C compiler        $cc"
                   2645: echo "Host C compiler   $host_cc"
1.1.1.11  root     2646: echo "CFLAGS            $CFLAGS"
                   2647: echo "QEMU_CFLAGS       $QEMU_CFLAGS"
                   2648: echo "LDFLAGS           $LDFLAGS"
1.1       root     2649: echo "make              $make"
1.1.1.3   root     2650: echo "install           $install"
1.1.1.16! root     2651: echo "python            $python"
        !          2652: if test "$slirp" = "yes" ; then
        !          2653:     echo "smbd              $smbd"
        !          2654: fi
1.1       root     2655: echo "host CPU          $cpu"
                   2656: echo "host big endian   $bigendian"
                   2657: echo "target list       $target_list"
1.1.1.9   root     2658: echo "tcg debug enabled $debug_tcg"
1.1.1.13  root     2659: echo "Mon debug enabled $debug_mon"
1.1       root     2660: echo "gprof enabled     $gprof"
1.1.1.7   root     2661: echo "sparse enabled    $sparse"
1.1.1.9   root     2662: echo "strip binaries    $strip_opt"
1.1.1.3   root     2663: echo "profiler          $profiler"
1.1       root     2664: echo "static build      $static"
1.1.1.6   root     2665: echo "-Werror enabled   $werror"
1.1       root     2666: if test "$darwin" = "yes" ; then
                   2667:     echo "Cocoa support     $cocoa"
                   2668: fi
                   2669: echo "SDL support       $sdl"
1.1.1.7   root     2670: echo "curses support    $curses"
1.1.1.9   root     2671: echo "curl support      $curl"
1.1.1.11  root     2672: echo "check support     $check_utests"
1.1       root     2673: echo "mingw32 support   $mingw32"
1.1.1.7   root     2674: echo "Audio drivers     $audio_drv_list"
                   2675: echo "Extra audio cards $audio_card_list"
1.1.1.11  root     2676: echo "Block whitelist   $block_drv_whitelist"
1.1.1.7   root     2677: echo "Mixer emulation   $mixemu"
1.1.1.16! root     2678: echo "VNC support       $vnc"
        !          2679: if test "$vnc" = "yes" ; then
        !          2680:     echo "VNC TLS support   $vnc_tls"
        !          2681:     echo "VNC SASL support  $vnc_sasl"
        !          2682:     echo "VNC JPEG support  $vnc_jpeg"
        !          2683:     echo "VNC PNG support   $vnc_png"
        !          2684:     echo "VNC thread        $vnc_thread"
        !          2685: fi
1.1.1.6   root     2686: if test -n "$sparc_cpu"; then
                   2687:     echo "Target Sparc Arch $sparc_cpu"
                   2688: fi
1.1.1.9   root     2689: echo "xen support       $xen"
1.1.1.7   root     2690: echo "brlapi support    $brlapi"
1.1.1.11  root     2691: echo "bluez  support    $bluez"
                   2692: echo "Documentation     $docs"
1.1.1.4   root     2693: [ ! -z "$uname_release" ] && \
                   2694: echo "uname -r          $uname_release"
1.1.1.7   root     2695: echo "NPTL support      $nptl"
1.1.1.11  root     2696: echo "GUEST_BASE        $guest_base"
                   2697: echo "PIE user targets  $user_pie"
1.1.1.7   root     2698: echo "vde support       $vde"
1.1.1.9   root     2699: echo "IO thread         $io_thread"
1.1.1.11  root     2700: echo "Linux AIO support $linux_aio"
1.1.1.13  root     2701: echo "ATTR/XATTR support $attr"
1.1.1.7   root     2702: echo "Install blobs     $blobs"
1.1.1.11  root     2703: echo "KVM support       $kvm"
1.1.1.7   root     2704: echo "fdt support       $fdt"
1.1.1.9   root     2705: echo "preadv support    $preadv"
1.1.1.11  root     2706: echo "fdatasync         $fdatasync"
1.1.1.14  root     2707: echo "madvise           $madvise"
                   2708: echo "posix_madvise     $posix_madvise"
1.1.1.11  root     2709: echo "uuid support      $uuid"
1.1.1.13  root     2710: echo "vhost-net support $vhost_net"
1.1.1.14  root     2711: echo "Trace backend     $trace_backend"
                   2712: echo "Trace output file $trace_file-<pid>"
                   2713: echo "spice support     $spice"
                   2714: echo "rbd support       $rbd"
                   2715: echo "xfsctl support    $xfs"
1.1.1.16! root     2716: echo "nss used          $smartcard_nss"
        !          2717: echo "usb net redir     $usb_redir"
        !          2718: echo "OpenGL support    $opengl"
        !          2719: echo "build guest agent $guest_agent"
1.1       root     2720: 
                   2721: if test $sdl_too_old = "yes"; then
                   2722: echo "-> Your SDL version is too old - please upgrade to have SDL support"
                   2723: fi
                   2724: 
1.1.1.9   root     2725: config_host_mak="config-host.mak"
1.1.1.11  root     2726: config_host_ld="config-host.ld"
1.1.1.9   root     2727: 
                   2728: echo "# Automatically generated by configure - do not modify" > $config_host_mak
                   2729: printf "# Configured with:" >> $config_host_mak
                   2730: printf " '%s'" "$0" "$@" >> $config_host_mak
                   2731: echo >> $config_host_mak
                   2732: 
1.1.1.14  root     2733: echo all: >> $config_host_mak
1.1.1.13  root     2734: echo "prefix=$prefix" >> $config_host_mak
                   2735: echo "bindir=$bindir" >> $config_host_mak
1.1.1.16! root     2736: echo "libdir=$libdir" >> $config_host_mak
1.1.1.13  root     2737: echo "mandir=$mandir" >> $config_host_mak
                   2738: echo "datadir=$datadir" >> $config_host_mak
                   2739: echo "sysconfdir=$sysconfdir" >> $config_host_mak
                   2740: echo "docdir=$docdir" >> $config_host_mak
                   2741: echo "confdir=$confdir" >> $config_host_mak
1.1.1.11  root     2742: 
1.1.1.7   root     2743: case "$cpu" in
1.1.1.16! root     2744:   i386|x86_64|alpha|cris|hppa|ia64|lm32|m68k|microblaze|mips|mips64|ppc|ppc64|s390|s390x|sparc|sparc64|unicore32)
1.1.1.9   root     2745:     ARCH=$cpu
1.1.1.7   root     2746:   ;;
1.1.1.10  root     2747:   armv4b|armv4l)
1.1.1.9   root     2748:     ARCH=arm
1.1.1.7   root     2749:   ;;
                   2750: esac
1.1.1.9   root     2751: echo "ARCH=$ARCH" >> $config_host_mak
                   2752: if test "$debug_tcg" = "yes" ; then
1.1.1.11  root     2753:   echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
1.1.1.9   root     2754: fi
1.1.1.13  root     2755: if test "$debug_mon" = "yes" ; then
                   2756:   echo "CONFIG_DEBUG_MONITOR=y" >> $config_host_mak
                   2757: fi
1.1.1.9   root     2758: if test "$debug" = "yes" ; then
1.1.1.11  root     2759:   echo "CONFIG_DEBUG_EXEC=y" >> $config_host_mak
1.1.1.9   root     2760: fi
                   2761: if test "$strip_opt" = "yes" ; then
1.1.1.14  root     2762:   echo "STRIP=${strip}" >> $config_host_mak
1.1       root     2763: fi
                   2764: if test "$bigendian" = "yes" ; then
1.1.1.11  root     2765:   echo "HOST_WORDS_BIGENDIAN=y" >> $config_host_mak
1.1       root     2766: fi
1.1.1.11  root     2767: echo "HOST_LONG_BITS=$hostlongbits" >> $config_host_mak
1.1       root     2768: if test "$mingw32" = "yes" ; then
1.1.1.9   root     2769:   echo "CONFIG_WIN32=y" >> $config_host_mak
1.1.1.14  root     2770:   rc_version=`cat $source_path/VERSION`
                   2771:   version_major=${rc_version%%.*}
                   2772:   rc_version=${rc_version#*.}
                   2773:   version_minor=${rc_version%%.*}
                   2774:   rc_version=${rc_version#*.}
                   2775:   version_subminor=${rc_version%%.*}
                   2776:   version_micro=0
                   2777:   echo "CONFIG_FILEVERSION=$version_major,$version_minor,$version_subminor,$version_micro" >> $config_host_mak
                   2778:   echo "CONFIG_PRODUCTVERSION=$version_major,$version_minor,$version_subminor,$version_micro" >> $config_host_mak
1.1.1.6   root     2779: else
1.1.1.11  root     2780:   echo "CONFIG_POSIX=y" >> $config_host_mak
1.1.1.7   root     2781: fi
                   2782: 
1.1.1.11  root     2783: if test "$linux" = "yes" ; then
                   2784:   echo "CONFIG_LINUX=y" >> $config_host_mak
1.1       root     2785: fi
1.1.1.7   root     2786: 
1.1       root     2787: if test "$darwin" = "yes" ; then
1.1.1.9   root     2788:   echo "CONFIG_DARWIN=y" >> $config_host_mak
1.1       root     2789: fi
1.1.1.7   root     2790: 
                   2791: if test "$aix" = "yes" ; then
1.1.1.9   root     2792:   echo "CONFIG_AIX=y" >> $config_host_mak
1.1.1.7   root     2793: fi
                   2794: 
1.1.1.3   root     2795: if test "$solaris" = "yes" ; then
1.1.1.9   root     2796:   echo "CONFIG_SOLARIS=y" >> $config_host_mak
1.1.1.11  root     2797:   echo "CONFIG_SOLARIS_VERSION=$solarisrev" >> $config_host_mak
1.1.1.6   root     2798:   if test "$needs_libsunmath" = "yes" ; then
1.1.1.11  root     2799:     echo "CONFIG_NEEDS_LIBSUNMATH=y" >> $config_host_mak
1.1.1.6   root     2800:   fi
                   2801: fi
1.1.1.14  root     2802: if test "$haiku" = "yes" ; then
                   2803:   echo "CONFIG_HAIKU=y" >> $config_host_mak
                   2804: fi
1.1       root     2805: if test "$static" = "yes" ; then
1.1.1.9   root     2806:   echo "CONFIG_STATIC=y" >> $config_host_mak
1.1       root     2807: fi
1.1.1.3   root     2808: if test $profiler = "yes" ; then
1.1.1.11  root     2809:   echo "CONFIG_PROFILER=y" >> $config_host_mak
1.1.1.3   root     2810: fi
1.1       root     2811: if test "$slirp" = "yes" ; then
1.1.1.9   root     2812:   echo "CONFIG_SLIRP=y" >> $config_host_mak
1.1.1.16! root     2813:   echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
1.1.1.14  root     2814:   QEMU_INCLUDES="-I\$(SRC_PATH)/slirp $QEMU_INCLUDES"
1.1       root     2815: fi
1.1.1.7   root     2816: if test "$vde" = "yes" ; then
1.1.1.9   root     2817:   echo "CONFIG_VDE=y" >> $config_host_mak
1.1.1.7   root     2818: fi
                   2819: for card in $audio_card_list; do
                   2820:     def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
1.1.1.9   root     2821:     echo "$def=y" >> $config_host_mak
1.1.1.7   root     2822: done
1.1.1.11  root     2823: echo "CONFIG_AUDIO_DRIVERS=$audio_drv_list" >> $config_host_mak
1.1.1.7   root     2824: for drv in $audio_drv_list; do
                   2825:     def=CONFIG_`echo $drv | tr '[:lower:]' '[:upper:]'`
1.1.1.9   root     2826:     echo "$def=y" >> $config_host_mak
1.1.1.7   root     2827:     if test "$drv" = "fmod"; then
1.1.1.11  root     2828:         echo "FMOD_CFLAGS=-I$fmod_inc" >> $config_host_mak
1.1.1.7   root     2829:     fi
                   2830: done
1.1.1.11  root     2831: if test "$audio_pt_int" = "yes" ; then
                   2832:   echo "CONFIG_AUDIO_PT_INT=y" >> $config_host_mak
                   2833: fi
                   2834: if test "$audio_win_int" = "yes" ; then
                   2835:   echo "CONFIG_AUDIO_WIN_INT=y" >> $config_host_mak
                   2836: fi
                   2837: echo "CONFIG_BDRV_WHITELIST=$block_drv_whitelist" >> $config_host_mak
1.1.1.7   root     2838: if test "$mixemu" = "yes" ; then
1.1.1.9   root     2839:   echo "CONFIG_MIXEMU=y" >> $config_host_mak
1.1       root     2840: fi
1.1.1.16! root     2841: if test "$vnc" = "yes" ; then
        !          2842:   echo "CONFIG_VNC=y" >> $config_host_mak
        !          2843: fi
1.1.1.6   root     2844: if test "$vnc_tls" = "yes" ; then
1.1.1.9   root     2845:   echo "CONFIG_VNC_TLS=y" >> $config_host_mak
1.1.1.11  root     2846:   echo "VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_host_mak
1.1.1.9   root     2847: fi
                   2848: if test "$vnc_sasl" = "yes" ; then
                   2849:   echo "CONFIG_VNC_SASL=y" >> $config_host_mak
1.1.1.11  root     2850:   echo "VNC_SASL_CFLAGS=$vnc_sasl_cflags" >> $config_host_mak
1.1.1.9   root     2851: fi
1.1.1.16! root     2852: if test "$vnc_jpeg" = "yes" ; then
1.1.1.13  root     2853:   echo "CONFIG_VNC_JPEG=y" >> $config_host_mak
                   2854:   echo "VNC_JPEG_CFLAGS=$vnc_jpeg_cflags" >> $config_host_mak
                   2855: fi
1.1.1.16! root     2856: if test "$vnc_png" = "yes" ; then
1.1.1.13  root     2857:   echo "CONFIG_VNC_PNG=y" >> $config_host_mak
                   2858:   echo "VNC_PNG_CFLAGS=$vnc_png_cflags" >> $config_host_mak
                   2859: fi
1.1.1.16! root     2860: if test "$vnc_thread" = "yes" ; then
1.1.1.13  root     2861:   echo "CONFIG_VNC_THREAD=y" >> $config_host_mak
                   2862: fi
1.1.1.9   root     2863: if test "$fnmatch" = "yes" ; then
1.1.1.11  root     2864:   echo "CONFIG_FNMATCH=y" >> $config_host_mak
                   2865: fi
                   2866: if test "$uuid" = "yes" ; then
                   2867:   echo "CONFIG_UUID=y" >> $config_host_mak
1.1.1.6   root     2868: fi
1.1.1.14  root     2869: if test "$xfs" = "yes" ; then
                   2870:   echo "CONFIG_XFS=y" >> $config_host_mak
                   2871: fi
1.1.1.3   root     2872: qemu_version=`head $source_path/VERSION`
1.1.1.9   root     2873: echo "VERSION=$qemu_version" >>$config_host_mak
1.1.1.11  root     2874: echo "PKGVERSION=$pkgversion" >>$config_host_mak
1.1.1.9   root     2875: echo "SRC_PATH=$source_path" >> $config_host_mak
                   2876: echo "TARGET_DIRS=$target_list" >> $config_host_mak
1.1.1.11  root     2877: if [ "$docs" = "yes" ] ; then
1.1.1.9   root     2878:   echo "BUILD_DOCS=yes" >> $config_host_mak
1.1.1.3   root     2879: fi
1.1.1.11  root     2880: if test "$sdl" = "yes" ; then
1.1.1.9   root     2881:   echo "CONFIG_SDL=y" >> $config_host_mak
1.1.1.11  root     2882:   echo "SDL_CFLAGS=$sdl_cflags" >> $config_host_mak
1.1.1.6   root     2883: fi
                   2884: if test "$cocoa" = "yes" ; then
1.1.1.9   root     2885:   echo "CONFIG_COCOA=y" >> $config_host_mak
1.1.1.7   root     2886: fi
                   2887: if test "$curses" = "yes" ; then
1.1.1.9   root     2888:   echo "CONFIG_CURSES=y" >> $config_host_mak
                   2889: fi
                   2890: if test "$atfile" = "yes" ; then
1.1.1.11  root     2891:   echo "CONFIG_ATFILE=y" >> $config_host_mak
1.1.1.9   root     2892: fi
                   2893: if test "$utimens" = "yes" ; then
1.1.1.11  root     2894:   echo "CONFIG_UTIMENSAT=y" >> $config_host_mak
1.1.1.9   root     2895: fi
                   2896: if test "$pipe2" = "yes" ; then
1.1.1.11  root     2897:   echo "CONFIG_PIPE2=y" >> $config_host_mak
                   2898: fi
                   2899: if test "$accept4" = "yes" ; then
                   2900:   echo "CONFIG_ACCEPT4=y" >> $config_host_mak
1.1.1.9   root     2901: fi
                   2902: if test "$splice" = "yes" ; then
1.1.1.11  root     2903:   echo "CONFIG_SPLICE=y" >> $config_host_mak
                   2904: fi
                   2905: if test "$eventfd" = "yes" ; then
                   2906:   echo "CONFIG_EVENTFD=y" >> $config_host_mak
                   2907: fi
                   2908: if test "$fallocate" = "yes" ; then
                   2909:   echo "CONFIG_FALLOCATE=y" >> $config_host_mak
                   2910: fi
1.1.1.14  root     2911: if test "$sync_file_range" = "yes" ; then
                   2912:   echo "CONFIG_SYNC_FILE_RANGE=y" >> $config_host_mak
                   2913: fi
                   2914: if test "$fiemap" = "yes" ; then
                   2915:   echo "CONFIG_FIEMAP=y" >> $config_host_mak
                   2916: fi
1.1.1.11  root     2917: if test "$dup3" = "yes" ; then
                   2918:   echo "CONFIG_DUP3=y" >> $config_host_mak
1.1.1.9   root     2919: fi
1.1.1.16! root     2920: if test "$epoll" = "yes" ; then
        !          2921:   echo "CONFIG_EPOLL=y" >> $config_host_mak
        !          2922: fi
        !          2923: if test "$epoll_create1" = "yes" ; then
        !          2924:   echo "CONFIG_EPOLL_CREATE1=y" >> $config_host_mak
        !          2925: fi
        !          2926: if test "$epoll_pwait" = "yes" ; then
        !          2927:   echo "CONFIG_EPOLL_PWAIT=y" >> $config_host_mak
        !          2928: fi
1.1.1.9   root     2929: if test "$inotify" = "yes" ; then
1.1.1.11  root     2930:   echo "CONFIG_INOTIFY=y" >> $config_host_mak
                   2931: fi
1.1.1.13  root     2932: if test "$inotify1" = "yes" ; then
                   2933:   echo "CONFIG_INOTIFY1=y" >> $config_host_mak
                   2934: fi
1.1.1.11  root     2935: if test "$byteswap_h" = "yes" ; then
                   2936:   echo "CONFIG_BYTESWAP_H=y" >> $config_host_mak
                   2937: fi
                   2938: if test "$bswap_h" = "yes" ; then
                   2939:   echo "CONFIG_MACHINE_BSWAP_H=y" >> $config_host_mak
1.1.1.9   root     2940: fi
                   2941: if test "$curl" = "yes" ; then
                   2942:   echo "CONFIG_CURL=y" >> $config_host_mak
1.1.1.11  root     2943:   echo "CURL_CFLAGS=$curl_cflags" >> $config_host_mak
1.1.1.7   root     2944: fi
                   2945: if test "$brlapi" = "yes" ; then
1.1.1.9   root     2946:   echo "CONFIG_BRLAPI=y" >> $config_host_mak
1.1.1.7   root     2947: fi
                   2948: if test "$bluez" = "yes" ; then
1.1.1.9   root     2949:   echo "CONFIG_BLUEZ=y" >> $config_host_mak
1.1.1.11  root     2950:   echo "BLUEZ_CFLAGS=$bluez_cflags" >> $config_host_mak
1.1.1.9   root     2951: fi
1.1.1.16! root     2952: echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
1.1.1.9   root     2953: if test "$xen" = "yes" ; then
1.1.1.16! root     2954:   echo "CONFIG_XEN_BACKEND=y" >> $config_host_mak
        !          2955:   echo "CONFIG_XEN_CTRL_INTERFACE_VERSION=$xen_ctrl_version" >> $config_host_mak
1.1.1.9   root     2956: fi
                   2957: if test "$io_thread" = "yes" ; then
                   2958:   echo "CONFIG_IOTHREAD=y" >> $config_host_mak
1.1.1.11  root     2959: fi
                   2960: if test "$linux_aio" = "yes" ; then
                   2961:   echo "CONFIG_LINUX_AIO=y" >> $config_host_mak
1.1.1.7   root     2962: fi
1.1.1.13  root     2963: if test "$attr" = "yes" ; then
                   2964:   echo "CONFIG_ATTR=y" >> $config_host_mak
                   2965: fi
                   2966: if test "$linux" = "yes" ; then
                   2967:   if test "$attr" = "yes" ; then
                   2968:     echo "CONFIG_VIRTFS=y" >> $config_host_mak
                   2969:   fi
                   2970: fi
1.1.1.7   root     2971: if test "$blobs" = "yes" ; then
1.1.1.9   root     2972:   echo "INSTALL_BLOBS=yes" >> $config_host_mak
1.1.1.7   root     2973: fi
                   2974: if test "$iovec" = "yes" ; then
1.1.1.11  root     2975:   echo "CONFIG_IOVEC=y" >> $config_host_mak
1.1.1.9   root     2976: fi
                   2977: if test "$preadv" = "yes" ; then
1.1.1.11  root     2978:   echo "CONFIG_PREADV=y" >> $config_host_mak
1.1.1.7   root     2979: fi
                   2980: if test "$fdt" = "yes" ; then
1.1.1.11  root     2981:   echo "CONFIG_FDT=y" >> $config_host_mak
                   2982: fi
1.1.1.14  root     2983: if test "$signalfd" = "yes" ; then
                   2984:   echo "CONFIG_SIGNALFD=y" >> $config_host_mak
                   2985: fi
1.1.1.11  root     2986: if test "$need_offsetof" = "yes" ; then
                   2987:   echo "CONFIG_NEED_OFFSETOF=y" >> $config_host_mak
                   2988: fi
                   2989: if test "$gcc_attribute_warn_unused_result" = "yes" ; then
                   2990:   echo "CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT=y" >> $config_host_mak
                   2991: fi
                   2992: if test "$fdatasync" = "yes" ; then
                   2993:   echo "CONFIG_FDATASYNC=y" >> $config_host_mak
1.1.1.6   root     2994: fi
1.1.1.14  root     2995: if test "$madvise" = "yes" ; then
                   2996:   echo "CONFIG_MADVISE=y" >> $config_host_mak
                   2997: fi
                   2998: if test "$posix_madvise" = "yes" ; then
                   2999:   echo "CONFIG_POSIX_MADVISE=y" >> $config_host_mak
                   3000: fi
                   3001: 
                   3002: if test "$spice" = "yes" ; then
                   3003:   echo "CONFIG_SPICE=y" >> $config_host_mak
                   3004: fi
1.1       root     3005: 
1.1.1.16! root     3006: if test "$smartcard" = "yes" ; then
        !          3007:   echo "CONFIG_SMARTCARD=y" >> $config_host_mak
        !          3008: fi
        !          3009: 
        !          3010: if test "$smartcard_nss" = "yes" ; then
        !          3011:   echo "CONFIG_SMARTCARD_NSS=y" >> $config_host_mak
        !          3012: fi
        !          3013: 
        !          3014: if test "$usb_redir" = "yes" ; then
        !          3015:   echo "CONFIG_USB_REDIR=y" >> $config_host_mak
        !          3016: fi
        !          3017: 
        !          3018: if test "$opengl" = "yes" ; then
        !          3019:   echo "CONFIG_OPENGL=y" >> $config_host_mak
        !          3020: fi
        !          3021: 
1.1       root     3022: # XXX: suppress that
                   3023: if [ "$bsd" = "yes" ] ; then
1.1.1.11  root     3024:   echo "CONFIG_BSD=y" >> $config_host_mak
1.1       root     3025: fi
                   3026: 
1.1.1.11  root     3027: echo "CONFIG_UNAME_RELEASE=\"$uname_release\"" >> $config_host_mak
                   3028: 
                   3029: if test "$zero_malloc" = "yes" ; then
                   3030:   echo "CONFIG_ZERO_MALLOC=y" >> $config_host_mak
                   3031: fi
1.1.1.14  root     3032: if test "$rbd" = "yes" ; then
                   3033:   echo "CONFIG_RBD=y" >> $config_host_mak
                   3034: fi
1.1.1.4   root     3035: 
1.1.1.7   root     3036: # USB host support
                   3037: case "$usb" in
                   3038: linux)
1.1.1.9   root     3039:   echo "HOST_USB=linux" >> $config_host_mak
1.1.1.7   root     3040: ;;
                   3041: bsd)
1.1.1.9   root     3042:   echo "HOST_USB=bsd" >> $config_host_mak
1.1.1.7   root     3043: ;;
                   3044: *)
1.1.1.9   root     3045:   echo "HOST_USB=stub" >> $config_host_mak
1.1.1.7   root     3046: ;;
                   3047: esac
                   3048: 
1.1.1.14  root     3049: echo "TRACE_BACKEND=$trace_backend" >> $config_host_mak
                   3050: if test "$trace_backend" = "simple"; then
                   3051:   echo "CONFIG_SIMPLE_TRACE=y" >> $config_host_mak
                   3052: fi
                   3053: # Set the appropriate trace file.
                   3054: if test "$trace_backend" = "simple"; then
1.1.1.16! root     3055:   trace_file="\"$trace_file-\" FMT_pid"
1.1.1.14  root     3056: fi
                   3057: if test "$trace_backend" = "dtrace" -a "$trace_backend_stap" = "yes" ; then
                   3058:   echo "CONFIG_SYSTEMTAP_TRACE=y" >> $config_host_mak
                   3059: fi
                   3060: echo "CONFIG_TRACE_FILE=$trace_file" >> $config_host_mak
                   3061: 
1.1.1.9   root     3062: echo "TOOLS=$tools" >> $config_host_mak
                   3063: echo "ROMS=$roms" >> $config_host_mak
1.1.1.11  root     3064: echo "MAKE=$make" >> $config_host_mak
                   3065: echo "INSTALL=$install" >> $config_host_mak
1.1.1.16! root     3066: echo "INSTALL_DIR=$install -d -m 0755" >> $config_host_mak
        !          3067: echo "INSTALL_DATA=$install -c -m 0644" >> $config_host_mak
        !          3068: echo "INSTALL_PROG=$install -c -m 0755" >> $config_host_mak
        !          3069: echo "PYTHON=$python" >> $config_host_mak
1.1.1.11  root     3070: echo "CC=$cc" >> $config_host_mak
1.1.1.14  root     3071: echo "CC_I386=$cc_i386" >> $config_host_mak
1.1.1.11  root     3072: echo "HOST_CC=$host_cc" >> $config_host_mak
                   3073: echo "AR=$ar" >> $config_host_mak
                   3074: echo "OBJCOPY=$objcopy" >> $config_host_mak
                   3075: echo "LD=$ld" >> $config_host_mak
1.1.1.14  root     3076: echo "WINDRES=$windres" >> $config_host_mak
1.1.1.16! root     3077: echo "LIBTOOL=$libtool" >> $config_host_mak
1.1.1.11  root     3078: echo "CFLAGS=$CFLAGS" >> $config_host_mak
                   3079: echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak
1.1.1.14  root     3080: echo "QEMU_INCLUDES=$QEMU_INCLUDES" >> $config_host_mak
                   3081: if test "$sparse" = "yes" ; then
                   3082:   echo "CC           := REAL_CC=\"\$(CC)\" cgcc"       >> $config_host_mak
                   3083:   echo "HOST_CC      := REAL_CC=\"\$(HOST_CC)\" cgcc"  >> $config_host_mak
                   3084:   echo "QEMU_CFLAGS  += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_host_mak
                   3085: fi
1.1.1.11  root     3086: echo "HELPER_CFLAGS=$helper_cflags" >> $config_host_mak
                   3087: echo "LDFLAGS=$LDFLAGS" >> $config_host_mak
                   3088: echo "ARLIBS_BEGIN=$arlibs_begin" >> $config_host_mak
                   3089: echo "ARLIBS_END=$arlibs_end" >> $config_host_mak
                   3090: echo "LIBS+=$LIBS" >> $config_host_mak
                   3091: echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
                   3092: echo "EXESUF=$EXESUF" >> $config_host_mak
                   3093: 
                   3094: # generate list of library paths for linker script
                   3095: 
                   3096: $ld --verbose -v 2> /dev/null | grep SEARCH_DIR > ${config_host_ld}
                   3097: 
                   3098: if test -f ${config_host_ld}~ ; then
                   3099:   if cmp -s $config_host_ld ${config_host_ld}~ ; then
                   3100:     mv ${config_host_ld}~ $config_host_ld
1.1.1.9   root     3101:   else
1.1.1.11  root     3102:     rm ${config_host_ld}~
1.1.1.9   root     3103:   fi
                   3104: fi
1.1.1.6   root     3105: 
1.1.1.13  root     3106: for d in libdis libdis-user; do
                   3107:     mkdir -p $d
1.1.1.14  root     3108:     symlink $source_path/Makefile.dis $d/Makefile
1.1.1.13  root     3109:     echo > $d/config.mak
                   3110: done
                   3111: if test "$static" = "no" -a "$user_pie" = "yes" ; then
                   3112:   echo "QEMU_CFLAGS+=-fpie" > libdis-user/config.mak
                   3113: fi
                   3114: 
1.1.1.2   root     3115: for target in $target_list; do
1.1       root     3116: target_dir="$target"
1.1.1.11  root     3117: config_target_mak=$target_dir/config-target.mak
1.1.1.9   root     3118: target_arch2=`echo $target | cut -d '-' -f 1`
1.1       root     3119: target_bigendian="no"
1.1.1.11  root     3120: 
1.1.1.9   root     3121: case "$target_arch2" in
1.1.1.16! root     3122:   armeb|lm32|m68k|microblaze|mips|mipsn32|mips64|ppc|ppcemb|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus)
1.1.1.9   root     3123:   target_bigendian=yes
                   3124:   ;;
                   3125: esac
1.1       root     3126: target_softmmu="no"
                   3127: target_user_only="no"
1.1.1.5   root     3128: target_linux_user="no"
                   3129: target_darwin_user="no"
1.1.1.7   root     3130: target_bsd_user="no"
1.1.1.6   root     3131: case "$target" in
1.1.1.9   root     3132:   ${target_arch2}-softmmu)
1.1.1.6   root     3133:     target_softmmu="yes"
                   3134:     ;;
1.1.1.9   root     3135:   ${target_arch2}-linux-user)
1.1.1.11  root     3136:     if test "$linux" != "yes" ; then
                   3137:       echo "ERROR: Target '$target' is only available on a Linux host"
                   3138:       exit 1
                   3139:     fi
1.1.1.6   root     3140:     target_user_only="yes"
                   3141:     target_linux_user="yes"
                   3142:     ;;
1.1.1.9   root     3143:   ${target_arch2}-darwin-user)
1.1.1.11  root     3144:     if test "$darwin" != "yes" ; then
                   3145:       echo "ERROR: Target '$target' is only available on a Darwin host"
                   3146:       exit 1
                   3147:     fi
1.1.1.6   root     3148:     target_user_only="yes"
                   3149:     target_darwin_user="yes"
                   3150:     ;;
1.1.1.9   root     3151:   ${target_arch2}-bsd-user)
1.1.1.11  root     3152:     if test "$bsd" != "yes" ; then
                   3153:       echo "ERROR: Target '$target' is only available on a BSD host"
                   3154:       exit 1
                   3155:     fi
1.1.1.7   root     3156:     target_user_only="yes"
                   3157:     target_bsd_user="yes"
                   3158:     ;;
1.1.1.6   root     3159:   *)
                   3160:     echo "ERROR: Target '$target' not recognised"
                   3161:     exit 1
                   3162:     ;;
                   3163: esac
1.1.1.5   root     3164: 
1.1       root     3165: mkdir -p $target_dir
                   3166: mkdir -p $target_dir/fpu
1.1.1.7   root     3167: mkdir -p $target_dir/tcg
1.1.1.11  root     3168: mkdir -p $target_dir/ide
1.1.1.16! root     3169: mkdir -p $target_dir/9pfs
1.1.1.7   root     3170: if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
1.1       root     3171:   mkdir -p $target_dir/nwfpe
                   3172: fi
1.1.1.14  root     3173: symlink $source_path/Makefile.target $target_dir/Makefile
1.1.1.3   root     3174: 
1.1       root     3175: 
1.1.1.11  root     3176: echo "# Automatically generated by configure - do not modify" > $config_target_mak
1.1       root     3177: 
1.1.1.4   root     3178: bflt="no"
1.1.1.7   root     3179: target_nptl="no"
1.1.1.9   root     3180: interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
1.1.1.13  root     3181: echo "CONFIG_QEMU_INTERP_PREFIX=\"$interp_prefix1\"" >> $config_target_mak
1.1.1.7   root     3182: gdb_xml_files=""
1.1.1.16! root     3183: target_short_alignment=2
        !          3184: target_int_alignment=4
        !          3185: target_long_alignment=4
        !          3186: target_llong_alignment=8
        !          3187: target_libs_softmmu=
1.1       root     3188: 
1.1.1.9   root     3189: TARGET_ARCH="$target_arch2"
                   3190: TARGET_BASE_ARCH=""
                   3191: TARGET_ABI_DIR=""
1.1.1.7   root     3192: 
1.1.1.9   root     3193: case "$target_arch2" in
1.1.1.7   root     3194:   i386)
1.1.1.16! root     3195:     target_phys_bits=64
1.1.1.7   root     3196:   ;;
                   3197:   x86_64)
1.1.1.9   root     3198:     TARGET_BASE_ARCH=i386
                   3199:     target_phys_bits=64
1.1.1.16! root     3200:     target_long_alignment=8
1.1.1.7   root     3201:   ;;
                   3202:   alpha)
1.1.1.9   root     3203:     target_phys_bits=64
1.1.1.16! root     3204:     target_long_alignment=8
1.1.1.13  root     3205:     target_nptl="yes"
1.1.1.7   root     3206:   ;;
                   3207:   arm|armeb)
1.1.1.9   root     3208:     TARGET_ARCH=arm
1.1.1.7   root     3209:     bflt="yes"
                   3210:     target_nptl="yes"
                   3211:     gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
1.1.1.9   root     3212:     target_phys_bits=32
1.1.1.16! root     3213:     target_llong_alignment=4
1.1.1.7   root     3214:   ;;
                   3215:   cris)
                   3216:     target_nptl="yes"
1.1.1.9   root     3217:     target_phys_bits=32
1.1.1.7   root     3218:   ;;
1.1.1.16! root     3219:   lm32)
        !          3220:     target_phys_bits=32
        !          3221:     target_libs_softmmu="$opengl_libs"
        !          3222:   ;;
1.1.1.7   root     3223:   m68k)
                   3224:     bflt="yes"
                   3225:     gdb_xml_files="cf-core.xml cf-fp.xml"
1.1.1.9   root     3226:     target_phys_bits=32
1.1.1.16! root     3227:     target_int_alignment=2
        !          3228:     target_long_alignment=2
        !          3229:     target_llong_alignment=2
1.1.1.9   root     3230:   ;;
1.1.1.16! root     3231:   microblaze|microblazeel)
        !          3232:     TARGET_ARCH=microblaze
1.1.1.9   root     3233:     bflt="yes"
                   3234:     target_nptl="yes"
                   3235:     target_phys_bits=32
1.1.1.16! root     3236:     target_libs_softmmu="$fdt_libs"
1.1.1.7   root     3237:   ;;
                   3238:   mips|mipsel)
1.1.1.9   root     3239:     TARGET_ARCH=mips
1.1.1.11  root     3240:     echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak
1.1.1.9   root     3241:     target_nptl="yes"
                   3242:     target_phys_bits=64
1.1.1.7   root     3243:   ;;
                   3244:   mipsn32|mipsn32el)
1.1.1.9   root     3245:     TARGET_ARCH=mipsn32
                   3246:     TARGET_BASE_ARCH=mips
1.1.1.11  root     3247:     echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak
1.1.1.9   root     3248:     target_phys_bits=64
1.1.1.7   root     3249:   ;;
                   3250:   mips64|mips64el)
1.1.1.9   root     3251:     TARGET_ARCH=mips64
                   3252:     TARGET_BASE_ARCH=mips
1.1.1.11  root     3253:     echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
1.1.1.9   root     3254:     target_phys_bits=64
1.1.1.16! root     3255:     target_long_alignment=8
1.1.1.7   root     3256:   ;;
                   3257:   ppc)
                   3258:     gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
1.1.1.9   root     3259:     target_phys_bits=32
1.1.1.11  root     3260:     target_nptl="yes"
1.1.1.16! root     3261:     target_libs_softmmu="$fdt_libs"
1.1.1.7   root     3262:   ;;
                   3263:   ppcemb)
1.1.1.9   root     3264:     TARGET_BASE_ARCH=ppc
                   3265:     TARGET_ABI_DIR=ppc
1.1.1.7   root     3266:     gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
1.1.1.9   root     3267:     target_phys_bits=64
1.1.1.11  root     3268:     target_nptl="yes"
1.1.1.16! root     3269:     target_libs_softmmu="$fdt_libs"
1.1.1.7   root     3270:   ;;
                   3271:   ppc64)
1.1.1.9   root     3272:     TARGET_BASE_ARCH=ppc
                   3273:     TARGET_ABI_DIR=ppc
1.1.1.7   root     3274:     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
1.1.1.9   root     3275:     target_phys_bits=64
1.1.1.16! root     3276:     target_long_alignment=8
        !          3277:     target_libs_softmmu="$fdt_libs"
1.1.1.7   root     3278:   ;;
                   3279:   ppc64abi32)
1.1.1.9   root     3280:     TARGET_ARCH=ppc64
                   3281:     TARGET_BASE_ARCH=ppc
                   3282:     TARGET_ABI_DIR=ppc
1.1.1.11  root     3283:     echo "TARGET_ABI32=y" >> $config_target_mak
1.1.1.7   root     3284:     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
1.1.1.9   root     3285:     target_phys_bits=64
1.1.1.16! root     3286:     target_libs_softmmu="$fdt_libs"
1.1.1.7   root     3287:   ;;
                   3288:   sh4|sh4eb)
1.1.1.9   root     3289:     TARGET_ARCH=sh4
1.1.1.7   root     3290:     bflt="yes"
                   3291:     target_nptl="yes"
1.1.1.9   root     3292:     target_phys_bits=32
1.1.1.7   root     3293:   ;;
                   3294:   sparc)
1.1.1.9   root     3295:     target_phys_bits=64
1.1.1.7   root     3296:   ;;
                   3297:   sparc64)
1.1.1.9   root     3298:     TARGET_BASE_ARCH=sparc
                   3299:     target_phys_bits=64
1.1.1.16! root     3300:     target_long_alignment=8
1.1.1.7   root     3301:   ;;
                   3302:   sparc32plus)
1.1.1.9   root     3303:     TARGET_ARCH=sparc64
                   3304:     TARGET_BASE_ARCH=sparc
                   3305:     TARGET_ABI_DIR=sparc
1.1.1.11  root     3306:     echo "TARGET_ABI32=y" >> $config_target_mak
                   3307:     target_phys_bits=64
                   3308:   ;;
                   3309:   s390x)
1.1.1.16! root     3310:     target_nptl="yes"
1.1.1.9   root     3311:     target_phys_bits=64
1.1.1.16! root     3312:     target_long_alignment=8
        !          3313:   ;;
        !          3314:   unicore32)
        !          3315:     target_phys_bits=32
1.1.1.7   root     3316:   ;;
                   3317:   *)
                   3318:     echo "Unsupported target CPU"
                   3319:     exit 1
                   3320:   ;;
                   3321: esac
1.1.1.16! root     3322: echo "TARGET_SHORT_ALIGNMENT=$target_short_alignment" >> $config_target_mak
        !          3323: echo "TARGET_INT_ALIGNMENT=$target_int_alignment" >> $config_target_mak
        !          3324: echo "TARGET_LONG_ALIGNMENT=$target_long_alignment" >> $config_target_mak
        !          3325: echo "TARGET_LLONG_ALIGNMENT=$target_llong_alignment" >> $config_target_mak
1.1.1.11  root     3326: echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
                   3327: target_arch_name="`echo $TARGET_ARCH | tr '[:lower:]' '[:upper:]'`"
                   3328: echo "TARGET_$target_arch_name=y" >> $config_target_mak
                   3329: echo "TARGET_ARCH2=$target_arch2" >> $config_target_mak
1.1.1.9   root     3330: # TARGET_BASE_ARCH needs to be defined after TARGET_ARCH
                   3331: if [ "$TARGET_BASE_ARCH" = "" ]; then
                   3332:   TARGET_BASE_ARCH=$TARGET_ARCH
                   3333: fi
1.1.1.11  root     3334: echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_target_mak
1.1.1.9   root     3335: if [ "$TARGET_ABI_DIR" = "" ]; then
                   3336:   TARGET_ABI_DIR=$TARGET_ARCH
                   3337: fi
1.1.1.11  root     3338: echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
1.1.1.9   root     3339: case "$target_arch2" in
                   3340:   i386|x86_64)
                   3341:     if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then
1.1.1.16! root     3342:       target_phys_bits=64
1.1.1.11  root     3343:       echo "CONFIG_XEN=y" >> $config_target_mak
1.1.1.16! root     3344:       if test "$cpu" = "i386" -o "$cpu" = "x86_64"; then
        !          3345:           echo "CONFIG_XEN_MAPCACHE=y" >> $config_target_mak
        !          3346:       fi
1.1.1.9   root     3347:     fi
                   3348: esac
                   3349: case "$target_arch2" in
1.1.1.11  root     3350:   i386|x86_64|ppcemb|ppc|ppc64|s390x)
1.1.1.9   root     3351:     # Make sure the target and host cpus are compatible
                   3352:     if test "$kvm" = "yes" -a "$target_softmmu" = "yes" -a \
                   3353:       \( "$target_arch2" = "$cpu" -o \
                   3354:       \( "$target_arch2" = "ppcemb" -a "$cpu" = "ppc" \) -o \
1.1.1.11  root     3355:       \( "$target_arch2" = "ppc64"  -a "$cpu" = "ppc" \) -o \
1.1.1.16! root     3356:       \( "$target_arch2" = "ppc"    -a "$cpu" = "ppc64" \) -o \
        !          3357:       \( "$target_arch2" = "ppcemb" -a "$cpu" = "ppc64" \) -o \
1.1.1.9   root     3358:       \( "$target_arch2" = "x86_64" -a "$cpu" = "i386"   \) -o \
                   3359:       \( "$target_arch2" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
1.1.1.11  root     3360:       echo "CONFIG_KVM=y" >> $config_target_mak
1.1.1.13  root     3361:       if test $vhost_net = "yes" ; then
                   3362:         echo "CONFIG_VHOST_NET=y" >> $config_target_mak
                   3363:       fi
1.1.1.9   root     3364:     fi
                   3365: esac
1.1       root     3366: if test "$target_bigendian" = "yes" ; then
1.1.1.11  root     3367:   echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak
1.1       root     3368: fi
                   3369: if test "$target_softmmu" = "yes" ; then
1.1.1.13  root     3370:   echo "TARGET_PHYS_ADDR_BITS=$target_phys_bits" >> $config_target_mak
1.1.1.11  root     3371:   echo "CONFIG_SOFTMMU=y" >> $config_target_mak
1.1.1.16! root     3372:   echo "LIBS+=$libs_softmmu $target_libs_softmmu" >> $config_target_mak
1.1.1.13  root     3373:   echo "HWDIR=../libhw$target_phys_bits" >> $config_target_mak
1.1.1.11  root     3374:   echo "subdir-$target: subdir-libhw$target_phys_bits" >> $config_host_mak
1.1       root     3375: fi
                   3376: if test "$target_user_only" = "yes" ; then
1.1.1.11  root     3377:   echo "CONFIG_USER_ONLY=y" >> $config_target_mak
1.1       root     3378: fi
1.1.1.5   root     3379: if test "$target_linux_user" = "yes" ; then
1.1.1.11  root     3380:   echo "CONFIG_LINUX_USER=y" >> $config_target_mak
1.1.1.5   root     3381: fi
                   3382: if test "$target_darwin_user" = "yes" ; then
1.1.1.11  root     3383:   echo "CONFIG_DARWIN_USER=y" >> $config_target_mak
1.1.1.5   root     3384: fi
1.1.1.16! root     3385: if test "$smartcard_nss" = "yes" ; then
        !          3386:   echo "subdir-$target: subdir-libcacard" >> $config_host_mak
        !          3387:   echo "libcacard_libs=$libcacard_libs" >> $config_host_mak
        !          3388:   echo "libcacard_cflags=$libcacard_cflags" >> $config_host_mak
        !          3389: fi
1.1.1.7   root     3390: list=""
                   3391: if test ! -z "$gdb_xml_files" ; then
                   3392:   for x in $gdb_xml_files; do
                   3393:     list="$list $source_path/gdb-xml/$x"
                   3394:   done
1.1.1.11  root     3395:   echo "TARGET_XML_FILES=$list" >> $config_target_mak
1.1.1.7   root     3396: fi
                   3397: 
1.1.1.4   root     3398: if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1.1.1.11  root     3399:   echo "TARGET_HAS_BFLT=y" >> $config_target_mak
1.1.1.4   root     3400: fi
1.1.1.7   root     3401: if test "$target_user_only" = "yes" \
                   3402:         -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1.1.1.11  root     3403:   echo "CONFIG_USE_NPTL=y" >> $config_target_mak
1.1.1.7   root     3404: fi
1.1.1.11  root     3405: if test "$target_user_only" = "yes" -a "$guest_base" = "yes"; then
                   3406:   echo "CONFIG_USE_GUEST_BASE=y" >> $config_target_mak
1.1       root     3407: fi
1.1.1.7   root     3408: if test "$target_bsd_user" = "yes" ; then
1.1.1.11  root     3409:   echo "CONFIG_BSD_USER=y" >> $config_target_mak
                   3410: fi
                   3411: 
                   3412: # generate QEMU_CFLAGS/LDFLAGS for targets
                   3413: 
                   3414: cflags=""
1.1.1.14  root     3415: includes=""
1.1.1.11  root     3416: ldflags=""
                   3417: 
                   3418: if test "$ARCH" = "sparc64" ; then
1.1.1.14  root     3419:   includes="-I\$(SRC_PATH)/tcg/sparc $includes"
1.1.1.11  root     3420: elif test "$ARCH" = "s390x" ; then
1.1.1.14  root     3421:   includes="-I\$(SRC_PATH)/tcg/s390 $includes"
1.1.1.13  root     3422: elif test "$ARCH" = "x86_64" ; then
1.1.1.14  root     3423:   includes="-I\$(SRC_PATH)/tcg/i386 $includes"
1.1.1.11  root     3424: else
1.1.1.14  root     3425:   includes="-I\$(SRC_PATH)/tcg/\$(ARCH) $includes"
1.1.1.11  root     3426: fi
1.1.1.14  root     3427: includes="-I\$(SRC_PATH)/tcg $includes"
                   3428: includes="-I\$(SRC_PATH)/fpu $includes"
1.1.1.11  root     3429: 
1.1.1.13  root     3430: if test "$target_user_only" = "yes" ; then
                   3431:     libdis_config_mak=libdis-user/config.mak
                   3432: else
                   3433:     libdis_config_mak=libdis/config.mak
                   3434: fi
                   3435: 
1.1.1.11  root     3436: for i in $ARCH $TARGET_BASE_ARCH ; do
                   3437:   case "$i" in
                   3438:   alpha)
                   3439:     echo "CONFIG_ALPHA_DIS=y"  >> $config_target_mak
1.1.1.13  root     3440:     echo "CONFIG_ALPHA_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3441:   ;;
                   3442:   arm)
                   3443:     echo "CONFIG_ARM_DIS=y"  >> $config_target_mak
1.1.1.13  root     3444:     echo "CONFIG_ARM_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3445:   ;;
                   3446:   cris)
                   3447:     echo "CONFIG_CRIS_DIS=y"  >> $config_target_mak
1.1.1.13  root     3448:     echo "CONFIG_CRIS_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3449:   ;;
                   3450:   hppa)
                   3451:     echo "CONFIG_HPPA_DIS=y"  >> $config_target_mak
1.1.1.13  root     3452:     echo "CONFIG_HPPA_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3453:   ;;
                   3454:   i386|x86_64)
                   3455:     echo "CONFIG_I386_DIS=y"  >> $config_target_mak
1.1.1.13  root     3456:     echo "CONFIG_I386_DIS=y"  >> $libdis_config_mak
                   3457:   ;;
                   3458:   ia64*)
                   3459:     echo "CONFIG_IA64_DIS=y"  >> $config_target_mak
                   3460:     echo "CONFIG_IA64_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3461:   ;;
                   3462:   m68k)
                   3463:     echo "CONFIG_M68K_DIS=y"  >> $config_target_mak
1.1.1.13  root     3464:     echo "CONFIG_M68K_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3465:   ;;
1.1.1.16! root     3466:   microblaze*)
1.1.1.11  root     3467:     echo "CONFIG_MICROBLAZE_DIS=y"  >> $config_target_mak
1.1.1.13  root     3468:     echo "CONFIG_MICROBLAZE_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3469:   ;;
                   3470:   mips*)
                   3471:     echo "CONFIG_MIPS_DIS=y"  >> $config_target_mak
1.1.1.13  root     3472:     echo "CONFIG_MIPS_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3473:   ;;
                   3474:   ppc*)
                   3475:     echo "CONFIG_PPC_DIS=y"  >> $config_target_mak
1.1.1.13  root     3476:     echo "CONFIG_PPC_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3477:   ;;
                   3478:   s390*)
                   3479:     echo "CONFIG_S390_DIS=y"  >> $config_target_mak
1.1.1.13  root     3480:     echo "CONFIG_S390_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3481:   ;;
                   3482:   sh4)
                   3483:     echo "CONFIG_SH4_DIS=y"  >> $config_target_mak
1.1.1.13  root     3484:     echo "CONFIG_SH4_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3485:   ;;
                   3486:   sparc*)
                   3487:     echo "CONFIG_SPARC_DIS=y"  >> $config_target_mak
1.1.1.13  root     3488:     echo "CONFIG_SPARC_DIS=y"  >> $libdis_config_mak
1.1.1.11  root     3489:   ;;
                   3490:   esac
                   3491: done
                   3492: 
                   3493: case "$ARCH" in
                   3494: alpha)
                   3495:   # Ensure there's only a single GP
                   3496:   cflags="-msmall-data $cflags"
                   3497: ;;
                   3498: esac
                   3499: 
                   3500: if test "$target_softmmu" = "yes" ; then
                   3501:   case "$TARGET_BASE_ARCH" in
                   3502:   arm)
                   3503:     cflags="-DHAS_AUDIO $cflags"
                   3504:   ;;
1.1.1.16! root     3505:   lm32)
        !          3506:     cflags="-DHAS_AUDIO $cflags"
        !          3507:   ;;
1.1.1.11  root     3508:   i386|mips|ppc)
                   3509:     cflags="-DHAS_AUDIO -DHAS_AUDIO_CHOICE $cflags"
                   3510:   ;;
                   3511:   esac
1.1.1.7   root     3512: fi
1.1       root     3513: 
1.1.1.11  root     3514: if test "$target_user_only" = "yes" -a "$static" = "no" -a \
                   3515:        "$user_pie" = "yes" ; then
                   3516:   cflags="-fpie $cflags"
                   3517:   ldflags="-pie $ldflags"
                   3518: fi
1.1.1.9   root     3519: 
1.1.1.11  root     3520: if test "$target_softmmu" = "yes" -a \( \
                   3521:         "$TARGET_ARCH" = "microblaze" -o \
                   3522:         "$TARGET_ARCH" = "cris" \) ; then
                   3523:   echo "CONFIG_NEED_MMU=y" >> $config_target_mak
                   3524: fi
                   3525: 
                   3526: if test "$gprof" = "yes" ; then
                   3527:   echo "TARGET_GPROF=yes" >> $config_target_mak
                   3528:   if test "$target_linux_user" = "yes" ; then
                   3529:     cflags="-p $cflags"
                   3530:     ldflags="-p $ldflags"
                   3531:   fi
                   3532:   if test "$target_softmmu" = "yes" ; then
                   3533:     ldflags="-p $ldflags"
                   3534:     echo "GPROF_CFLAGS=-p" >> $config_target_mak
                   3535:   fi
                   3536: fi
                   3537: 
                   3538: linker_script="-Wl,-T../config-host.ld -Wl,-T,\$(SRC_PATH)/\$(ARCH).ld"
                   3539: if test "$target_linux_user" = "yes" -o "$target_bsd_user" = "yes" ; then
                   3540:   case "$ARCH" in
                   3541:   sparc)
                   3542:     # -static is used to avoid g1/g3 usage by the dynamic linker
                   3543:     ldflags="$linker_script -static $ldflags"
                   3544:     ;;
1.1.1.13  root     3545:   alpha | s390x)
                   3546:     # The default placement of the application is fine.
1.1.1.11  root     3547:     ;;
1.1.1.13  root     3548:   *)
1.1.1.11  root     3549:     ldflags="$linker_script $ldflags"
                   3550:     ;;
                   3551:   esac
                   3552: fi
                   3553: 
1.1.1.16! root     3554: # use included Linux headers
        !          3555: if test "$linux" = "yes" ; then
        !          3556:   includes="-I\$(SRC_PATH)/linux-headers $includes"
        !          3557:   mkdir -p linux-headers
        !          3558:   case "$cpu" in
        !          3559:   i386|x86_64)
        !          3560:     symlink $source_path/linux-headers/asm-x86 linux-headers/asm
        !          3561:     ;;
        !          3562:   ppcemb|ppc|ppc64)
        !          3563:     symlink $source_path/linux-headers/asm-powerpc linux-headers/asm
        !          3564:     ;;
        !          3565:   s390x)
        !          3566:     symlink $source_path/linux-headers/asm-s390 linux-headers/asm
        !          3567:     ;;
        !          3568:   esac
        !          3569: fi
        !          3570: 
1.1.1.11  root     3571: echo "LDFLAGS+=$ldflags" >> $config_target_mak
                   3572: echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak
1.1.1.14  root     3573: echo "QEMU_INCLUDES+=$includes" >> $config_target_mak
1.1       root     3574: 
                   3575: done # for target in $targets
                   3576: 
1.1.1.14  root     3577: # build tree in object directory in case the source is not in the current directory
                   3578: DIRS="tests tests/cris slirp audio block net pc-bios/optionrom"
1.1.1.16! root     3579: DIRS="$DIRS pc-bios/spapr-rtas"
1.1.1.14  root     3580: DIRS="$DIRS roms/seabios roms/vgabios"
                   3581: DIRS="$DIRS fsdev ui"
1.1.1.16! root     3582: DIRS="$DIRS qapi"
        !          3583: DIRS="$DIRS qga"
        !          3584: FILES="Makefile tests/Makefile qdict-test-data.txt"
1.1.1.14  root     3585: FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
                   3586: FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps"
1.1.1.16! root     3587: FILES="$FILES pc-bios/spapr-rtas/Makefile"
1.1.1.14  root     3588: FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile"
1.1.1.16! root     3589: for bios_file in $source_path/pc-bios/*.bin $source_path/pc-bios/*.rom $source_path/pc-bios/*.dtb $source_path/pc-bios/openbios-*; do
1.1.1.14  root     3590:     FILES="$FILES pc-bios/`basename $bios_file`"
                   3591: done
                   3592: mkdir -p $DIRS
                   3593: for f in $FILES ; do
1.1.1.16! root     3594:     if [ -e "$source_path/$f" ] && ! [ -e "$f" ]; then
        !          3595:         symlink "$source_path/$f" "$f"
        !          3596:     fi
1.1.1.14  root     3597: done
1.1.1.9   root     3598: 
1.1.1.11  root     3599: # temporary config to build submodules
                   3600: for rom in seabios vgabios ; do
                   3601:     config_mak=roms/$rom/config.mak
1.1.1.13  root     3602:     echo "# Automatically generated by configure - do not modify" > $config_mak
1.1.1.11  root     3603:     echo "SRC_PATH=$source_path/roms/$rom" >> $config_mak
                   3604:     echo "CC=$cc" >> $config_mak
                   3605:     echo "BCC=bcc" >> $config_mak
                   3606:     echo "CPP=${cross_prefix}cpp" >> $config_mak
                   3607:     echo "OBJCOPY=objcopy" >> $config_mak
                   3608:     echo "IASL=iasl" >> $config_mak
                   3609:     echo "LD=$ld" >> $config_mak
                   3610: done
                   3611: 
1.1.1.9   root     3612: for hwlib in 32 64; do
                   3613:   d=libhw$hwlib
                   3614:   mkdir -p $d
1.1.1.13  root     3615:   mkdir -p $d/ide
1.1.1.14  root     3616:   symlink $source_path/Makefile.hw $d/Makefile
1.1.1.16! root     3617:   mkdir -p $d/9pfs
1.1.1.13  root     3618:   echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" > $d/config.mak
1.1.1.9   root     3619: done
1.1.1.11  root     3620: 
1.1.1.16! root     3621: if [ "$source_path" != `pwd` ]; then
        !          3622:     # out of tree build
        !          3623:     mkdir -p libcacard
        !          3624:     rm -f libcacard/Makefile
        !          3625:     symlink "$source_path/libcacard/Makefile" libcacard/Makefile
        !          3626: fi
        !          3627: 
1.1.1.11  root     3628: d=libuser
                   3629: mkdir -p $d
1.1.1.14  root     3630: symlink $source_path/Makefile.user $d/Makefile
1.1.1.12  root     3631: if test "$static" = "no" -a "$user_pie" = "yes" ; then
                   3632:   echo "QEMU_CFLAGS+=-fpie" > $d/config.mak
                   3633: fi
1.1.1.13  root     3634: 
                   3635: if test "$docs" = "yes" ; then
                   3636:   mkdir -p QMP
                   3637: fi

unix.superglobalmegacorp.com