Annotation of qemu/configure, revision 1.1.1.9

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"
                     16: TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
                     17: TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
1.1.1.7   root       18: TMPI="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
                     19: TMPSDLLOG="${TMPDIR1}/qemu-conf-sdl-$$-${RANDOM}.log"
                     20: 
                     21: trap "rm -f $TMPC $TMPO $TMPE $TMPS $TMPI $TMPSDLLOG; exit" 0 2 3 15
1.1       root       22: 
                     23: # default parameters
                     24: prefix=""
                     25: interp_prefix="/usr/gnemul/qemu-%M"
                     26: static="no"
                     27: cross_prefix=""
                     28: cc="gcc"
1.1.1.7   root       29: audio_drv_list=""
                     30: audio_card_list="ac97 es1370 sb16"
                     31: audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus"
1.1       root       32: host_cc="gcc"
                     33: ar="ar"
                     34: make="make"
1.1.1.3   root       35: install="install"
1.1       root       36: strip="strip"
1.1.1.9 ! root       37: objcopy="objcopy"
        !            38: ld="ld"
1.1.1.7   root       39: 
                     40: # parse CC options first
                     41: for opt do
                     42:   optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
                     43:   case "$opt" in
                     44:   --cross-prefix=*) cross_prefix="$optarg"
                     45:   ;;
                     46:   --cc=*) cc="$optarg"
                     47:   ;;
                     48:   esac
                     49: done
                     50: 
                     51: # OS specific
                     52: # Using uname is really, really broken.  Once we have the right set of checks
                     53: # we can eliminate it's usage altogether
                     54: 
                     55: cc="${cross_prefix}${cc}"
                     56: ar="${cross_prefix}${ar}"
                     57: strip="${cross_prefix}${strip}"
1.1.1.9 ! root       58: objcopy="${cross_prefix}${objcopy}"
        !            59: ld="${cross_prefix}${ld}"
1.1.1.7   root       60: 
                     61: # check that the C compiler works.
                     62: cat > $TMPC <<EOF
                     63: int main(void) {}
                     64: EOF
                     65: 
                     66: if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null ; then
                     67:   : C compiler works ok
                     68: else
                     69:     echo "ERROR: \"$cc\" either does not exist or does not work"
                     70:     exit 1
                     71: fi
                     72: 
                     73: check_define() {
                     74: cat > $TMPC <<EOF
                     75: #if !defined($1)
                     76: #error Not defined
                     77: #endif
                     78: int main(void) { return 0; }
                     79: EOF
                     80:   $cc $ARCH_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null
                     81: }
                     82: 
                     83: if check_define __i386__ ; then
                     84:   cpu="i386"
                     85: elif check_define __x86_64__ ; then
                     86:   cpu="x86_64"
                     87: elif check_define __sparc__ ; then
                     88:   # We can't check for 64 bit (when gcc is biarch) or V8PLUSA
                     89:   # They must be specified using --sparc_cpu
                     90:   if check_define __arch64__ ; then
                     91:     cpu="sparc64"
                     92:   else
                     93:     cpu="sparc"
                     94:   fi
                     95: elif check_define _ARCH_PPC ; then
                     96:   if check_define _ARCH_PPC64 ; then
                     97:     cpu="ppc64"
                     98:   else
                     99:     cpu="ppc"
                    100:   fi
                    101: else
                    102:   cpu=`uname -m`
                    103: fi
                    104: 
1.1       root      105: target_list=""
                    106: case "$cpu" in
                    107:   i386|i486|i586|i686|i86pc|BePC)
                    108:     cpu="i386"
                    109:   ;;
1.1.1.7   root      110:   x86_64|amd64)
                    111:     cpu="x86_64"
                    112:   ;;
                    113:   alpha)
                    114:     cpu="alpha"
                    115:   ;;
1.1       root      116:   armv*b)
                    117:     cpu="armv4b"
                    118:   ;;
                    119:   armv*l)
                    120:     cpu="armv4l"
                    121:   ;;
1.1.1.7   root      122:   cris)
                    123:     cpu="cris"
                    124:   ;;
                    125:   parisc|parisc64)
                    126:     cpu="hppa"
1.1       root      127:   ;;
1.1.1.7   root      128:   ia64)
                    129:     cpu="ia64"
                    130:   ;;
                    131:   m68k)
                    132:     cpu="m68k"
1.1       root      133:   ;;
1.1.1.9 ! root      134:   microblaze)
        !           135:     cpu="microblaze"
        !           136:   ;;
1.1       root      137:   mips)
                    138:     cpu="mips"
                    139:   ;;
1.1.1.6   root      140:   mips64)
                    141:     cpu="mips64"
                    142:   ;;
1.1.1.7   root      143:   ppc)
                    144:     cpu="ppc"
                    145:   ;;
                    146:   ppc64)
                    147:     cpu="ppc64"
1.1.1.6   root      148:   ;;
                    149:   s390*)
1.1       root      150:     cpu="s390"
                    151:   ;;
1.1.1.6   root      152:   sparc|sun4[cdmuv])
1.1       root      153:     cpu="sparc"
                    154:   ;;
                    155:   sparc64)
                    156:     cpu="sparc64"
                    157:   ;;
                    158:   *)
                    159:     cpu="unknown"
                    160:   ;;
                    161: esac
                    162: gprof="no"
1.1.1.9 ! root      163: debug_tcg="no"
        !           164: debug="no"
1.1.1.7   root      165: sparse="no"
1.1.1.9 ! root      166: strip_opt="yes"
1.1       root      167: bigendian="no"
                    168: mingw32="no"
                    169: EXESUF=""
                    170: slirp="yes"
1.1.1.7   root      171: vde="yes"
1.1       root      172: fmod_lib=""
                    173: fmod_inc=""
1.1.1.7   root      174: oss_lib=""
1.1.1.6   root      175: vnc_tls="yes"
1.1.1.9 ! root      176: vnc_sasl="yes"
1.1.1.3   root      177: bsd="no"
1.1       root      178: linux="no"
1.1.1.7   root      179: solaris="no"
1.1       root      180: kqemu="no"
1.1.1.3   root      181: profiler="no"
1.1       root      182: cocoa="no"
1.1.1.3   root      183: softmmu="yes"
1.1.1.5   root      184: linux_user="no"
                    185: darwin_user="no"
1.1.1.7   root      186: bsd_user="no"
1.1.1.9 ! root      187: build_docs="yes"
1.1.1.4   root      188: uname_release=""
1.1.1.7   root      189: curses="yes"
1.1.1.9 ! root      190: curl="yes"
        !           191: pthread="yes"
1.1.1.7   root      192: aio="yes"
1.1.1.9 ! root      193: io_thread="no"
1.1.1.7   root      194: nptl="yes"
                    195: mixemu="no"
                    196: bluez="yes"
1.1.1.9 ! root      197: kvm="no"
1.1.1.7   root      198: kerneldir=""
                    199: aix="no"
                    200: blobs="yes"
                    201: fdt="yes"
1.1.1.9 ! root      202: sdl="yes"
1.1.1.7   root      203: sdl_x11="no"
1.1.1.9 ! root      204: xen="yes"
        !           205: pkgversion=""
1.1       root      206: 
                    207: # OS specific
1.1.1.7   root      208: if check_define __linux__ ; then
                    209:   targetos="Linux"
                    210: elif check_define _WIN32 ; then
                    211:   targetos='MINGW32'
1.1.1.9 ! root      212: elif check_define __OpenBSD__ ; then
        !           213:   targetos='OpenBSD'
        !           214: elif check_define __sun__ ; then
        !           215:   targetos='SunOS'
1.1.1.7   root      216: else
                    217:   targetos=`uname -s`
                    218: fi
1.1       root      219: case $targetos in
                    220: CYGWIN*)
                    221: mingw32="yes"
1.1.1.5   root      222: OS_CFLAGS="-mno-cygwin"
1.1.1.6   root      223: if [ "$cpu" = "i386" ] ; then
                    224:     kqemu="yes"
                    225: fi
1.1.1.7   root      226: audio_possible_drivers="sdl"
1.1       root      227: ;;
                    228: MINGW32*)
                    229: mingw32="yes"
1.1.1.6   root      230: if [ "$cpu" = "i386" ] ; then
                    231:     kqemu="yes"
                    232: fi
1.1.1.7   root      233: audio_possible_drivers="dsound sdl fmod"
1.1.1.6   root      234: ;;
                    235: GNU/kFreeBSD)
1.1.1.7   root      236: audio_drv_list="oss"
                    237: audio_possible_drivers="oss sdl esd pa"
1.1.1.6   root      238: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
                    239:     kqemu="yes"
                    240: fi
1.1       root      241: ;;
                    242: FreeBSD)
                    243: bsd="yes"
1.1.1.7   root      244: audio_drv_list="oss"
                    245: audio_possible_drivers="oss sdl esd pa"
1.1       root      246: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
                    247:     kqemu="yes"
                    248: fi
                    249: ;;
1.1.1.9 ! root      250: DragonFly)
        !           251: bsd="yes"
        !           252: audio_drv_list="oss"
        !           253: audio_possible_drivers="oss sdl esd pa"
        !           254: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
        !           255:     kqemu="yes"
        !           256: fi
        !           257: aio="no"
        !           258: ;;
1.1       root      259: NetBSD)
                    260: bsd="yes"
1.1.1.7   root      261: audio_drv_list="oss"
                    262: audio_possible_drivers="oss sdl esd"
                    263: oss_lib="-lossaudio"
1.1       root      264: ;;
                    265: OpenBSD)
                    266: bsd="yes"
1.1.1.7   root      267: openbsd="yes"
                    268: audio_drv_list="oss"
                    269: audio_possible_drivers="oss sdl esd"
                    270: oss_lib="-lossaudio"
1.1       root      271: ;;
                    272: Darwin)
                    273: bsd="yes"
                    274: darwin="yes"
1.1.1.7   root      275: # on Leopard most of the system is 32-bit, so we have to ask the kernel it if we can run 64-bit userspace code
                    276: if [ "$cpu" = "i386" ] ; then
                    277:     is_x86_64=`sysctl -n hw.optional.x86_64`
                    278:     [ "$is_x86_64" = "1" ] && cpu=x86_64
                    279: fi
                    280: if [ "$cpu" = "x86_64" ] ; then
                    281:     OS_CFLAGS="-arch x86_64"
                    282:     LDFLAGS="-arch x86_64"
                    283: else
                    284:     OS_CFLAGS="-mdynamic-no-pic"
                    285: fi
1.1.1.5   root      286: darwin_user="yes"
                    287: cocoa="yes"
1.1.1.7   root      288: audio_drv_list="coreaudio"
                    289: audio_possible_drivers="coreaudio sdl fmod"
                    290: OS_LDFLAGS="-framework CoreFoundation -framework IOKit"
1.1       root      291: ;;
1.1.1.3   root      292: SunOS)
1.1.1.6   root      293:     solaris="yes"
                    294:     make="gmake"
                    295:     install="ginstall"
                    296:     needs_libsunmath="no"
                    297:     solarisrev=`uname -r | cut -f2 -d.`
                    298:     # have to select again, because `uname -m` returns i86pc
                    299:     # even on an x86_64 box.
                    300:     solariscpu=`isainfo -k`
                    301:     if test "${solariscpu}" = "amd64" ; then
                    302:         cpu="x86_64"
                    303:     fi
                    304:     if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
                    305:         if test "$solarisrev" -le 9 ; then
                    306:             if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
                    307:                 needs_libsunmath="yes"
                    308:             else
                    309:                 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
                    310:                 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
                    311:                 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
                    312:                 echo "Studio 11 can be downloaded from www.sun.com."
                    313:                 exit 1
                    314:             fi
                    315:         fi
                    316:         if test "$solarisrev" -ge 9 ; then
                    317:             kqemu="yes"
                    318:         fi
                    319:     fi
                    320:     if test -f /usr/include/sys/soundcard.h ; then
1.1.1.7   root      321:         audio_drv_list="oss"
1.1.1.6   root      322:     fi
1.1.1.7   root      323:     audio_possible_drivers="oss sdl"
1.1.1.9 ! root      324:     OS_CFLAGS=-std=gnu99
1.1.1.7   root      325: ;;
                    326: AIX)
                    327: aix="yes"
                    328: make="gmake"
1.1.1.3   root      329: ;;
1.1.1.2   root      330: *)
1.1.1.7   root      331: audio_drv_list="oss"
                    332: audio_possible_drivers="oss alsa sdl esd pa"
1.1       root      333: linux="yes"
1.1.1.5   root      334: linux_user="yes"
1.1.1.7   root      335: usb="linux"
1.1.1.9 ! root      336: kvm="yes"
1.1       root      337: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
                    338:     kqemu="yes"
