Annotation of qemu/configure, revision 1.1.1.8

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

unix.superglobalmegacorp.com