1.1.1.7   root      339:     audio_possible_drivers="$audio_possible_drivers fmod"
1.1       root      340: fi
                    341: ;;
                    342: esac
                    343: 
                    344: if [ "$bsd" = "yes" ] ; then
1.1.1.3   root      345:   if [ "$darwin" != "yes" ] ; then
1.1       root      346:     make="gmake"
1.1.1.7   root      347:     usb="bsd"
1.1       root      348:   fi
1.1.1.7   root      349:   bsd_user="yes"
1.1       root      350: fi
                    351: 
                    352: # find source path
1.1.1.3   root      353: source_path=`dirname "$0"`
1.1.1.7   root      354: source_path_used="no"
                    355: workdir=`pwd`
1.1.1.3   root      356: if [ -z "$source_path" ]; then
1.1.1.7   root      357:     source_path=$workdir
1.1.1.3   root      358: else
                    359:     source_path=`cd "$source_path"; pwd`
                    360: fi
1.1.1.7   root      361: [ -f "$workdir/vl.c" ] || source_path_used="yes"
1.1       root      362: 
1.1.1.9 ! root      363: werror=""
1.1.1.6   root      364: 
1.1       root      365: for opt do
1.1.1.3   root      366:   optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
1.1       root      367:   case "$opt" in
1.1.1.2   root      368:   --help|-h) show_help=yes
                    369:   ;;
1.1.1.3   root      370:   --prefix=*) prefix="$optarg"
1.1       root      371:   ;;
1.1.1.3   root      372:   --interp-prefix=*) interp_prefix="$optarg"
1.1       root      373:   ;;
1.1.1.3   root      374:   --source-path=*) source_path="$optarg"
                    375:   source_path_used="yes"
1.1       root      376:   ;;
1.1.1.7   root      377:   --cross-prefix=*)
1.1       root      378:   ;;
1.1.1.7   root      379:   --cc=*)
1.1       root      380:   ;;
1.1.1.3   root      381:   --host-cc=*) host_cc="$optarg"
1.1       root      382:   ;;
1.1.1.3   root      383:   --make=*) make="$optarg"
1.1       root      384:   ;;
1.1.1.3   root      385:   --install=*) install="$optarg"
1.1       root      386:   ;;
1.1.1.9 ! root      387:   --extra-cflags=*) EXTRA_CFLAGS="$optarg"
1.1       root      388:   ;;
1.1.1.9 ! root      389:   --extra-ldflags=*) EXTRA_LDFLAGS="$optarg"
1.1       root      390:   ;;
1.1.1.3   root      391:   --cpu=*) cpu="$optarg"
                    392:   ;;
                    393:   --target-list=*) target_list="$optarg"
1.1       root      394:   ;;
                    395:   --enable-gprof) gprof="yes"
                    396:   ;;
                    397:   --static) static="yes"
                    398:   ;;
                    399:   --disable-sdl) sdl="no"
                    400:   ;;
1.1.1.7   root      401:   --fmod-lib=*) fmod_lib="$optarg"
1.1.1.2   root      402:   ;;
1.1.1.7   root      403:   --fmod-inc=*) fmod_inc="$optarg"
1.1.1.2   root      404:   ;;
1.1.1.7   root      405:   --oss-lib=*) oss_lib="$optarg"
1.1.1.2   root      406:   ;;
1.1.1.7   root      407:   --audio-card-list=*) audio_card_list=`echo "$optarg" | sed -e 's/,/ /g'`
1.1       root      408:   ;;
1.1.1.7   root      409:   --audio-drv-list=*) audio_drv_list="$optarg"
1.1       root      410:   ;;
1.1.1.9 ! root      411:   --enable-debug-tcg) debug_tcg="yes"
        !           412:   ;;
        !           413:   --disable-debug-tcg) debug_tcg="no"
        !           414:   ;;
        !           415:   --enable-debug)
        !           416:       # Enable debugging options that aren't excessively noisy
        !           417:       debug_tcg="yes"
        !           418:       debug="yes"
        !           419:       strip_opt="no"
        !           420:   ;;
1.1.1.7   root      421:   --enable-sparse) sparse="yes"
1.1       root      422:   ;;
1.1.1.7   root      423:   --disable-sparse) sparse="no"
1.1.1.6   root      424:   ;;
1.1.1.9 ! root      425:   --disable-strip) strip_opt="no"
        !           426:   ;;
1.1.1.7   root      427:   --disable-vnc-tls) vnc_tls="no"
1.1.1.2   root      428:   ;;
1.1.1.9 ! root      429:   --disable-vnc-sasl) vnc_sasl="no"
        !           430:   ;;
1.1       root      431:   --disable-slirp) slirp="no"
1.1.1.2   root      432:   ;;
1.1.1.7   root      433:   --disable-vde) vde="no"
1.1.1.2   root      434:   ;;
1.1       root      435:   --disable-kqemu) kqemu="no"
1.1.1.2   root      436:   ;;
1.1.1.9 ! root      437:   --disable-xen) xen="no"
        !           438:   ;;
1.1.1.7   root      439:   --disable-brlapi) brlapi="no"
                    440:   ;;
                    441:   --disable-bluez) bluez="no"
                    442:   ;;
                    443:   --disable-kvm) kvm="no"
                    444:   ;;
1.1.1.3   root      445:   --enable-profiler) profiler="yes"
                    446:   ;;
1.1.1.7   root      447:   --enable-cocoa)
                    448:       cocoa="yes" ;
                    449:       sdl="no" ;
                    450:       audio_drv_list="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
1.1.1.2   root      451:   ;;
1.1.1.3   root      452:   --disable-system) softmmu="no"
                    453:   ;;
                    454:   --enable-system) softmmu="yes"
                    455:   ;;
1.1.1.5   root      456:   --disable-linux-user) linux_user="no"
1.1.1.3   root      457:   ;;
1.1.1.5   root      458:   --enable-linux-user) linux_user="yes"
1.1.1.3   root      459:   ;;
1.1.1.5   root      460:   --disable-darwin-user) darwin_user="no"
                    461:   ;;
                    462:   --enable-darwin-user) darwin_user="yes"
1.1.1.4   root      463:   ;;
1.1.1.7   root      464:   --disable-bsd-user) bsd_user="no"
                    465:   ;;
                    466:   --enable-bsd-user) bsd_user="yes"
                    467:   ;;
1.1.1.5   root      468:   --enable-uname-release=*) uname_release="$optarg"
1.1.1.4   root      469:   ;;
1.1.1.6   root      470:   --sparc_cpu=*)
                    471:       sparc_cpu="$optarg"
                    472:       case $sparc_cpu in
                    473:         v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
1.1.1.9 ! root      474:                  target_arch2="sparc"; cpu="sparc" ;;
1.1.1.6   root      475:         v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
1.1.1.9 ! root      476:                  target_arch2="sparc"; cpu="sparc" ;;
1.1.1.6   root      477:         v9)    SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
1.1.1.9 ! root      478:                  target_arch2="sparc64"; cpu="sparc64" ;;
1.1.1.6   root      479:         *)     echo "undefined SPARC architecture. Exiting";exit 1;;
                    480:       esac
                    481:   ;;
                    482:   --enable-werror) werror="yes"
                    483:   ;;
                    484:   --disable-werror) werror="no"
                    485:   ;;
1.1.1.7   root      486:   --disable-curses) curses="no"
                    487:   ;;
1.1.1.9 ! root      488:   --disable-curl) curl="no"
        !           489:   ;;
1.1.1.7   root      490:   --disable-nptl) nptl="no"
                    491:   ;;
                    492:   --enable-mixemu) mixemu="yes"
                    493:   ;;
1.1.1.9 ! root      494:   --disable-pthread) pthread="no"
        !           495:   ;;
1.1.1.7   root      496:   --disable-aio) aio="no"
                    497:   ;;
1.1.1.9 ! root      498:   --enable-io-thread) io_thread="yes"
        !           499:   ;;
1.1.1.7   root      500:   --disable-blobs) blobs="no"
                    501:   ;;
                    502:   --kerneldir=*) kerneldir="$optarg"
                    503:   ;;
1.1.1.9 ! root      504:   --with-pkgversion=*) pkgversion=" ($optarg)"
        !           505:   ;;
        !           506:   --disable-docs) build_docs="no"
        !           507:   ;;
1.1.1.6   root      508:   *) echo "ERROR: unknown option $opt"; show_help="yes"
                    509:   ;;
1.1       root      510:   esac
                    511: done
                    512: 
1.1.1.5   root      513: # default flags for all hosts
1.1.1.9 ! root      514: CFLAGS="$CFLAGS -g -fno-strict-aliasing"
        !           515: if test "$debug" = "no" ; then
        !           516:   CFLAGS="$CFLAGS -O2"
        !           517: fi
1.1.1.7   root      518: CFLAGS="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
1.1.1.5   root      519: LDFLAGS="$LDFLAGS -g"
1.1.1.9 ! root      520: 
        !           521: # Consult white-list to determine whether to enable werror
        !           522: # by default.  Only enable by default for git builds
        !           523: if test -z "$werror" ; then
        !           524:     z_version=`cut -f3 -d. $source_path/VERSION`
        !           525:     if test "$z_version" = "50" -a \
        !           526:         "$linux" = "yes" ; then
        !           527:         werror="yes"
        !           528:     else
        !           529:         werror="no"
        !           530:     fi
        !           531: fi
        !           532: 
1.1.1.6   root      533: if test "$werror" = "yes" ; then
1.1.1.9 ! root      534:     CFLAGS="$CFLAGS -Werror"
1.1.1.6   root      535: fi
                    536: 
1.1.1.7   root      537: if test "$solaris" = "no" ; then
                    538:     if ld --version 2>/dev/null | grep "GNU ld" >/dev/null 2>/dev/null ; then
                    539:         LDFLAGS="$LDFLAGS -Wl,--warn-common"
                    540:     fi
                    541: fi
                    542: 
1.1.1.6   root      543: #
                    544: # If cpu ~= sparc and  sparc_cpu hasn't been defined, plug in the right
                    545: # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
                    546: #
1.1.1.7   root      547: case "$cpu" in
1.1.1.6   root      548:     sparc) if test -z "$sparc_cpu" ; then
                    549:                ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
                    550:                ARCH_LDFLAGS="-m32"
                    551:            else
                    552:                ARCH_CFLAGS="${SP_CFLAGS}"
                    553:                ARCH_LDFLAGS="${SP_LDFLAGS}"
                    554:            fi
1.1.1.9 ! root      555:            ARCH_CFLAGS="$ARCH_CFLAGS -ffixed-g2 -ffixed-g3"
        !           556:            if test "$solaris" = "no" ; then
        !           557:                ARCH_CFLAGS="$ARCH_CFLAGS -ffixed-g1 -ffixed-g6"
        !           558:            fi
1.1.1.6   root      559:            ;;
                    560:     sparc64) if test -z "$sparc_cpu" ; then
                    561:                ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
                    562:                ARCH_LDFLAGS="-m64"
                    563:            else
                    564:                ARCH_CFLAGS="${SP_CFLAGS}"
                    565:                ARCH_LDFLAGS="${SP_LDFLAGS}"
                    566:            fi
1.1.1.9 ! root      567:            if test "$solaris" = "no" ; then
        !           568:                ARCH_CFLAGS="$ARCH_CFLAGS -ffixed-g5 -ffixed-g6 -ffixed-g7"
        !           569:            else
        !           570:                ARCH_CFLAGS="$ARCH_CFLAGS -ffixed-g1 -ffixed-g5 -ffixed-g6 -ffixed-g7"
        !           571:            fi
1.1.1.6   root      572:            ;;
                    573:     s390)
                    574:            ARCH_CFLAGS="-march=z900"
                    575:            ;;
1.1.1.7   root      576:     i386)
                    577:            ARCH_CFLAGS="-m32"
                    578:            ARCH_LDFLAGS="-m32"
                    579:            ;;
                    580:     x86_64)
                    581:            ARCH_CFLAGS="-m64"
                    582:            ARCH_LDFLAGS="-m64"
                    583:            ;;
1.1.1.6   root      584: esac
                    585: 
1.1.1.3   root      586: if test x"$show_help" = x"yes" ; then
                    587: cat << EOF
                    588: 
                    589: Usage: configure [options]
                    590: Options: [defaults in brackets after descriptions]
                    591: 
                    592: EOF
                    593: echo "Standard options:"
                    594: echo "  --help                   print this message"
                    595: echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
                    596: echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
                    597: echo "                           use %M for cpu name [$interp_prefix]"
                    598: echo "  --target-list=LIST       set target list [$target_list]"
                    599: echo ""
                    600: echo "kqemu kernel acceleration support:"
                    601: echo "  --disable-kqemu          disable kqemu support"
                    602: echo ""
                    603: echo "Advanced options (experts only):"
                    604: echo "  --source-path=PATH       path of source code [$source_path]"
                    605: echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
                    606: echo "  --cc=CC                  use C compiler CC [$cc]"
                    607: echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."
1.1.1.9 ! root      608: echo "  --extra-cflags=CFLAGS    append extra C compiler flags CFLAGS"
        !           609: echo "  --extra-ldflags=LDFLAGS  append extra linker flags LDFLAGS"
1.1.1.3   root      610: echo "  --make=MAKE              use specified make [$make]"
                    611: echo "  --install=INSTALL        use specified install [$install]"
                    612: echo "  --static                 enable static build [$static]"
1.1.1.9 ! root      613: echo "  --enable-debug-tcg       enable TCG debugging"
        !           614: echo "  --disable-debug-tcg      disable TCG debugging (default)"
        !           615: echo "  --enable-debug           enable common debug build options"
1.1.1.7   root      616: echo "  --enable-sparse          enable sparse checker"
                    617: echo "  --disable-sparse         disable sparse checker (default)"
1.1.1.9 ! root      618: echo "  --disable-strip          disable stripping binaries"
1.1.1.6   root      619: echo "  --disable-werror         disable compilation abort on warning"
                    620: echo "  --disable-sdl            disable SDL"
1.1.1.3   root      621: echo "  --enable-cocoa           enable COCOA (Mac OS X only)"
1.1.1.7   root      622: echo "  --audio-drv-list=LIST    set audio drivers list:"
                    623: echo "                           Available drivers: $audio_possible_drivers"
                    624: echo "  --audio-card-list=LIST   set list of emulated audio cards [$audio_card_list]"
                    625: echo "                           Available cards: $audio_possible_cards"
                    626: echo "  --enable-mixemu          enable mixer emulation"
1.1.1.9 ! root      627: echo "  --disable-xen            disable xen backend driver support"
1.1.1.7   root      628: echo "  --disable-brlapi         disable BrlAPI"
1.1.1.6   root      629: echo "  --disable-vnc-tls        disable TLS encryption for VNC server"
1.1.1.9 ! root      630: echo "  --disable-vnc-sasl       disable SASL encryption for VNC server"
1.1.1.7   root      631: echo "  --disable-curses         disable curses output"
1.1.1.9 ! root      632: echo "  --disable-curl           disable curl connectivity"
1.1.1.7   root      633: echo "  --disable-bluez          disable bluez stack connectivity"
                    634: echo "  --disable-kvm            disable KVM acceleration support"
                    635: echo "  --disable-nptl           disable usermode NPTL support"
1.1.1.3   root      636: echo "  --enable-system          enable all system emulation targets"
                    637: echo "  --disable-system         disable all system emulation targets"
1.1.1.5   root      638: echo "  --enable-linux-user      enable all linux usermode emulation targets"
                    639: echo "  --disable-linux-user     disable all linux usermode emulation targets"
                    640: echo "  --enable-darwin-user     enable all darwin usermode emulation targets"
                    641: echo "  --disable-darwin-user    disable all darwin usermode emulation targets"
1.1.1.7   root      642: echo "  --enable-bsd-user        enable all BSD usermode emulation targets"
                    643: echo "  --disable-bsd-user       disable all BSD usermode emulation targets"
1.1.1.3   root      644: echo "  --fmod-lib               path to FMOD library"
                    645: echo "  --fmod-inc               path to FMOD includes"
1.1.1.7   root      646: echo "  --oss-lib                path to OSS library"
1.1.1.4   root      647: echo "  --enable-uname-release=R Return R for uname -r in usermode emulation"
1.1.1.6   root      648: echo "  --sparc_cpu=V            Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
1.1.1.7   root      649: echo "  --disable-vde            disable support for vde network"
1.1.1.9 ! root      650: echo "  --disable-pthread        disable pthread support"
1.1.1.7   root      651: echo "  --disable-aio            disable AIO support"
1.1.1.9 ! root      652: echo "  --enable-io-thread       enable IO thread"
1.1.1.7   root      653: echo "  --disable-blobs          disable installing provided firmware blobs"
                    654: echo "  --kerneldir=PATH         look for kernel includes in PATH"
1.1.1.3   root      655: echo ""
1.1.1.5   root      656: echo "NOTE: The object files are built at the place where configure is launched"
1.1.1.3   root      657: exit 1
                    658: fi
                    659: 
1.1       root      660: if test "$mingw32" = "yes" ; then
                    661:     linux="no"
                    662:     EXESUF=".exe"
                    663:     oss="no"
1.1.1.7   root      664:     linux_user="no"
                    665:     bsd_user="no"
1.1.1.9 ! root      666:     OS_CFLAGS="$OS_CFLAGS -DWIN32_LEAN_AND_MEAN -DWINVER=0x501"
1.1       root      667: fi
                    668: 
1.1.1.7   root      669: if test ! -x "$(which cgcc 2>/dev/null)"; then
                    670:     sparse="no"
1.1.1.5   root      671: fi
                    672: 
1.1.1.3   root      673: #
                    674: # Solaris specific configure tool chain decisions
                    675: #
                    676: if test "$solaris" = "yes" ; then
                    677:   solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
                    678:   if test -z "$solinst" ; then
                    679:     echo "Solaris install program not found. Use --install=/usr/ucb/install or"
                    680:     echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
                    681:     echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
                    682:     exit 1
                    683:   fi
                    684:   if test "$solinst" = "/usr/sbin/install" ; then
                    685:     echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
                    686:     echo "try ginstall from the GNU fileutils available from www.blastwave.org"
                    687:     echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
                    688:     exit 1
                    689:   fi
                    690:   sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
                    691:   if test -z "$sol_ar" ; then
                    692:     echo "Error: No path includes ar"
                    693:     if test -f /usr/ccs/bin/ar ; then
                    694:       echo "Add /usr/ccs/bin to your path and rerun configure"
                    695:     fi
                    696:     exit 1
                    697:   fi
1.1.1.6   root      698: fi
1.1.1.3   root      699: 
                    700: 
1.1       root      701: if test -z "$target_list" ; then
                    702: # these targets are portable
1.1.1.3   root      703:     if [ "$softmmu" = "yes" ] ; then
1.1.1.7   root      704:         target_list="\
                    705: i386-softmmu \
                    706: x86_64-softmmu \
                    707: arm-softmmu \
                    708: cris-softmmu \
                    709: m68k-softmmu \
1.1.1.9 ! root      710: microblaze-softmmu \
1.1.1.7   root      711: mips-softmmu \
                    712: mipsel-softmmu \
                    713: mips64-softmmu \
                    714: mips64el-softmmu \
                    715: ppc-softmmu \
                    716: ppcemb-softmmu \
                    717: ppc64-softmmu \
                    718: sh4-softmmu \
                    719: sh4eb-softmmu \
                    720: sparc-softmmu \
1.1.1.9 ! root      721: sparc64-softmmu \
1.1.1.7   root      722: "
1.1.1.3   root      723:     fi
1.1       root      724: # the following are Linux specific
1.1.1.5   root      725:     if [ "$linux_user" = "yes" ] ; then
1.1.1.7   root      726:         target_list="${target_list}\
                    727: i386-linux-user \
                    728: x86_64-linux-user \
                    729: alpha-linux-user \
                    730: arm-linux-user \
                    731: armeb-linux-user \
                    732: cris-linux-user \
                    733: m68k-linux-user \
1.1.1.9 ! root      734: microblaze-linux-user \
1.1.1.7   root      735: mips-linux-user \
                    736: mipsel-linux-user \
                    737: ppc-linux-user \
                    738: ppc64-linux-user \
                    739: ppc64abi32-linux-user \
                    740: sh4-linux-user \
                    741: sh4eb-linux-user \
                    742: sparc-linux-user \
                    743: sparc64-linux-user \
                    744: sparc32plus-linux-user \
                    745: "
1.1.1.5   root      746:     fi
                    747: # the following are Darwin specific
                    748:     if [ "$darwin_user" = "yes" ] ; then
1.1.1.7   root      749:         target_list="$target_list i386-darwin-user ppc-darwin-user "
                    750:     fi
                    751: # the following are BSD specific
                    752:     if [ "$bsd_user" = "yes" ] ; then
                    753:         target_list="${target_list}\
1.1.1.9 ! root      754: i386-bsd-user \
        !           755: x86_64-bsd-user \
        !           756: sparc-bsd-user \
1.1.1.7   root      757: sparc64-bsd-user \
                    758: "
1.1       root      759:     fi
                    760: else
1.1.1.3   root      761:     target_list=`echo "$target_list" | sed -e 's/,/ /g'`
                    762: fi
                    763: if test -z "$target_list" ; then
                    764:     echo "No targets enabled"
                    765:     exit 1
1.1       root      766: fi
                    767: 
                    768: if test -z "$cross_prefix" ; then
                    769: 
                    770: # ---
                    771: # big/little endian test
                    772: cat > $TMPC << EOF
                    773: #include <inttypes.h>
                    774: int main(int argc, char ** argv){
1.1.1.2   root      775:         volatile uint32_t i=0x01234567;
                    776:         return (*((uint8_t*)(&i))) == 0x67;
1.1       root      777: }
                    778: EOF
                    779: 
1.1.1.7   root      780: if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
1.1       root      781: $TMPE && bigendian="yes"
                    782: else
                    783: echo big/little test failed
                    784: fi
                    785: 
                    786: else
                    787: 
                    788: # if cross compiling, cannot launch a program, so make a static guess
1.1.1.7   root      789: if test "$cpu" = "armv4b" \
                    790:      -o "$cpu" = "hppa" \
                    791:      -o "$cpu" = "m68k" \
                    792:      -o "$cpu" = "mips" \
                    793:      -o "$cpu" = "mips64" \
                    794:      -o "$cpu" = "ppc" \
                    795:      -o "$cpu" = "ppc64" \
                    796:      -o "$cpu" = "s390" \
                    797:      -o "$cpu" = "sparc" \
                    798:      -o "$cpu" = "sparc64"; then
1.1       root      799:     bigendian="yes"
                    800: fi
                    801: 
                    802: fi
                    803: 
                    804: # host long bits test
                    805: hostlongbits="32"
1.1.1.7   root      806: if test "$cpu" = "x86_64" \
                    807:      -o "$cpu" = "alpha" \
                    808:      -o "$cpu" = "ia64" \
                    809:      -o "$cpu" = "sparc64" \
                    810:      -o "$cpu" = "ppc64"; then
1.1       root      811:     hostlongbits="64"
                    812: fi
                    813: 
1.1.1.7   root      814: # Check host NPTL support
                    815: cat > $TMPC <<EOF
                    816: #include <sched.h>
                    817: #include <linux/futex.h>
                    818: void foo()
                    819: {
                    820: #if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
                    821: #error bork
                    822: #endif
                    823: }
                    824: EOF
                    825: 
                    826: if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null ; then
                    827:   :
                    828: else
                    829:    nptl="no"
                    830: fi
                    831: 
                    832: ##########################################
                    833: # zlib check
                    834: 
                    835: cat > $TMPC << EOF
                    836: #include <zlib.h>
                    837: int main(void) { zlibVersion(); return 0; }
                    838: EOF
                    839: if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz > /dev/null 2> /dev/null ; then
                    840:     :
                    841: else
                    842:     echo
                    843:     echo "Error: zlib check failed"
                    844:     echo "Make sure to have the zlib libs and headers installed."
                    845:     echo
                    846:     exit 1
                    847: fi
                    848: 
1.1       root      849: ##########################################
1.1.1.9 ! root      850: # xen probe
        !           851: 
        !           852: if test "$xen" = "yes" ; then
        !           853: cat > $TMPC <<EOF
        !           854: #include <xenctrl.h>
        !           855: #include <xs.h>
        !           856: int main(void) { xs_daemon_open(); xc_interface_open(); return 0; }
        !           857: EOF
        !           858:    if $cc $CFLAGS $ARCH_CFLAGS -c -o $TMPO $TMPC $LDFLAGS -lxenstore -lxenctrl 2> /dev/null > /dev/null ; then
        !           859:       :
        !           860:    else
        !           861:       xen="no"
        !           862:    fi
        !           863: fi
        !           864: 
        !           865: ##########################################
1.1       root      866: # SDL probe
                    867: 
                    868: sdl_too_old=no
                    869: 
1.1.1.9 ! root      870: if test "$sdl" = "yes" ; then
1.1.1.6   root      871:     sdl_config="sdl-config"
                    872:     sdl=no
                    873:     sdl_static=no
                    874: 
1.1       root      875: cat > $TMPC << EOF
                    876: #include <SDL.h>
                    877: #undef main /* We don't want SDL to override our main() */
                    878: int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
                    879: EOF
1.1.1.7   root      880:     if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` > $TMPSDLLOG 2>&1 ; then
                    881:         _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
                    882:         if test "$_sdlversion" -lt 121 ; then
                    883:             sdl_too_old=yes
                    884:         else
                    885:             if test "$cocoa" = "no" ; then
                    886:                 sdl=yes
                    887:             fi
                    888:         fi
                    889: 
                    890:         # static link with sdl ?
                    891:         if test "$sdl" = "yes" ; then
                    892:             aa="no"
                    893:             `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
                    894:             sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
                    895:             if [ "$aa" = "yes" ] ; then
                    896:                 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
1.1.1.6   root      897:             fi
                    898: 
1.1.1.7   root      899:             if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs > /dev/null 2> /dev/null; then
                    900:                 sdl_static=yes
                    901:             fi
                    902:         fi # static link
                    903:     fi # sdl compile test
1.1       root      904: else
1.1.1.6   root      905:     # Make sure to disable cocoa if sdl was set
                    906:     if test "$sdl" = "yes" ; then
                    907:        cocoa="no"
1.1.1.7   root      908:        audio_drv_list="`echo $audio_drv_list | sed s,coreaudio,,g`"
1.1.1.6   root      909:     fi
                    910: fi # -z $sdl
1.1       root      911: 
1.1.1.7   root      912: if test "$sdl" = "yes" ; then
                    913: cat > $TMPC <<EOF
                    914: #include <SDL.h>
                    915: #if defined(SDL_VIDEO_DRIVER_X11)
                    916: #include <X11/XKBlib.h>
                    917: #else
                    918: #error No x11 support
                    919: #endif
                    920: int main(void) { return 0; }
                    921: EOF
                    922:     if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` > /dev/null 2>&1 ; then
                    923:        sdl_x11="yes"
                    924:     fi
                    925: fi
                    926: 
1.1.1.6   root      927: ##########################################
                    928: # VNC TLS detection
                    929: if test "$vnc_tls" = "yes" ; then
1.1.1.7   root      930: cat > $TMPC <<EOF
                    931: #include <gnutls/gnutls.h>
                    932: int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
                    933: EOF
                    934:     vnc_tls_cflags=`pkg-config --cflags gnutls 2> /dev/null`
                    935:     vnc_tls_libs=`pkg-config --libs gnutls 2> /dev/null`
                    936:     if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \
                    937:            $vnc_tls_libs > /dev/null 2> /dev/null ; then
                    938:        :
                    939:     else
                    940:        vnc_tls="no"
                    941:     fi
1.1.1.6   root      942: fi
1.1.1.7   root      943: 
                    944: ##########################################
1.1.1.9 ! root      945: # VNC SASL detection
        !           946: if test "$vnc_sasl" = "yes" ; then
        !           947: cat > $TMPC <<EOF
        !           948: #include <sasl/sasl.h>
        !           949: #include <stdio.h>
        !           950: int main(void) { sasl_server_init(NULL, "qemu"); return 0; }
        !           951: EOF
        !           952:     # Assuming Cyrus-SASL installed in /usr prefix
        !           953:     vnc_sasl_cflags=""
        !           954:     vnc_sasl_libs="-lsasl2"
        !           955:     if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_sasl_cflags $TMPC \
        !           956:            $vnc_sasl_libs 2> /dev/null > /dev/null ; then
        !           957:        :
        !           958:     else
        !           959:        vnc_sasl="no"
        !           960:     fi
        !           961: fi
        !           962: 
        !           963: ##########################################
        !           964: # fnmatch() probe, used for ACL routines
        !           965: fnmatch="no"
        !           966: cat > $TMPC << EOF
        !           967: #include <fnmatch.h>
        !           968: int main(void)
        !           969: {
        !           970:     fnmatch("foo", "foo", 0);
        !           971:     return 0;
        !           972: }
        !           973: EOF
        !           974: if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
        !           975:    fnmatch="yes"
        !           976: fi
        !           977: 
        !           978: ##########################################
1.1.1.7   root      979: # vde libraries probe
                    980: if test "$vde" = "yes" ; then
                    981:   cat > $TMPC << EOF
                    982: #include <libvdeplug.h>
                    983: int main(void)
                    984: {
                    985:     struct vde_open_args a = {0, 0, 0};
                    986:     vde_open("", "", &a);
                    987:     return 0;
                    988: }
                    989: EOF
                    990:     if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug > /dev/null 2> /dev/null ; then
                    991:         :
                    992:     else
                    993:         vde="no"
                    994:     fi
1.1       root      995: fi
                    996: 
1.1.1.5   root      997: ##########################################
1.1.1.7   root      998: # Sound support libraries probe
1.1.1.5   root      999: 
1.1.1.7   root     1000: audio_drv_probe()
                   1001: {
                   1002:     drv=$1
                   1003:     hdr=$2
                   1004:     lib=$3
                   1005:     exp=$4
                   1006:     cfl=$5
                   1007:         cat > $TMPC << EOF
                   1008: #include <$hdr>
                   1009: int main(void) { $exp }
                   1010: EOF
                   1011:     if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib > /dev/null 2> /dev/null ; then
                   1012:         :
                   1013:     else
                   1014:         echo
                   1015:         echo "Error: $drv check failed"
                   1016:         echo "Make sure to have the $drv libs and headers installed."
                   1017:         echo
                   1018:         exit 1
                   1019:     fi
                   1020: }
                   1021: 
                   1022: audio_drv_list=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
                   1023: for drv in $audio_drv_list; do
                   1024:     case $drv in
                   1025:     alsa)
                   1026:     audio_drv_probe $drv alsa/asoundlib.h -lasound \
                   1027:         "snd_pcm_t **handle; return snd_pcm_close(*handle);"
                   1028:     ;;
                   1029: 
                   1030:     fmod)
                   1031:     if test -z $fmod_lib || test -z $fmod_inc; then
                   1032:         echo
                   1033:         echo "Error: You must specify path to FMOD library and headers"
                   1034:         echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
                   1035:         echo
                   1036:         exit 1
                   1037:     fi
                   1038:     audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
                   1039:     ;;
                   1040: 
                   1041:     esd)
                   1042:     audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);'
                   1043:     ;;
                   1044: 
                   1045:     pa)
                   1046:     audio_drv_probe $drv pulse/simple.h -lpulse-simple \
                   1047:         "pa_simple *s = NULL; pa_simple_free(s); return 0;"
                   1048:     ;;
                   1049: 
                   1050:     oss|sdl|core|wav|dsound)
                   1051:     # XXX: Probes for CoreAudio, DirectSound, SDL(?)
                   1052:     ;;
                   1053: 
                   1054:     *)
                   1055:     echo "$audio_possible_drivers" | grep -q "\<$drv\>" || {
                   1056:         echo
                   1057:         echo "Error: Unknown driver '$drv' selected"
                   1058:         echo "Possible drivers are: $audio_possible_drivers"
                   1059:         echo
                   1060:         exit 1
                   1061:     }
                   1062:     ;;
                   1063:     esac
                   1064: done
                   1065: 
                   1066: ##########################################
                   1067: # BrlAPI probe
                   1068: 
                   1069: if test -z "$brlapi" ; then
                   1070:     brlapi=no
                   1071: cat > $TMPC << EOF
                   1072: #include <brlapi.h>
                   1073: int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
                   1074: EOF
                   1075:     if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi > /dev/null 2> /dev/null ; then
                   1076:            brlapi=yes
                   1077:     fi # brlapi compile test
                   1078: fi # -z $brlapi
                   1079: 
                   1080: ##########################################
                   1081: # curses probe
                   1082: 
                   1083: if test "$curses" = "yes" ; then
                   1084:   curses=no
1.1.1.9 ! root     1085:   ncurses=no
1.1.1.5   root     1086:   cat > $TMPC << EOF
1.1.1.7   root     1087: #include <curses.h>
1.1.1.9 ! root     1088: #ifdef __OpenBSD__
        !          1089: #define resize_term resizeterm
        !          1090: #endif
        !          1091: int main(void) { resize_term(0, 0); return curses_version(); }
1.1.1.5   root     1092: EOF
1.1.1.9 ! root     1093:   if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lncurses > /dev/null 2> /dev/null ; then
        !          1094:     curses=yes
        !          1095:     ncurses=yes
        !          1096:   elif $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses > /dev/null 2> /dev/null ; then
1.1.1.7   root     1097:     curses=yes
                   1098:   fi
                   1099: fi # test "$curses"
                   1100: 
                   1101: ##########################################
1.1.1.9 ! root     1102: # curl probe
        !          1103: 
        !          1104: if test "$curl" = "yes" ; then
        !          1105:   curl=no
        !          1106:   cat > $TMPC << EOF
        !          1107: #include <curl/curl.h>
        !          1108: int main(void) { return curl_easy_init(); }
        !          1109: EOF
        !          1110:   curl_libs=`curl-config --libs 2>/dev/null`
        !          1111:  if $cc $ARCH_CFLAGS $curl_libs -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
        !          1112:     curl=yes
        !          1113:   fi
        !          1114: fi # test "$curl"
        !          1115: 
        !          1116: ##########################################
1.1.1.7   root     1117: # bluez support probe
                   1118: if test "$bluez" = "yes" ; then
1.1.1.9 ! root     1119:   `pkg-config bluez 2> /dev/null` || bluez="no"
1.1.1.7   root     1120: fi
                   1121: if test "$bluez" = "yes" ; then
                   1122:   cat > $TMPC << EOF
                   1123: #include <bluetooth/bluetooth.h>
                   1124: int main(void) { return bt_error(0); }
                   1125: EOF
1.1.1.9 ! root     1126:   bluez_cflags=`pkg-config --cflags bluez 2> /dev/null`
        !          1127:   bluez_libs=`pkg-config --libs bluez 2> /dev/null`
1.1.1.7   root     1128:   if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \
                   1129:       $bluez_libs > /dev/null 2> /dev/null ; then
1.1.1.5   root     1130:     :
                   1131:   else
1.1.1.7   root     1132:     bluez="no"
                   1133:   fi
                   1134: fi
                   1135: 
                   1136: ##########################################
                   1137: # kvm probe
                   1138: if test "$kvm" = "yes" ; then
                   1139:     cat > $TMPC <<EOF
                   1140: #include <linux/kvm.h>
                   1141: #if !defined(KVM_API_VERSION) || KVM_API_VERSION < 12 || KVM_API_VERSION > 12
                   1142: #error Invalid KVM version
                   1143: #endif
                   1144: #if !defined(KVM_CAP_USER_MEMORY)
                   1145: #error Missing KVM capability KVM_CAP_USER_MEMORY
                   1146: #endif
                   1147: #if !defined(KVM_CAP_SET_TSS_ADDR)
                   1148: #error Missing KVM capability KVM_CAP_SET_TSS_ADDR
                   1149: #endif
                   1150: #if !defined(KVM_CAP_DESTROY_MEMORY_REGION_WORKS)
                   1151: #error Missing KVM capability KVM_CAP_DESTROY_MEMORY_REGION_WORKS
                   1152: #endif
                   1153: int main(void) { return 0; }
                   1154: EOF
                   1155:   if test "$kerneldir" != "" ; then
                   1156:       kvm_cflags=-I"$kerneldir"/include
                   1157:       if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) \
                   1158:          -a -d "$kerneldir/arch/x86/include" ; then
                   1159:             kvm_cflags="$kvm_cflags -I$kerneldir/arch/x86/include"
                   1160:        elif test "$cpu" = "ppc" -a -d "$kerneldir/arch/powerpc/include" ; then
                   1161:            kvm_cflags="$kvm_cflags -I$kerneldir/arch/powerpc/include"
                   1162:         elif test -d "$kerneldir/arch/$cpu/include" ; then
                   1163:             kvm_cflags="$kvm_cflags -I$kerneldir/arch/$cpu/include"
                   1164:       fi
                   1165:   else
                   1166:       kvm_cflags=""
                   1167:   fi
                   1168:   if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC \
                   1169:       > /dev/null 2>/dev/null ; then
                   1170:     :
                   1171:   else
                   1172:     kvm="no";
                   1173:     if [ -x "`which awk 2>/dev/null`" ] && \
                   1174:        [ -x "`which grep 2>/dev/null`" ]; then
1.1.1.8   root     1175:       kvmerr=`LANG=C $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC 2>&1 \
1.1.1.7   root     1176:        | grep "error: " \
                   1177:        | awk -F "error: " '{if (NR>1) printf(", "); printf("%s",$2);}'`
                   1178:       if test "$kvmerr" != "" ; then
1.1.1.9 ! root     1179:         kvm="no - (${kvmerr})\n\
        !          1180:     NOTE: To enable KVM support, update your kernel to 2.6.29+ or install \
        !          1181: recent kvm-kmod from http://sourceforge.net/projects/kvm."
1.1.1.7   root     1182:       fi
                   1183:     fi
                   1184:   fi
                   1185: fi
                   1186: 
                   1187: ##########################################
1.1.1.9 ! root     1188: # pthread probe
        !          1189: PTHREADLIBS_LIST="-lpthread -lpthreadGC2"
        !          1190: PTHREADLIBS=""
1.1.1.7   root     1191: 
1.1.1.9 ! root     1192: if test "$pthread" = yes; then
        !          1193:   pthread=no
        !          1194: cat > $TMPC << EOF
1.1.1.7   root     1195: #include <pthread.h>
1.1.1.9 ! root     1196: int main(void) { pthread_create(0,0,0,0); return 0; }
1.1.1.7   root     1197: EOF
1.1.1.9 ! root     1198:   for pthread_lib in $PTHREADLIBS_LIST; do
        !          1199:     if $cc $ARCH_CFLAGS -o $TMPE $TMPC $pthread_lib 2> /dev/null > /dev/null ; then
        !          1200:       pthread=yes
        !          1201:       PTHREADLIBS="$pthread_lib"
        !          1202:       break
        !          1203:     fi
        !          1204:   done
        !          1205: fi
        !          1206: 
        !          1207: if test "$pthread" = no; then
        !          1208:    aio=no
        !          1209:    io_thread=no
1.1.1.7   root     1210: fi
                   1211: 
                   1212: ##########################################
                   1213: # iovec probe
                   1214: cat > $TMPC <<EOF
                   1215: #include <sys/types.h>
                   1216: #include <sys/uio.h>
                   1217: #include <unistd.h>
                   1218: int main(void) { struct iovec iov; return 0; }
                   1219: EOF
                   1220: iovec=no
                   1221: if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
                   1222:   iovec=yes
                   1223: fi
                   1224: 
                   1225: ##########################################
1.1.1.9 ! root     1226: # preadv probe
        !          1227: cat > $TMPC <<EOF
        !          1228: #include <sys/types.h>
        !          1229: #include <sys/uio.h>
        !          1230: #include <unistd.h>
        !          1231: int main(void) { preadv; }
        !          1232: EOF
        !          1233: preadv=no
        !          1234: if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
        !          1235:   preadv=yes
        !          1236: fi
        !          1237: 
        !          1238: ##########################################
1.1.1.7   root     1239: # fdt probe
                   1240: if test "$fdt" = "yes" ; then
                   1241:     fdt=no
                   1242:     cat > $TMPC << EOF
                   1243: int main(void) { return 0; }
                   1244: EOF
1.1.1.9 ! root     1245:   if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lfdt 2> /dev/null > /dev/null ; then
1.1.1.7   root     1246:     fdt=yes
1.1.1.5   root     1247:   fi
                   1248: fi
                   1249: 
1.1.1.9 ! root     1250: #
        !          1251: # Check for xxxat() functions when we are building linux-user
        !          1252: # emulator.  This is done because older glibc versions don't
        !          1253: # have syscall stubs for these implemented.
        !          1254: #
        !          1255: atfile=no
        !          1256: cat > $TMPC << EOF
        !          1257: #define _ATFILE_SOURCE
        !          1258: #include <sys/types.h>
        !          1259: #include <fcntl.h>
        !          1260: #include <unistd.h>
        !          1261: 
        !          1262: int
        !          1263: main(void)
        !          1264: {
        !          1265:        /* try to unlink nonexisting file */
        !          1266:        return (unlinkat(AT_FDCWD, "nonexistent_file", 0));
        !          1267: }
        !          1268: EOF
        !          1269: if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null > /dev/null ; then
        !          1270:   atfile=yes
        !          1271: fi
        !          1272: 
        !          1273: # Check for inotify functions when we are building linux-user
        !          1274: # emulator.  This is done because older glibc versions don't
        !          1275: # have syscall stubs for these implemented.  In that case we
        !          1276: # don't provide them even if kernel supports them.
        !          1277: #
        !          1278: inotify=no
        !          1279: cat > $TMPC << EOF
        !          1280: #include <sys/inotify.h>
        !          1281: 
        !          1282: int
        !          1283: main(void)
        !          1284: {
        !          1285:        /* try to start inotify */
        !          1286:        return inotify_init();
        !          1287: }
        !          1288: EOF
        !          1289: if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null > /dev/null ; then
        !          1290:   inotify=yes
        !          1291: fi
        !          1292: 
        !          1293: # check if utimensat and futimens are supported
        !          1294: utimens=no
        !          1295: cat > $TMPC << EOF
        !          1296: #define _ATFILE_SOURCE
        !          1297: #define _GNU_SOURCE
        !          1298: #include <stddef.h>
        !          1299: #include <fcntl.h>
        !          1300: 
        !          1301: int main(void)
        !          1302: {
        !          1303:     utimensat(AT_FDCWD, "foo", NULL, 0);
        !          1304:     futimens(0, NULL);
        !          1305:     return 0;
        !          1306: }
        !          1307: EOF
        !          1308: if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
        !          1309:   utimens=yes
        !          1310: fi
        !          1311: 
        !          1312: # check if pipe2 is there
        !          1313: pipe2=no
        !          1314: cat > $TMPC << EOF
        !          1315: #define _GNU_SOURCE
        !          1316: #include <unistd.h>
        !          1317: #include <fcntl.h>
        !          1318: 
        !          1319: int main(void)
        !          1320: {
        !          1321:     int pipefd[2];
        !          1322:     pipe2(pipefd, O_CLOEXEC);
        !          1323:     return 0;
        !          1324: }
        !          1325: EOF
        !          1326: if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
        !          1327:   pipe2=yes
        !          1328: fi
        !          1329: 
        !          1330: # check if tee/splice is there. vmsplice was added same time.
        !          1331: splice=no
        !          1332: cat > $TMPC << EOF
        !          1333: #define _GNU_SOURCE
        !          1334: #include <unistd.h>
        !          1335: #include <fcntl.h>
        !          1336: #include <limits.h>
        !          1337: 
        !          1338: int main(void)
        !          1339: {
        !          1340:     int len, fd;
        !          1341:     len = tee(STDIN_FILENO, STDOUT_FILENO, INT_MAX, SPLICE_F_NONBLOCK);
        !          1342:     splice(STDIN_FILENO, NULL, fd, NULL, len, SPLICE_F_MOVE);
        !          1343:     return 0;
        !          1344: }
        !          1345: EOF
        !          1346: if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
        !          1347:   splice=yes
        !          1348: fi
        !          1349: 
1.1.1.3   root     1350: # Check if tools are available to build documentation.
1.1.1.9 ! root     1351: if test "$build_docs" = "yes" -a \( ! -x "`which texi2html 2>/dev/null`" -o ! -x "`which pod2man 2>/dev/null`" \) ; then
        !          1352:   build_docs="no"
1.1       root     1353: fi
                   1354: 
1.1.1.7   root     1355: ##########################################
                   1356: # Do we need librt
1.1.1.9 ! root     1357: CLOCKLIBS=""
1.1.1.7   root     1358: cat > $TMPC <<EOF
                   1359: #include <signal.h>
                   1360: #include <time.h>
                   1361: int main(void) { clockid_t id; return clock_gettime(id, NULL); }
                   1362: EOF
                   1363: 
                   1364: rt=no
                   1365: if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
                   1366:   :
                   1367: elif $cc $ARCH_CFLAGS -o $TMPE $TMPC -lrt > /dev/null 2> /dev/null ; then
                   1368:   rt=yes
                   1369: fi
                   1370: 
                   1371: if test "$rt" = "yes" ; then
1.1.1.9 ! root     1372:   CLOCKLIBS="-lrt"
1.1.1.7   root     1373: fi
                   1374: 
1.1       root     1375: if test "$mingw32" = "yes" ; then
1.1.1.6   root     1376:   if test -z "$prefix" ; then
1.1.1.9 ! root     1377:       prefix="c:/Program Files/Qemu"
1.1.1.6   root     1378:   fi
                   1379:   mansuffix=""
                   1380:   datasuffix=""
                   1381:   docsuffix=""
                   1382:   binsuffix=""
                   1383: else
                   1384:   if test -z "$prefix" ; then
                   1385:       prefix="/usr/local"
                   1386:   fi
                   1387:   mansuffix="/share/man"
                   1388:   datasuffix="/share/qemu"
                   1389:   docsuffix="/share/doc/qemu"
                   1390:   binsuffix="/bin"
1.1       root     1391: fi
                   1392: 
                   1393: echo "Install prefix    $prefix"
1.1.1.6   root     1394: echo "BIOS directory    $prefix$datasuffix"
                   1395: echo "binary directory  $prefix$binsuffix"
1.1       root     1396: if test "$mingw32" = "no" ; then
1.1.1.6   root     1397: echo "Manual directory  $prefix$mansuffix"
1.1       root     1398: echo "ELF interp prefix $interp_prefix"
                   1399: fi
                   1400: echo "Source path       $source_path"
                   1401: echo "C compiler        $cc"
                   1402: echo "Host C compiler   $host_cc"
1.1.1.7   root     1403: echo "ARCH_CFLAGS       $ARCH_CFLAGS"
1.1       root     1404: echo "make              $make"
1.1.1.3   root     1405: echo "install           $install"
1.1       root     1406: echo "host CPU          $cpu"
                   1407: echo "host big endian   $bigendian"
                   1408: echo "target list       $target_list"
1.1.1.9 ! root     1409: echo "tcg debug enabled $debug_tcg"
1.1       root     1410: echo "gprof enabled     $gprof"
1.1.1.7   root     1411: echo "sparse enabled    $sparse"
1.1.1.9 ! root     1412: echo "strip binaries    $strip_opt"
1.1.1.3   root     1413: echo "profiler          $profiler"
1.1       root     1414: echo "static build      $static"
1.1.1.6   root     1415: echo "-Werror enabled   $werror"
1.1       root     1416: if test "$darwin" = "yes" ; then
                   1417:     echo "Cocoa support     $cocoa"
                   1418: fi
                   1419: echo "SDL support       $sdl"
                   1420: if test "$sdl" != "no" ; then
                   1421:     echo "SDL static link   $sdl_static"
                   1422: fi
1.1.1.7   root     1423: echo "curses support    $curses"
1.1.1.9 ! root     1424: echo "curl support      $curl"
1.1       root     1425: echo "mingw32 support   $mingw32"
1.1.1.7   root     1426: echo "Audio drivers     $audio_drv_list"
                   1427: echo "Extra audio cards $audio_card_list"
                   1428: echo "Mixer emulation   $mixemu"
1.1.1.6   root     1429: echo "VNC TLS support   $vnc_tls"
                   1430: if test "$vnc_tls" = "yes" ; then
                   1431:     echo "    TLS CFLAGS    $vnc_tls_cflags"
                   1432:     echo "    TLS LIBS      $vnc_tls_libs"
                   1433: fi
1.1.1.9 ! root     1434: echo "VNC SASL support  $vnc_sasl"
        !          1435: if test "$vnc_sasl" = "yes" ; then
        !          1436:     echo "    SASL CFLAGS    $vnc_sasl_cflags"
        !          1437:     echo "    SASL LIBS      $vnc_sasl_libs"
        !          1438: fi
1.1.1.6   root     1439: if test -n "$sparc_cpu"; then
                   1440:     echo "Target Sparc Arch $sparc_cpu"
                   1441: fi
1.1.1.3   root     1442: echo "kqemu support     $kqemu"
1.1.1.9 ! root     1443: echo "xen support       $xen"
1.1.1.7   root     1444: echo "brlapi support    $brlapi"
1.1.1.3   root     1445: echo "Documentation     $build_docs"
1.1.1.4   root     1446: [ ! -z "$uname_release" ] && \
                   1447: echo "uname -r          $uname_release"
1.1.1.7   root     1448: echo "NPTL support      $nptl"
                   1449: echo "vde support       $vde"
                   1450: echo "AIO support       $aio"
1.1.1.9 ! root     1451: echo "IO thread         $io_thread"
1.1.1.7   root     1452: echo "Install blobs     $blobs"
1.1.1.9 ! root     1453: echo -e "KVM support       $kvm"
1.1.1.7   root     1454: echo "fdt support       $fdt"
1.1.1.9 ! root     1455: echo "preadv support    $preadv"
1.1       root     1456: 
                   1457: if test $sdl_too_old = "yes"; then
                   1458: echo "-> Your SDL version is too old - please upgrade to have SDL support"
                   1459: fi
                   1460: #if test "$sdl_static" = "no"; then
                   1461: #  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
                   1462: #fi
                   1463: 
1.1.1.9 ! root     1464: config_host_mak="config-host.mak"
        !          1465: config_host_h="config-host.h"
1.1       root     1466: 
1.1.1.9 ! root     1467: #echo "Creating $config_host_mak and $config_host_h"
1.1.1.6   root     1468: 
1.1.1.9 ! root     1469: test -f $config_host_h && mv $config_host_h ${config_host_h}~
        !          1470: 
        !          1471: echo "# Automatically generated by configure - do not modify" > $config_host_mak
        !          1472: printf "# Configured with:" >> $config_host_mak
        !          1473: printf " '%s'" "$0" "$@" >> $config_host_mak
        !          1474: echo >> $config_host_mak
        !          1475: echo "/* Automatically generated by configure - do not modify */" > $config_host_h
        !          1476: 
        !          1477: echo "prefix=$prefix" >> $config_host_mak
        !          1478: echo "bindir=\${prefix}$binsuffix" >> $config_host_mak
        !          1479: echo "mandir=\${prefix}$mansuffix" >> $config_host_mak
        !          1480: echo "datadir=\${prefix}$datasuffix" >> $config_host_mak
        !          1481: echo "docdir=\${prefix}$docsuffix" >> $config_host_mak
        !          1482: echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_host_h
        !          1483: echo "MAKE=$make" >> $config_host_mak
        !          1484: echo "INSTALL=$install" >> $config_host_mak
        !          1485: echo "INSTALL_DIR=$install -d -m0755 -p" >> $config_host_mak
        !          1486: echo "INSTALL_DATA=$install -m0644 -p" >> $config_host_mak
        !          1487: echo "INSTALL_PROG=$install -m0755 -p" >> $config_host_mak
        !          1488: echo "CC=$cc" >> $config_host_mak
        !          1489: echo "HOST_CC=$host_cc" >> $config_host_mak
        !          1490: echo "AR=$ar" >> $config_host_mak
        !          1491: echo "OBJCOPY=$objcopy" >> $config_host_mak
        !          1492: echo "LD=$ld" >> $config_host_mak
        !          1493: echo "CFLAGS=$CFLAGS $OS_CFLAGS $ARCH_CFLAGS $EXTRA_CFLAGS" >> $config_host_mak
        !          1494: echo "LDFLAGS=$LDFLAGS $OS_LDFLAGS $ARCH_LDFLAGS $EXTRA_LDFLAGS" >> $config_host_mak
        !          1495: echo "EXESUF=$EXESUF" >> $config_host_mak
        !          1496: echo "PTHREADLIBS=$PTHREADLIBS" >> $config_host_mak
        !          1497: echo "CLOCKLIBS=$CLOCKLIBS" >> $config_host_mak
1.1.1.7   root     1498: case "$cpu" in
1.1.1.9 ! root     1499:   i386|x86_64|alpha|cris|hppa|ia64|m68k|microbaze|mips|mips64|ppc|ppc64|s390|sparc|sparc64)
        !          1500:     ARCH=$cpu
1.1.1.7   root     1501:   ;;
1.1.1.9 ! root     1502:   armv4b|arm4l)
        !          1503:     ARCH=arm
1.1.1.7   root     1504:   ;;
                   1505:   *)
                   1506:     echo "Unsupported CPU = $cpu"
                   1507:     exit 1
                   1508:   ;;
                   1509: esac
1.1.1.9 ! root     1510: echo "ARCH=$ARCH" >> $config_host_mak
        !          1511: arch_name=`echo $ARCH | tr '[:lower:]' '[:upper:]'`
        !          1512: echo "#define HOST_$arch_name 1" >> $config_host_h
        !          1513: 
        !          1514: if test "$debug_tcg" = "yes" ; then
        !          1515:   echo "#define DEBUG_TCG 1" >> $config_host_h
        !          1516: fi
        !          1517: if test "$debug" = "yes" ; then
        !          1518:   echo "#define DEBUG_EXEC 1" >> $config_host_h
        !          1519: fi
1.1.1.7   root     1520: if test "$sparse" = "yes" ; then
1.1.1.9 ! root     1521:   echo "CC      := REAL_CC=\"\$(CC)\" cgcc"       >> $config_host_mak
        !          1522:   echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc"  >> $config_host_mak
        !          1523:   echo "CFLAGS  += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_host_mak
        !          1524: fi
        !          1525: if test "$strip_opt" = "yes" ; then
        !          1526:   echo "STRIP_OPT=-s" >> $config_host_mak
1.1       root     1527: fi
                   1528: if test "$bigendian" = "yes" ; then
1.1.1.9 ! root     1529:   echo "WORDS_BIGENDIAN=yes" >> $config_host_mak
        !          1530:   echo "#define WORDS_BIGENDIAN 1" >> $config_host_h
1.1       root     1531: fi
1.1.1.9 ! root     1532: echo "#define HOST_LONG_BITS $hostlongbits" >> $config_host_h
1.1       root     1533: if test "$mingw32" = "yes" ; then
1.1.1.9 ! root     1534:   echo "CONFIG_WIN32=y" >> $config_host_mak
        !          1535:   echo "#define CONFIG_WIN32 1" >> $config_host_h
1.1.1.6   root     1536: else
                   1537:   cat > $TMPC << EOF
                   1538: #include <byteswap.h>
                   1539: int main(void) { return bswap_32(0); }
                   1540: EOF
1.1.1.7   root     1541:   if $cc $ARCH_CFLAGS -o $TMPE $TMPC >/dev/null 2> /dev/null ; then
1.1.1.9 ! root     1542:     echo "#define HAVE_BYTESWAP_H 1" >> $config_host_h
1.1.1.6   root     1543:   fi
1.1.1.7   root     1544:   cat > $TMPC << EOF
                   1545: #include <sys/endian.h>
                   1546: #include <sys/types.h>
                   1547: #include <machine/bswap.h>
                   1548: int main(void) { return bswap32(0); }
                   1549: EOF
                   1550:   if $cc $ARCH_CFLAGS -o $TMPE $TMPC >/dev/null 2> /dev/null ; then
1.1.1.9 ! root     1551:     echo "#define HAVE_MACHINE_BSWAP_H 1" >> $config_host_h
1.1.1.7   root     1552:   fi
                   1553: fi
                   1554: 
                   1555: if [ "$openbsd" = "yes" ] ; then
1.1.1.9 ! root     1556:   echo "#define ENOTSUP 4096" >> $config_host_h
1.1       root     1557: fi
1.1.1.7   root     1558: 
1.1       root     1559: if test "$darwin" = "yes" ; then
1.1.1.9 ! root     1560:   echo "CONFIG_DARWIN=y" >> $config_host_mak
        !          1561:   echo "#define CONFIG_DARWIN 1" >> $config_host_h
1.1       root     1562: fi
1.1.1.7   root     1563: 
                   1564: if test "$aix" = "yes" ; then
1.1.1.9 ! root     1565:   echo "CONFIG_AIX=y" >> $config_host_mak
        !          1566:   echo "#define CONFIG_AIX 1" >> $config_host_h
1.1.1.7   root     1567: fi
                   1568: 
1.1.1.3   root     1569: if test "$solaris" = "yes" ; then
1.1.1.9 ! root     1570:   echo "CONFIG_SOLARIS=y" >> $config_host_mak
        !          1571:   echo "#define HOST_SOLARIS $solarisrev" >> $config_host_h
1.1.1.6   root     1572:   if test "$needs_libsunmath" = "yes" ; then
1.1.1.9 ! root     1573:     echo "NEEDS_LIBSUNMATH=yes" >> $config_host_mak
        !          1574:     echo "#define NEEDS_LIBSUNMATH 1" >> $config_host_h
1.1.1.6   root     1575:   fi
                   1576: fi
                   1577: if test -n "$sparc_cpu"; then
1.1.1.9 ! root     1578:   echo "CONFIG__sparc_${sparc_cpu}__=y" >> $config_host_mak
        !          1579:   echo "#define __sparc_${sparc_cpu}__ 1" >> $config_host_h
1.1       root     1580: fi
                   1581: if test "$gprof" = "yes" ; then
1.1.1.9 ! root     1582:   echo "TARGET_GPROF=yes" >> $config_host_mak
        !          1583:   echo "#define HAVE_GPROF 1" >> $config_host_h
1.1       root     1584: fi
                   1585: if test "$static" = "yes" ; then
1.1.1.9 ! root     1586:   echo "CONFIG_STATIC=y" >> $config_host_mak
        !          1587:   echo "#define CONFIG_STATIC 1" >> $config_host_h
1.1       root     1588: fi
1.1.1.3   root     1589: if test $profiler = "yes" ; then
1.1.1.9 ! root     1590:   echo "#define CONFIG_PROFILER 1" >> $config_host_h
1.1.1.3   root     1591: fi
1.1       root     1592: if test "$slirp" = "yes" ; then
1.1.1.9 ! root     1593:   echo "CONFIG_SLIRP=y" >> $config_host_mak
        !          1594:   echo "#define CONFIG_SLIRP 1" >> $config_host_h
1.1       root     1595: fi
1.1.1.7   root     1596: if test "$vde" = "yes" ; then
1.1.1.9 ! root     1597:   echo "CONFIG_VDE=y" >> $config_host_mak
        !          1598:   echo "#define CONFIG_VDE 1" >> $config_host_h
        !          1599:   echo "VDE_LIBS=-lvdeplug" >> $config_host_mak
1.1.1.7   root     1600: fi
                   1601: for card in $audio_card_list; do
                   1602:     def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
1.1.1.9 ! root     1603:     echo "$def=y" >> $config_host_mak
        !          1604:     echo "#define $def 1" >> $config_host_h
1.1.1.7   root     1605: done
1.1.1.9 ! root     1606: echo "#define AUDIO_DRIVERS \\" >> $config_host_h
1.1.1.7   root     1607: for drv in $audio_drv_list; do
1.1.1.9 ! root     1608:     echo "    &${drv}_audio_driver, \\" >>$config_host_h
1.1.1.7   root     1609:     def=CONFIG_`echo $drv | tr '[:lower:]' '[:upper:]'`
1.1.1.9 ! root     1610:     echo "$def=y" >> $config_host_mak
1.1.1.7   root     1611:     if test "$drv" = "fmod"; then
1.1.1.9 ! root     1612:         echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_host_mak
        !          1613:         echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_host_mak
1.1.1.7   root     1614:     elif test "$drv" = "oss"; then
1.1.1.9 ! root     1615:         echo "CONFIG_OSS_LIB=$oss_lib" >> $config_host_mak
1.1.1.7   root     1616:     fi
                   1617: done
1.1.1.9 ! root     1618: echo "" >>$config_host_h
1.1.1.7   root     1619: if test "$mixemu" = "yes" ; then
1.1.1.9 ! root     1620:   echo "CONFIG_MIXEMU=y" >> $config_host_mak
        !          1621:   echo "#define CONFIG_MIXEMU 1" >> $config_host_h
1.1       root     1622: fi
1.1.1.6   root     1623: if test "$vnc_tls" = "yes" ; then
1.1.1.9 ! root     1624:   echo "CONFIG_VNC_TLS=y" >> $config_host_mak
        !          1625:   echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_host_mak
        !          1626:   echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_host_mak
        !          1627:   echo "#define CONFIG_VNC_TLS 1" >> $config_host_h
        !          1628: fi
        !          1629: if test "$vnc_sasl" = "yes" ; then
        !          1630:   echo "CONFIG_VNC_SASL=y" >> $config_host_mak
        !          1631:   echo "CONFIG_VNC_SASL_CFLAGS=$vnc_sasl_cflags" >> $config_host_mak
        !          1632:   echo "CONFIG_VNC_SASL_LIBS=$vnc_sasl_libs" >> $config_host_mak
        !          1633:   echo "#define CONFIG_VNC_SASL 1" >> $config_host_h
        !          1634: fi
        !          1635: if test "$fnmatch" = "yes" ; then
        !          1636:   echo "#define HAVE_FNMATCH_H 1" >> $config_host_h
1.1.1.6   root     1637: fi
1.1.1.3   root     1638: qemu_version=`head $source_path/VERSION`
1.1.1.9 ! root     1639: echo "VERSION=$qemu_version" >>$config_host_mak
        !          1640: echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_host_h
1.1.1.3   root     1641: 
1.1.1.9 ! root     1642: echo "#define QEMU_PKGVERSION \"$pkgversion\"" >> $config_host_h
        !          1643: 
        !          1644: echo "SRC_PATH=$source_path" >> $config_host_mak
1.1.1.3   root     1645: if [ "$source_path_used" = "yes" ]; then
1.1.1.9 ! root     1646:   echo "VPATH=$source_path" >> $config_host_mak
1.1.1.3   root     1647: fi
1.1.1.9 ! root     1648: echo "TARGET_DIRS=$target_list" >> $config_host_mak
1.1.1.3   root     1649: if [ "$build_docs" = "yes" ] ; then
1.1.1.9 ! root     1650:   echo "BUILD_DOCS=yes" >> $config_host_mak
1.1.1.3   root     1651: fi
1.1.1.6   root     1652: if test "$static" = "yes"; then
                   1653:   sdl1=$sdl_static
                   1654: else
                   1655:   sdl1=$sdl
                   1656: fi
                   1657: if test "$sdl1" = "yes" ; then
1.1.1.9 ! root     1658:   echo "#define CONFIG_SDL 1" >> $config_host_h
        !          1659:   echo "CONFIG_SDL=y" >> $config_host_mak
1.1.1.6   root     1660:   if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1.1.1.9 ! root     1661:     echo "SDL_LIBS=$sdl_static_libs" >> $config_host_mak
1.1.1.7   root     1662:   elif test "$sdl_x11" = "yes" ; then
1.1.1.9 ! root     1663:     echo "SDL_LIBS=`$sdl_config --libs` -lX11" >> $config_host_mak
1.1.1.6   root     1664:   else
1.1.1.9 ! root     1665:     echo "SDL_LIBS=`$sdl_config --libs`" >> $config_host_mak
1.1.1.6   root     1666:   fi
                   1667:   if [ "${aa}" = "yes" ] ; then
1.1.1.9 ! root     1668:     echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_host_mak
1.1.1.6   root     1669:   else
1.1.1.9 ! root     1670:     echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_host_mak
1.1.1.6   root     1671:   fi
                   1672: fi
                   1673: if test "$cocoa" = "yes" ; then
1.1.1.9 ! root     1674:   echo "#define CONFIG_COCOA 1" >> $config_host_h
        !          1675:   echo "CONFIG_COCOA=y" >> $config_host_mak
1.1.1.7   root     1676: fi
                   1677: if test "$curses" = "yes" ; then
1.1.1.9 ! root     1678:   echo "#define CONFIG_CURSES 1" >> $config_host_h
        !          1679:   echo "CONFIG_CURSES=y" >> $config_host_mak
        !          1680:   if test "$ncurses" = "yes" ; then
        !          1681:     echo "CURSES_LIBS=-lncurses" >> $config_host_mak
        !          1682:   else
        !          1683:     echo "CURSES_LIBS=-lcurses" >> $config_host_mak
        !          1684:   fi
        !          1685: fi
        !          1686: if test "$atfile" = "yes" ; then
        !          1687:   echo "#define CONFIG_ATFILE 1" >> $config_host_h
        !          1688: fi
        !          1689: if test "$utimens" = "yes" ; then
        !          1690:   echo "#define CONFIG_UTIMENSAT 1" >> $config_host_h
        !          1691: fi
        !          1692: if test "$pipe2" = "yes" ; then
        !          1693:   echo "#define CONFIG_PIPE2 1" >> $config_host_h
        !          1694: fi
        !          1695: if test "$splice" = "yes" ; then
        !          1696:   echo "#define CONFIG_SPLICE 1" >> $config_host_h
        !          1697: fi
        !          1698: if test "$inotify" = "yes" ; then
        !          1699:   echo "#define CONFIG_INOTIFY 1" >> $config_host_h
        !          1700: fi
        !          1701: if test "$curl" = "yes" ; then
        !          1702:   echo "CONFIG_CURL=y" >> $config_host_mak
        !          1703:   echo "CURL_LIBS=$curl_libs" >> $config_host_mak
        !          1704:   echo "#define CONFIG_CURL 1" >> $config_host_h
1.1.1.7   root     1705: fi
                   1706: if test "$brlapi" = "yes" ; then
1.1.1.9 ! root     1707:   echo "CONFIG_BRLAPI=y" >> $config_host_mak
        !          1708:   echo "#define CONFIG_BRLAPI 1" >> $config_host_h
        !          1709:   echo "BRLAPI_LIBS=-lbrlapi" >> $config_host_mak
1.1.1.7   root     1710: fi
                   1711: if test "$bluez" = "yes" ; then
1.1.1.9 ! root     1712:   echo "CONFIG_BLUEZ=y" >> $config_host_mak
        !          1713:   echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_host_mak
        !          1714:   echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_host_mak
        !          1715:   echo "#define CONFIG_BLUEZ 1" >> $config_host_h
        !          1716: fi
        !          1717: if test "$xen" = "yes" ; then
        !          1718:   echo "XEN_LIBS=-lxenstore -lxenctrl -lxenguest" >> $config_host_mak
1.1.1.7   root     1719: fi
                   1720: if test "$aio" = "yes" ; then
1.1.1.9 ! root     1721:   echo "#define CONFIG_AIO 1" >> $config_host_h
        !          1722:   echo "CONFIG_AIO=y" >> $config_host_mak
        !          1723: fi
        !          1724: if test "$io_thread" = "yes" ; then
        !          1725:   echo "CONFIG_IOTHREAD=y" >> $config_host_mak
        !          1726:   echo "#define CONFIG_IOTHREAD 1" >> $config_host_h
1.1.1.7   root     1727: fi
                   1728: if test "$blobs" = "yes" ; then
1.1.1.9 ! root     1729:   echo "INSTALL_BLOBS=yes" >> $config_host_mak
1.1.1.7   root     1730: fi
                   1731: if test "$iovec" = "yes" ; then
1.1.1.9 ! root     1732:   echo "#define HAVE_IOVEC 1" >> $config_host_h
        !          1733: fi
        !          1734: if test "$preadv" = "yes" ; then
        !          1735:   echo "#define HAVE_PREADV 1" >> $config_host_h
1.1.1.7   root     1736: fi
                   1737: if test "$fdt" = "yes" ; then
1.1.1.9 ! root     1738:   echo "#define HAVE_FDT 1" >> $config_host_h
        !          1739:   echo "FDT_LIBS=-lfdt" >> $config_host_mak
1.1.1.6   root     1740: fi
1.1       root     1741: 
                   1742: # XXX: suppress that
                   1743: if [ "$bsd" = "yes" ] ; then
1.1.1.9 ! root     1744:   echo "#define O_LARGEFILE 0" >> $config_host_h
        !          1745:   echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_host_h
        !          1746:   echo "#define HOST_BSD 1" >> $config_host_h
1.1       root     1747: fi
                   1748: 
1.1.1.9 ! root     1749: echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_host_h
1.1.1.4   root     1750: 
1.1.1.7   root     1751: # USB host support
                   1752: case "$usb" in
                   1753: linux)
1.1.1.9 ! root     1754:   echo "HOST_USB=linux" >> $config_host_mak
1.1.1.7   root     1755: ;;
                   1756: bsd)
1.1.1.9 ! root     1757:   echo "HOST_USB=bsd" >> $config_host_mak
1.1.1.7   root     1758: ;;
                   1759: *)
1.1.1.9 ! root     1760:   echo "HOST_USB=stub" >> $config_host_mak
1.1.1.7   root     1761: ;;
                   1762: esac
                   1763: 
1.1.1.9 ! root     1764: # Determine what linker flags to use to force archive inclusion
        !          1765: check_linker_flags()
        !          1766: {
        !          1767:     w2=
        !          1768:     if test "$2" ; then
        !          1769:        w2=-Wl,$2
        !          1770:     fi
        !          1771:     $cc $ARCH_CFLAGS -o $TMPE $OS_CFLAGS $TMPC -Wl,$1 ${w2} >/dev/null 2>/dev/null
        !          1772: }
        !          1773: 
        !          1774: cat > $TMPC << EOF
        !          1775: int main(void) { }
        !          1776: EOF
        !          1777: if check_linker_flags --whole-archive --no-whole-archive ; then
        !          1778:     # GNU ld
        !          1779:     echo "ARLIBS_BEGIN=-Wl,--whole-archive" >> $config_host_mak
        !          1780:     echo "ARLIBS_END=-Wl,--no-whole-archive" >> $config_host_mak
        !          1781: elif check_linker_flags -z,allextract -z,defaultextract ; then
        !          1782:     # Solaris ld
        !          1783:     echo "ARLIBS_BEGIN=-Wl,-z,allextract" >> $config_host_mak
        !          1784:     echo "ARLIBS_END=-Wl,-z,defaultextract" >> $config_host_mak
        !          1785: elif check_linker_flags -all_load ; then
        !          1786:     # Mac OS X
        !          1787:     echo "ARLIBS_BEGIN=-all_load" >> $config_host_mak
        !          1788:     echo "ARLIBS_END=" >> $config_host_mak
        !          1789: else
        !          1790:     echo "Error: your linker does not support --whole-archive or -z."
        !          1791:     echo "Please report to qemu-devel@nongnu.org"
        !          1792:     exit 1
        !          1793: fi
        !          1794: 
        !          1795: if test "$xen" = "yes" ;
        !          1796:     then
        !          1797:     echo "CONFIG_XEN=y" >> $config_host_mak
        !          1798: fi
        !          1799: 
1.1.1.6   root     1800: tools=
                   1801: if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
                   1802:   tools="qemu-img\$(EXESUF) $tools"
1.1.1.7   root     1803:   if [ "$linux" = "yes" ] ; then
1.1.1.9 ! root     1804:       tools="qemu-nbd\$(EXESUF) qemu-io\$(EXESUF) $tools"
        !          1805:   elif test "$mingw32" = "yes" ; then
        !          1806:       tools="qemu-io\$(EXESUF) $tools"
1.1.1.7   root     1807:   fi
1.1.1.6   root     1808: fi
1.1.1.9 ! root     1809: echo "TOOLS=$tools" >> $config_host_mak
1.1.1.6   root     1810: 
1.1.1.9 ! root     1811: roms=
        !          1812: if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
        !          1813:         "$targetos" != "Darwin" ; then
        !          1814:   roms="optionrom"
        !          1815: fi
        !          1816: echo "ROMS=$roms" >> $config_host_mak
        !          1817: 
        !          1818: if test -f ${config_host_h}~ ; then
        !          1819:   if cmp -s $config_host_h ${config_host_h}~ ; then
        !          1820:     mv ${config_host_h}~ $config_host_h
        !          1821:   else
        !          1822:     rm ${config_host_h}~
        !          1823:   fi
        !          1824: fi
1.1.1.6   root     1825: 
1.1.1.2   root     1826: for target in $target_list; do
1.1       root     1827: target_dir="$target"
                   1828: config_mak=$target_dir/config.mak
                   1829: config_h=$target_dir/config.h
1.1.1.9 ! root     1830: target_arch2=`echo $target | cut -d '-' -f 1`
1.1       root     1831: target_bigendian="no"
1.1.1.9 ! root     1832: case "$target_arch2" in
        !          1833:   armeb|m68k|microblaze|mips|mipsn32|mips64|ppc|ppcemb|ppc64|ppc64abi32|sh4eb|sparc|sparc64|sparc32plus)
        !          1834:   target_bigendian=yes
        !          1835:   ;;
        !          1836: esac
1.1       root     1837: target_softmmu="no"
                   1838: target_user_only="no"
1.1.1.5   root     1839: target_linux_user="no"
                   1840: target_darwin_user="no"
1.1.1.7   root     1841: target_bsd_user="no"
1.1.1.6   root     1842: case "$target" in
1.1.1.9 ! root     1843:   ${target_arch2}-softmmu)
1.1.1.6   root     1844:     target_softmmu="yes"
                   1845:     ;;
1.1.1.9 ! root     1846:   ${target_arch2}-linux-user)
1.1.1.6   root     1847:     target_user_only="yes"
                   1848:     target_linux_user="yes"
                   1849:     ;;
1.1.1.9 ! root     1850:   ${target_arch2}-darwin-user)
1.1.1.6   root     1851:     target_user_only="yes"
                   1852:     target_darwin_user="yes"
                   1853:     ;;
1.1.1.9 ! root     1854:   ${target_arch2}-bsd-user)
1.1.1.7   root     1855:     target_user_only="yes"
                   1856:     target_bsd_user="yes"
                   1857:     ;;
1.1.1.6   root     1858:   *)
                   1859:     echo "ERROR: Target '$target' not recognised"
                   1860:     exit 1
                   1861:     ;;
                   1862: esac
1.1.1.5   root     1863: 
1.1       root     1864: #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
                   1865: 
1.1.1.6   root     1866: test -f $config_h && mv $config_h ${config_h}~
                   1867: 
1.1       root     1868: mkdir -p $target_dir
                   1869: mkdir -p $target_dir/fpu
1.1.1.7   root     1870: mkdir -p $target_dir/tcg
                   1871: 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     1872:   mkdir -p $target_dir/nwfpe
                   1873: fi
                   1874: 
1.1.1.3   root     1875: #
                   1876: # don't use ln -sf as not all "ln -sf" over write the file/link
                   1877: #
                   1878: rm -f $target_dir/Makefile
                   1879: ln -s $source_path/Makefile.target $target_dir/Makefile
                   1880: 
1.1       root     1881: 
                   1882: echo "# Automatically generated by configure - do not modify" > $config_mak
                   1883: 
                   1884: echo "include ../config-host.mak" >> $config_mak
                   1885: 
1.1.1.4   root     1886: bflt="no"
1.1.1.6   root     1887: elfload32="no"
1.1.1.7   root     1888: target_nptl="no"
1.1.1.9 ! root     1889: interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
        !          1890: echo "CONFIG_QEMU_PREFIX=\"$interp_prefix1\"" >> $config_mak
1.1.1.7   root     1891: gdb_xml_files=""
1.1       root     1892: 
1.1.1.9 ! root     1893: TARGET_ARCH="$target_arch2"
        !          1894: TARGET_BASE_ARCH=""
        !          1895: TARGET_ABI_DIR=""
1.1.1.7   root     1896: 
1.1.1.9 ! root     1897: case "$target_arch2" in
1.1.1.7   root     1898:   i386)
1.1.1.9 ! root     1899:     target_phys_bits=32
1.1.1.7   root     1900:   ;;
                   1901:   x86_64)
1.1.1.9 ! root     1902:     TARGET_BASE_ARCH=i386
        !          1903:     target_phys_bits=64
1.1.1.7   root     1904:   ;;
                   1905:   alpha)
1.1.1.9 ! root     1906:     target_phys_bits=64
1.1.1.7   root     1907:   ;;
                   1908:   arm|armeb)
1.1.1.9 ! root     1909:     TARGET_ARCH=arm
1.1.1.7   root     1910:     bflt="yes"
                   1911:     target_nptl="yes"
                   1912:     gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
1.1.1.9 ! root     1913:     target_phys_bits=32
1.1.1.7   root     1914:   ;;
                   1915:   cris)
                   1916:     target_nptl="yes"
1.1.1.9 ! root     1917:     target_phys_bits=32
1.1.1.7   root     1918:   ;;
                   1919:   m68k)
                   1920:     bflt="yes"
                   1921:     gdb_xml_files="cf-core.xml cf-fp.xml"
1.1.1.9 ! root     1922:     target_phys_bits=32
        !          1923:   ;;
        !          1924:   microblaze)
        !          1925:     bflt="yes"
        !          1926:     target_nptl="yes"
        !          1927:     target_phys_bits=32
1.1.1.7   root     1928:   ;;
                   1929:   mips|mipsel)
1.1.1.9 ! root     1930:     TARGET_ARCH=mips
        !          1931:     echo "TARGET_ABI_MIPSO32=y" >> $config_mak
        !          1932:     target_nptl="yes"
        !          1933:     target_phys_bits=64
1.1.1.7   root     1934:   ;;
                   1935:   mipsn32|mipsn32el)
1.1.1.9 ! root     1936:     TARGET_ARCH=mipsn32
        !          1937:     TARGET_BASE_ARCH=mips
        !          1938:     echo "TARGET_ABI_MIPSN32=y" >> $config_mak
        !          1939:     target_phys_bits=64
1.1.1.7   root     1940:   ;;
                   1941:   mips64|mips64el)
1.1.1.9 ! root     1942:     TARGET_ARCH=mips64
        !          1943:     TARGET_BASE_ARCH=mips
        !          1944:     echo "TARGET_ABI_MIPSN64=y" >> $config_mak
        !          1945:     target_phys_bits=64
1.1.1.7   root     1946:   ;;
                   1947:   ppc)
                   1948:     gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
1.1.1.9 ! root     1949:     target_phys_bits=32
1.1.1.7   root     1950:   ;;
                   1951:   ppcemb)
1.1.1.9 ! root     1952:     TARGET_BASE_ARCH=ppc
        !          1953:     TARGET_ABI_DIR=ppc
1.1.1.7   root     1954:     gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
1.1.1.9 ! root     1955:     target_phys_bits=64
1.1.1.7   root     1956:   ;;
                   1957:   ppc64)
1.1.1.9 ! root     1958:     TARGET_BASE_ARCH=ppc
        !          1959:     TARGET_ABI_DIR=ppc
1.1.1.7   root     1960:     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
1.1.1.9 ! root     1961:     target_phys_bits=64
1.1.1.7   root     1962:   ;;
                   1963:   ppc64abi32)
1.1.1.9 ! root     1964:     TARGET_ARCH=ppc64
        !          1965:     TARGET_BASE_ARCH=ppc
        !          1966:     TARGET_ABI_DIR=ppc
        !          1967:     echo "TARGET_ABI32=y" >> $config_mak
1.1.1.7   root     1968:     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
1.1.1.9 ! root     1969:     target_phys_bits=64
1.1.1.7   root     1970:   ;;
                   1971:   sh4|sh4eb)
1.1.1.9 ! root     1972:     TARGET_ARCH=sh4
1.1.1.7   root     1973:     bflt="yes"
                   1974:     target_nptl="yes"
1.1.1.9 ! root     1975:     target_phys_bits=32
1.1.1.7   root     1976:   ;;
                   1977:   sparc)
1.1.1.9 ! root     1978:     target_phys_bits=64
1.1.1.7   root     1979:   ;;
                   1980:   sparc64)
1.1.1.9 ! root     1981:     TARGET_BASE_ARCH=sparc
1.1.1.7   root     1982:     elfload32="yes"
1.1.1.9 ! root     1983:     target_phys_bits=64
1.1.1.7   root     1984:   ;;
                   1985:   sparc32plus)
1.1.1.9 ! root     1986:     TARGET_ARCH=sparc64
        !          1987:     TARGET_BASE_ARCH=sparc
        !          1988:     TARGET_ABI_DIR=sparc
        !          1989:     echo "TARGET_ABI32=y" >> $config_mak
        !          1990:     target_phys_bits=64
1.1.1.7   root     1991:   ;;
                   1992:   *)
                   1993:     echo "Unsupported target CPU"
                   1994:     exit 1
                   1995:   ;;
                   1996: esac
1.1.1.9 ! root     1997: echo "TARGET_ARCH=$TARGET_ARCH" >> $config_mak
        !          1998: echo "TARGET_ARCH2=$target_arch2" >> $config_mak
        !          1999: # TARGET_BASE_ARCH needs to be defined after TARGET_ARCH
        !          2000: if [ "$TARGET_BASE_ARCH" = "" ]; then
        !          2001:   TARGET_BASE_ARCH=$TARGET_ARCH
        !          2002: fi
        !          2003: echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_mak
        !          2004: if [ "$TARGET_ABI_DIR" = "" ]; then
        !          2005:   TARGET_ABI_DIR=$TARGET_ARCH
        !          2006: fi
        !          2007: echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_mak
        !          2008: if [ $target_phys_bits -lt $hostlongbits ] ; then
        !          2009:   target_phys_bits=$hostlongbits
        !          2010: fi
        !          2011: case "$target_arch2" in
        !          2012:   i386|x86_64)
        !          2013:     if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then
        !          2014:       echo "CONFIG_XEN=y" >> $config_mak
        !          2015:     fi
        !          2016:     if test $kqemu = "yes" -a "$target_softmmu" = "yes"
        !          2017:     then
        !          2018:       echo "CONFIG_KQEMU=y" >> $config_mak
        !          2019:     fi
        !          2020: esac
        !          2021: case "$target_arch2" in
        !          2022:   i386|x86_64|ppcemb)
        !          2023:     # Make sure the target and host cpus are compatible
        !          2024:     if test "$kvm" = "yes" -a "$target_softmmu" = "yes" -a \
        !          2025:       \( "$target_arch2" = "$cpu" -o \
        !          2026:       \( "$target_arch2" = "ppcemb" -a "$cpu" = "ppc" \) -o \
        !          2027:       \( "$target_arch2" = "x86_64" -a "$cpu" = "i386"   \) -o \
        !          2028:       \( "$target_arch2" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
        !          2029:       echo "CONFIG_KVM=y" >> $config_mak
        !          2030:       echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
        !          2031:     fi
        !          2032: esac
        !          2033: echo "HWLIB=../libhw$target_phys_bits/libqemuhw$target_phys_bits.a" >> $config_mak
        !          2034: echo "TARGET_PHYS_ADDR_BITS=$target_phys_bits" >> $config_mak
        !          2035: echo "subdir-$target: subdir-libhw$target_phys_bits" >> $config_host_mak
1.1       root     2036: if test "$target_bigendian" = "yes" ; then
1.1.1.9 ! root     2037:   echo "TARGET_WORDS_BIGENDIAN=y" >> $config_mak
1.1       root     2038: fi
                   2039: if test "$target_softmmu" = "yes" ; then
1.1.1.9 ! root     2040:   echo "CONFIG_SOFTMMU=y" >> $config_mak
1.1       root     2041: fi
                   2042: if test "$target_user_only" = "yes" ; then
1.1.1.9 ! root     2043:   echo "CONFIG_USER_ONLY=y" >> $config_mak
1.1       root     2044: fi
1.1.1.5   root     2045: if test "$target_linux_user" = "yes" ; then
1.1.1.9 ! root     2046:   echo "CONFIG_LINUX_USER=y" >> $config_mak
1.1.1.5   root     2047: fi
                   2048: if test "$target_darwin_user" = "yes" ; then
1.1.1.9 ! root     2049:   echo "CONFIG_DARWIN_USER=y" >> $config_mak
1.1.1.5   root     2050: fi
1.1.1.7   root     2051: list=""
                   2052: if test ! -z "$gdb_xml_files" ; then
                   2053:   for x in $gdb_xml_files; do
                   2054:     list="$list $source_path/gdb-xml/$x"
                   2055:   done
                   2056: fi
                   2057: echo "TARGET_XML_FILES=$list" >> $config_mak
                   2058: 
1.1.1.9 ! root     2059: case "$target_arch2" in
        !          2060:   arm|armeb|m68k|microblaze|mips|mipsel|mipsn32|mipsn32el|mips64|mips64el|ppc|ppc64|ppc64abi32|ppcemb|sparc|sparc64|sparc32plus)
        !          2061:     echo "CONFIG_SOFTFLOAT=y" >> $config_mak
        !          2062:     ;;
        !          2063: esac
        !          2064: 
1.1.1.4   root     2065: if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1.1.1.9 ! root     2066:   echo "TARGET_HAS_BFLT=y" >> $config_mak
1.1.1.4   root     2067: fi
1.1.1.7   root     2068: if test "$target_user_only" = "yes" \
                   2069:         -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1.1.1.9 ! root     2070:   echo "USE_NPTL=y" >> $config_mak
1.1.1.7   root     2071: fi
1.1.1.6   root     2072: # 32 bit ELF loader in addition to native 64 bit loader?
                   2073: if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1.1.1.9 ! root     2074:   echo "TARGET_HAS_ELFLOAD32=y" >> $config_mak
1.1       root     2075: fi
1.1.1.7   root     2076: if test "$target_bsd_user" = "yes" ; then
1.1.1.9 ! root     2077:   echo "CONFIG_BSD_USER=y" >> $config_mak
1.1.1.7   root     2078: fi
1.1       root     2079: 
1.1.1.9 ! root     2080: $source_path/create_config < $config_mak > $config_h
        !          2081: 
1.1.1.6   root     2082: test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1.1       root     2083: 
                   2084: done # for target in $targets
                   2085: 
                   2086: # build tree in object directory if source path is different from current one
                   2087: if test "$source_path_used" = "yes" ; then
1.1.1.9 ! root     2088:     DIRS="tests tests/cris slirp audio block pc-bios/optionrom"
1.1       root     2089:     FILES="Makefile tests/Makefile"
1.1.1.6   root     2090:     FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1.1.1.7   root     2091:     FILES="$FILES tests/test-mmap.c"
1.1.1.9 ! root     2092:     FILES="$FILES pc-bios/optionrom/Makefile"
1.1       root     2093:     for dir in $DIRS ; do
                   2094:             mkdir -p $dir
                   2095:     done
1.1.1.3   root     2096:     # remove the link and recreate it, as not all "ln -sf" overwrite the link
1.1       root     2097:     for f in $FILES ; do
1.1.1.3   root     2098:         rm -f $f
                   2099:         ln -s $source_path/$f $f
1.1       root     2100:     done
                   2101: fi
1.1.1.9 ! root     2102: 
        !          2103: for hwlib in 32 64; do
        !          2104:   d=libhw$hwlib
        !          2105:   mkdir -p $d
        !          2106:   rm -f $d/Makefile
        !          2107:   ln -s $source_path/Makefile.hw $d/Makefile
        !          2108:   echo "HWLIB=libqemuhw$hwlib.a" > $d/config.mak
        !          2109:   echo "CPPFLAGS=-DTARGET_PHYS_ADDR_BITS=$hwlib" >> $d/config.mak
        !          2110: done

unix.superglobalmegacorp.com