Annotation of qemu/configure, revision 1.1.1.6

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"
                     18: 
                     19: # default parameters
                     20: prefix=""
                     21: interp_prefix="/usr/gnemul/qemu-%M"
                     22: static="no"
                     23: cross_prefix=""
                     24: cc="gcc"
1.1.1.5   root       25: gcc3_search="yes"
1.1.1.6 ! root       26: gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
1.1       root       27: host_cc="gcc"
                     28: ar="ar"
                     29: make="make"
1.1.1.3   root       30: install="install"
1.1       root       31: strip="strip"
                     32: cpu=`uname -m`
                     33: target_list=""
                     34: case "$cpu" in
                     35:   i386|i486|i586|i686|i86pc|BePC)
                     36:     cpu="i386"
                     37:   ;;
                     38:   armv*b)
                     39:     cpu="armv4b"
                     40:   ;;
                     41:   armv*l)
                     42:     cpu="armv4l"
                     43:   ;;
                     44:   alpha)
                     45:     cpu="alpha"
                     46:   ;;
                     47:   "Power Macintosh"|ppc|ppc64)
                     48:     cpu="powerpc"
                     49:   ;;
                     50:   mips)
                     51:     cpu="mips"
                     52:   ;;
1.1.1.6 ! root       53:   mips64)
        !            54:     cpu="mips64"
        !            55:   ;;
        !            56:   cris)
        !            57:     cpu="cris"
        !            58:   ;;
        !            59:   s390*)
1.1       root       60:     cpu="s390"
                     61:   ;;
1.1.1.6 ! root       62:   sparc|sun4[cdmuv])
1.1       root       63:     cpu="sparc"
                     64:   ;;
                     65:   sparc64)
                     66:     cpu="sparc64"
                     67:   ;;
                     68:   ia64)
                     69:     cpu="ia64"
                     70:   ;;
                     71:   m68k)
                     72:     cpu="m68k"
                     73:   ;;
                     74:   x86_64|amd64)
                     75:     cpu="x86_64"
                     76:   ;;
                     77:   *)
                     78:     cpu="unknown"
                     79:   ;;
                     80: esac
                     81: gprof="no"
                     82: bigendian="no"
                     83: mingw32="no"
                     84: EXESUF=""
                     85: gdbstub="yes"
                     86: slirp="yes"
                     87: adlib="no"
                     88: oss="no"
1.1.1.2   root       89: dsound="no"
                     90: coreaudio="no"
                     91: alsa="no"
1.1       root       92: fmod="no"
                     93: fmod_lib=""
                     94: fmod_inc=""
1.1.1.6 ! root       95: vnc_tls="yes"
1.1.1.3   root       96: bsd="no"
1.1       root       97: linux="no"
                     98: kqemu="no"
1.1.1.3   root       99: profiler="no"
1.1       root      100: cocoa="no"
                    101: check_gfx="yes"
1.1.1.2   root      102: check_gcc="yes"
1.1.1.3   root      103: softmmu="yes"
1.1.1.5   root      104: linux_user="no"
                    105: darwin_user="no"
1.1.1.3   root      106: build_docs="no"
1.1.1.4   root      107: uname_release=""
1.1       root      108: 
                    109: # OS specific
                    110: targetos=`uname -s`
                    111: case $targetos in
                    112: CYGWIN*)
                    113: mingw32="yes"
1.1.1.5   root      114: OS_CFLAGS="-mno-cygwin"
1.1.1.6 ! root      115: VL_OS_LDFLAGS="-mno-cygwin"
        !           116: if [ "$cpu" = "i386" ] ; then
        !           117:     kqemu="yes"
        !           118: fi
1.1       root      119: ;;
                    120: MINGW32*)
                    121: mingw32="yes"
1.1.1.6 ! root      122: if [ "$cpu" = "i386" ] ; then
        !           123:     kqemu="yes"
        !           124: fi
        !           125: ;;
        !           126: GNU/kFreeBSD)
        !           127: oss="yes"
        !           128: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
        !           129:     kqemu="yes"
        !           130: fi
1.1       root      131: ;;
                    132: FreeBSD)
                    133: bsd="yes"
                    134: oss="yes"
                    135: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
                    136:     kqemu="yes"
                    137: fi
                    138: ;;
                    139: NetBSD)
                    140: bsd="yes"
                    141: oss="yes"
                    142: ;;
                    143: OpenBSD)
                    144: bsd="yes"
                    145: oss="yes"
                    146: ;;
                    147: Darwin)
                    148: bsd="yes"
                    149: darwin="yes"
1.1.1.5   root      150: darwin_user="yes"
                    151: cocoa="yes"
                    152: coreaudio="yes"
                    153: OS_CFLAGS="-mdynamic-no-pic"
1.1       root      154: ;;
1.1.1.3   root      155: SunOS)
1.1.1.6 ! root      156:     solaris="yes"
        !           157:     make="gmake"
        !           158:     install="ginstall"
        !           159:     needs_libsunmath="no"
        !           160:     solarisrev=`uname -r | cut -f2 -d.`
        !           161:     # have to select again, because `uname -m` returns i86pc
        !           162:     # even on an x86_64 box.
        !           163:     solariscpu=`isainfo -k`
        !           164:     if test "${solariscpu}" = "amd64" ; then
        !           165:         cpu="x86_64"
        !           166:     fi
        !           167:     if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
        !           168:         if test "$solarisrev" -le 9 ; then
        !           169:             if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
        !           170:                 needs_libsunmath="yes"
        !           171:             else
        !           172:                 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
        !           173:                 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
        !           174:                 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
        !           175:                 echo "Studio 11 can be downloaded from www.sun.com."
        !           176:                 exit 1
        !           177:             fi
        !           178:         fi
        !           179:         if test "$solarisrev" -ge 9 ; then
        !           180:             kqemu="yes"
        !           181:         fi
        !           182:     fi
        !           183:     if test -f /usr/include/sys/soundcard.h ; then
        !           184:         oss=yes
        !           185:     fi
1.1.1.3   root      186: ;;
1.1.1.2   root      187: *)
1.1       root      188: oss="yes"
                    189: linux="yes"
1.1.1.5   root      190: linux_user="yes"
1.1       root      191: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
                    192:     kqemu="yes"
                    193: fi
                    194: ;;
                    195: esac
                    196: 
                    197: if [ "$bsd" = "yes" ] ; then
1.1.1.3   root      198:   if [ "$darwin" != "yes" ] ; then
1.1       root      199:     make="gmake"
                    200:   fi
                    201: fi
                    202: 
                    203: # find source path
1.1.1.3   root      204: source_path=`dirname "$0"`
                    205: if [ -z "$source_path" ]; then
1.1       root      206:     source_path=`pwd`
1.1.1.3   root      207: else
                    208:     source_path=`cd "$source_path"; pwd`
                    209: fi
                    210: if test "$source_path" = `pwd` ; then
1.1       root      211:     source_path_used="no"
1.1.1.3   root      212: else
                    213:     source_path_used="yes"
1.1       root      214: fi
                    215: 
1.1.1.6 ! root      216: werror="no"
        !           217: # generate compile errors on warnings for development builds
        !           218: #if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
        !           219: #werror="yes";
        !           220: #fi
        !           221: 
1.1       root      222: for opt do
1.1.1.3   root      223:   optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
1.1       root      224:   case "$opt" in
1.1.1.2   root      225:   --help|-h) show_help=yes
                    226:   ;;
1.1.1.3   root      227:   --prefix=*) prefix="$optarg"
1.1       root      228:   ;;
1.1.1.3   root      229:   --interp-prefix=*) interp_prefix="$optarg"
1.1       root      230:   ;;
1.1.1.3   root      231:   --source-path=*) source_path="$optarg"
                    232:   source_path_used="yes"
1.1       root      233:   ;;
1.1.1.3   root      234:   --cross-prefix=*) cross_prefix="$optarg"
1.1       root      235:   ;;
1.1.1.3   root      236:   --cc=*) cc="$optarg"
1.1.1.5   root      237:   gcc3_search="no"
1.1       root      238:   ;;
1.1.1.3   root      239:   --host-cc=*) host_cc="$optarg"
1.1       root      240:   ;;
1.1.1.3   root      241:   --make=*) make="$optarg"
1.1       root      242:   ;;
1.1.1.3   root      243:   --install=*) install="$optarg"
1.1       root      244:   ;;
1.1.1.3   root      245:   --extra-cflags=*) CFLAGS="$optarg"
1.1       root      246:   ;;
1.1.1.3   root      247:   --extra-ldflags=*) LDFLAGS="$optarg"
1.1       root      248:   ;;
1.1.1.3   root      249:   --cpu=*) cpu="$optarg"
                    250:   ;;
                    251:   --target-list=*) target_list="$optarg"
1.1       root      252:   ;;
                    253:   --enable-gprof) gprof="yes"
                    254:   ;;
                    255:   --static) static="yes"
                    256:   ;;
                    257:   --disable-sdl) sdl="no"
                    258:   ;;
1.1.1.2   root      259:   --enable-coreaudio) coreaudio="yes"
                    260:   ;;
                    261:   --enable-alsa) alsa="yes"
                    262:   ;;
                    263:   --enable-dsound) dsound="yes"
                    264:   ;;
1.1       root      265:   --enable-fmod) fmod="yes"
                    266:   ;;
1.1.1.3   root      267:   --fmod-lib=*) fmod_lib="$optarg"
1.1       root      268:   ;;
1.1.1.3   root      269:   --fmod-inc=*) fmod_inc="$optarg"
1.1       root      270:   ;;
1.1.1.6 ! root      271:   --disable-vnc-tls) vnc_tls="no"
        !           272:   ;;
        !           273:   --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no"
1.1.1.2   root      274:   ;;
1.1       root      275:   --disable-slirp) slirp="no"
1.1.1.2   root      276:   ;;
1.1       root      277:   --enable-adlib) adlib="yes"
1.1.1.2   root      278:   ;;
1.1       root      279:   --disable-kqemu) kqemu="no"
1.1.1.2   root      280:   ;;
1.1.1.3   root      281:   --enable-profiler) profiler="yes"
                    282:   ;;
1.1.1.2   root      283:   --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
                    284:   ;;
1.1       root      285:   --disable-gfx-check) check_gfx="no"
                    286:   ;;
1.1.1.2   root      287:   --disable-gcc-check) check_gcc="no"
                    288:   ;;
1.1.1.3   root      289:   --disable-system) softmmu="no"
                    290:   ;;
                    291:   --enable-system) softmmu="yes"
                    292:   ;;
1.1.1.5   root      293:   --disable-linux-user) linux_user="no"
1.1.1.3   root      294:   ;;
1.1.1.5   root      295:   --enable-linux-user) linux_user="yes"
1.1.1.3   root      296:   ;;
1.1.1.5   root      297:   --disable-darwin-user) darwin_user="no"
                    298:   ;;
                    299:   --enable-darwin-user) darwin_user="yes"
1.1.1.4   root      300:   ;;
1.1.1.5   root      301:   --enable-uname-release=*) uname_release="$optarg"
1.1.1.4   root      302:   ;;
1.1.1.6 ! root      303:   --sparc_cpu=*)
        !           304:       sparc_cpu="$optarg"
        !           305:       case $sparc_cpu in
        !           306:         v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
        !           307:                  target_cpu="sparc"; cpu="sparc" ;;
        !           308:         v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
        !           309:                  target_cpu="sparc"; cpu="sparc" ;;
        !           310:         v9)    SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
        !           311:                  target_cpu="sparc64"; cpu="sparc64" ;;
        !           312:         *)     echo "undefined SPARC architecture. Exiting";exit 1;;
        !           313:       esac
        !           314:   ;;
        !           315:   --enable-werror) werror="yes"
        !           316:   ;;
        !           317:   --disable-werror) werror="no"
        !           318:   ;;
        !           319:   *) echo "ERROR: unknown option $opt"; show_help="yes"
        !           320:   ;;
1.1       root      321:   esac
                    322: done
                    323: 
1.1.1.6 ! root      324: if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
        !           325:     AIOLIBS=
        !           326: else
        !           327:     # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
        !           328:     AIOLIBS="-lrt -lpthread"
        !           329: fi
        !           330: 
1.1.1.5   root      331: # default flags for all hosts
                    332: CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
                    333: LDFLAGS="$LDFLAGS -g"
1.1.1.6 ! root      334: if test "$werror" = "yes" ; then
        !           335: CFLAGS="$CFLAGS -Werror"
        !           336: fi
        !           337: 
        !           338: #
        !           339: # If cpu ~= sparc and  sparc_cpu hasn't been defined, plug in the right
        !           340: # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
        !           341: #
        !           342: case $cpu in
        !           343:     sparc) if test -z "$sparc_cpu" ; then
        !           344:                ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
        !           345:                ARCH_LDFLAGS="-m32"
        !           346:            else
        !           347:                ARCH_CFLAGS="${SP_CFLAGS}"
        !           348:                ARCH_LDFLAGS="${SP_LDFLAGS}"
        !           349:            fi
        !           350:            ;;
        !           351:     sparc64) if test -z "$sparc_cpu" ; then
        !           352:                ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
        !           353:                ARCH_LDFLAGS="-m64"
        !           354:            else
        !           355:                ARCH_CFLAGS="${SP_CFLAGS}"
        !           356:                ARCH_LDFLAGS="${SP_LDFLAGS}"
        !           357:            fi
        !           358:            ;;
        !           359:     s390)
        !           360:            ARCH_CFLAGS="-march=z900"
        !           361:            ;;
        !           362: esac
        !           363: 
        !           364: if [ "$solaris" = "yes" -a  "$cpu" = "x86_64" ] ; then
        !           365:     CFLAGS="${CFLAGS} -m64"
        !           366:     OS_CFLAGS="${OS_CFLAGS} -m64"
        !           367:     OS_LDFLAGS="${OS_LDFLAGS} -m64"
        !           368: fi
        !           369: 
        !           370: if [ "$solaris" = "yes" -a  "$cpu" = "i386" ] ; then
        !           371:     CFLAGS="${CFLAGS} -m32"
        !           372:     OS_CFLAGS="${OS_CFLAGS} -m32"
        !           373: fi
1.1       root      374: 
1.1.1.3   root      375: if test x"$show_help" = x"yes" ; then
                    376: cat << EOF
                    377: 
                    378: Usage: configure [options]
                    379: Options: [defaults in brackets after descriptions]
                    380: 
                    381: EOF
                    382: echo "Standard options:"
                    383: echo "  --help                   print this message"
                    384: echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
                    385: echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
                    386: echo "                           use %M for cpu name [$interp_prefix]"
                    387: echo "  --target-list=LIST       set target list [$target_list]"
                    388: echo ""
                    389: echo "kqemu kernel acceleration support:"
                    390: echo "  --disable-kqemu          disable kqemu support"
                    391: echo ""
                    392: echo "Advanced options (experts only):"
                    393: echo "  --source-path=PATH       path of source code [$source_path]"
                    394: echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
                    395: echo "  --cc=CC                  use C compiler CC [$cc]"
                    396: echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."
                    397: echo "  --make=MAKE              use specified make [$make]"
                    398: echo "  --install=INSTALL        use specified install [$install]"
                    399: echo "  --static                 enable static build [$static]"
1.1.1.6 ! root      400: echo "  --disable-werror         disable compilation abort on warning"
        !           401: echo "  --disable-sdl            disable SDL"
1.1.1.3   root      402: echo "  --enable-cocoa           enable COCOA (Mac OS X only)"
                    403: echo "  --enable-mingw32         enable Win32 cross compilation with mingw32"
                    404: echo "  --enable-adlib           enable Adlib emulation"
                    405: echo "  --enable-coreaudio       enable Coreaudio audio driver"
                    406: echo "  --enable-alsa            enable ALSA audio driver"
                    407: echo "  --enable-fmod            enable FMOD audio driver"
1.1.1.6 ! root      408: echo "  --enable-dsound          enable DirectSound audio driver"
        !           409: echo "  --disable-vnc-tls        disable TLS encryption for VNC server"
1.1.1.3   root      410: echo "  --enable-system          enable all system emulation targets"
                    411: echo "  --disable-system         disable all system emulation targets"
1.1.1.5   root      412: echo "  --enable-linux-user      enable all linux usermode emulation targets"
                    413: echo "  --disable-linux-user     disable all linux usermode emulation targets"
                    414: echo "  --enable-darwin-user     enable all darwin usermode emulation targets"
                    415: echo "  --disable-darwin-user    disable all darwin usermode emulation targets"
1.1.1.3   root      416: echo "  --fmod-lib               path to FMOD library"
                    417: echo "  --fmod-inc               path to FMOD includes"
1.1.1.4   root      418: echo "  --enable-uname-release=R Return R for uname -r in usermode emulation"
1.1.1.6 ! root      419: echo "  --sparc_cpu=V            Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
1.1.1.3   root      420: echo ""
1.1.1.5   root      421: echo "NOTE: The object files are built at the place where configure is launched"
1.1.1.3   root      422: exit 1
                    423: fi
                    424: 
1.1       root      425: cc="${cross_prefix}${cc}"
                    426: ar="${cross_prefix}${ar}"
                    427: strip="${cross_prefix}${strip}"
                    428: 
1.1.1.4   root      429: # check that the C compiler works.
                    430: cat > $TMPC <<EOF
                    431: int main(void) {}
                    432: EOF
                    433: 
1.1.1.6 ! root      434: if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
1.1.1.4   root      435:   : C compiler works ok
                    436: else
                    437:     echo "ERROR: \"$cc\" either does not exist or does not work"
                    438:     exit 1
1.1.1.3   root      439: fi
                    440: 
1.1       root      441: if test "$mingw32" = "yes" ; then
                    442:     linux="no"
                    443:     EXESUF=".exe"
                    444:     oss="no"
                    445: fi
                    446: 
1.1.1.6 ! root      447: # Check for gcc4, error if pre-gcc4
1.1.1.5   root      448: if test "$check_gcc" = "yes" ; then
                    449:     cat > $TMPC <<EOF
                    450: #if __GNUC__ < 4
                    451: #error gcc3
                    452: #endif
                    453: int main(){return 0;}
                    454: EOF
1.1.1.6 ! root      455:     if "$cc" -o $TMPE $TMPC 2> /dev/null ; then
1.1.1.5   root      456:        echo "WARNING: \"$cc\" looks like gcc 4.x"
                    457:        found_compat_cc="no"
                    458:        if test "$gcc3_search" = "yes" ; then
                    459:            echo "Looking for gcc 3.x"
                    460:            for compat_cc in $gcc3_list ; do
1.1.1.6 ! root      461:                if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
1.1.1.5   root      462:                    echo "Found \"$compat_cc\""
1.1.1.6 ! root      463:                    cc="$cross_prefix$compat_cc"
1.1.1.5   root      464:                    found_compat_cc="yes"
                    465:                    break
                    466:                fi
                    467:            done
                    468:            if test "$found_compat_cc" = "no" ; then
                    469:                echo "gcc 3.x not found!"
                    470:            fi
                    471:        fi
                    472:        if test "$found_compat_cc" = "no" ; then
                    473:            echo "QEMU is known to have problems when compiled with gcc 4.x"
                    474:            echo "It is recommended that you use gcc 3.x to build QEMU"
                    475:            echo "To use this compiler anyway, configure with --disable-gcc-check"
                    476:            exit 1;
                    477:        fi
                    478:     fi
                    479: fi
                    480: 
1.1.1.3   root      481: #
                    482: # Solaris specific configure tool chain decisions
                    483: #
                    484: if test "$solaris" = "yes" ; then
                    485:   #
                    486:   # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
                    487:   # override the check with --disable-gcc-check
1.1.1.6 ! root      488:   #
1.1.1.3   root      489:   if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
                    490:     solgcc=`which $cc`
                    491:     if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
                    492:       echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
                    493:       echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
                    494:       echo "or get the latest patch from SunSolve for gcc"
                    495:       exit 1
                    496:     fi
                    497:   fi
                    498:   solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
                    499:   if test -z "$solinst" ; then
                    500:     echo "Solaris install program not found. Use --install=/usr/ucb/install or"
                    501:     echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
                    502:     echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
                    503:     exit 1
                    504:   fi
                    505:   if test "$solinst" = "/usr/sbin/install" ; then
                    506:     echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
                    507:     echo "try ginstall from the GNU fileutils available from www.blastwave.org"
                    508:     echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
                    509:     exit 1
                    510:   fi
                    511:   sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
                    512:   if test -z "$sol_ar" ; then
                    513:     echo "Error: No path includes ar"
                    514:     if test -f /usr/ccs/bin/ar ; then
                    515:       echo "Add /usr/ccs/bin to your path and rerun configure"
                    516:     fi
                    517:     exit 1
                    518:   fi
1.1.1.6 ! root      519: fi
1.1.1.3   root      520: 
                    521: 
1.1       root      522: if test -z "$target_list" ; then
                    523: # these targets are portable
1.1.1.3   root      524:     if [ "$softmmu" = "yes" ] ; then
1.1.1.6 ! root      525:         target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu sh4eb-softmmu cris-softmmu"
1.1.1.3   root      526:     fi
1.1       root      527: # the following are Linux specific
1.1.1.5   root      528:     if [ "$linux_user" = "yes" ] ; then
1.1.1.6 ! root      529:         target_list="i386-linux-user arm-linux-user armeb-linux-user sparc-linux-user sparc64-linux-user sparc32plus-linux-user mips-linux-user mipsel-linux-user m68k-linux-user alpha-linux-user sh4-linux-user sh4eb-linux-user ppc-linux-user ppc64-linux-user ppc64abi32-linux-user x86_64-linux-user cris-linux-user $target_list"
1.1.1.5   root      530:     fi
                    531: # the following are Darwin specific
                    532:     if [ "$darwin_user" = "yes" ] ; then
                    533:         target_list="i386-darwin-user ppc-darwin-user $target_list"
1.1       root      534:     fi
                    535: else
1.1.1.3   root      536:     target_list=`echo "$target_list" | sed -e 's/,/ /g'`
                    537: fi
                    538: if test -z "$target_list" ; then
                    539:     echo "No targets enabled"
                    540:     exit 1
1.1       root      541: fi
                    542: 
                    543: if test -z "$cross_prefix" ; then
                    544: 
                    545: # ---
                    546: # big/little endian test
                    547: cat > $TMPC << EOF
                    548: #include <inttypes.h>
                    549: int main(int argc, char ** argv){
1.1.1.2   root      550:         volatile uint32_t i=0x01234567;
                    551:         return (*((uint8_t*)(&i))) == 0x67;
1.1       root      552: }
                    553: EOF
                    554: 
1.1.1.6 ! root      555: if $cc -o $TMPE $TMPC 2> /dev/null ; then
1.1       root      556: $TMPE && bigendian="yes"
                    557: else
                    558: echo big/little test failed
                    559: fi
                    560: 
                    561: else
                    562: 
                    563: # if cross compiling, cannot launch a program, so make a static guess
1.1.1.6 ! root      564: if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "mips64" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
1.1       root      565:     bigendian="yes"
                    566: fi
                    567: 
                    568: fi
                    569: 
                    570: # host long bits test
                    571: hostlongbits="32"
                    572: if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
                    573:     hostlongbits="64"
                    574: fi
                    575: 
                    576: # check gcc options support
                    577: cat > $TMPC <<EOF
                    578: int main(void) {
                    579: }
                    580: EOF
                    581: 
                    582: ##########################################
                    583: # SDL probe
                    584: 
                    585: sdl_too_old=no
                    586: 
                    587: if test -z "$sdl" ; then
1.1.1.6 ! root      588:     sdl_config="sdl-config"
        !           589:     sdl=no
        !           590:     sdl_static=no
        !           591: 
        !           592:     if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
        !           593:     # win32 cross compilation case
        !           594:         sdl_config="i386-mingw32msvc-sdl-config"
        !           595:         sdl=yes
        !           596:     else
        !           597:         # normal SDL probe
1.1       root      598: cat > $TMPC << EOF
                    599: #include <SDL.h>
                    600: #undef main /* We don't want SDL to override our main() */
                    601: int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
                    602: EOF
1.1.1.6 ! root      603:         if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
        !           604:             _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
        !           605:             if test "$_sdlversion" -lt 121 ; then
        !           606:                 sdl_too_old=yes
        !           607:             else
        !           608:                 if test "$cocoa" = "no" ; then
        !           609:                     sdl=yes
        !           610:                 fi
        !           611:             fi
        !           612: 
        !           613:             # static link with sdl ?
        !           614:             if test "$sdl" = "yes" ; then
        !           615:                 aa="no"
        !           616:                 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
        !           617:                 sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
        !           618:                 if [ "$aa" = "yes" ] ; then
        !           619:                     sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
        !           620:                 fi
        !           621: 
        !           622:                 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
        !           623:                     sdl_static=yes
        !           624:                 fi
        !           625:             fi # static link
        !           626:         fi # sdl compile test
        !           627:     fi # cross compilation
1.1       root      628: else
1.1.1.6 ! root      629:     # Make sure to disable cocoa if sdl was set
        !           630:     if test "$sdl" = "yes" ; then
        !           631:        cocoa="no"
        !           632:        coreaudio="no"
        !           633:     fi
        !           634: fi # -z $sdl
1.1       root      635: 
1.1.1.6 ! root      636: ##########################################
        !           637: # VNC TLS detection
        !           638: if test "$vnc_tls" = "yes" ; then
        !           639:   `pkg-config gnutls` || vnc_tls="no"
        !           640: fi
        !           641: if test "$vnc_tls" = "yes" ; then
        !           642:   vnc_tls_cflags=`pkg-config --cflags gnutls`
        !           643:   vnc_tls_libs=`pkg-config --libs gnutls`
1.1       root      644: fi
                    645: 
1.1.1.5   root      646: ##########################################
                    647: # alsa sound support libraries
                    648: 
                    649: if test "$alsa" = "yes" ; then
                    650:   cat > $TMPC << EOF
                    651: #include <alsa/asoundlib.h>
                    652: int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
                    653: EOF
                    654:   if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
                    655:     :
                    656:   else
                    657:     echo
                    658:     echo "Error: Could not find alsa"
                    659:     echo "Make sure to have the alsa libs and headers installed."
                    660:     echo
                    661:     exit 1
                    662:   fi
                    663: fi
                    664: 
1.1.1.3   root      665: # Check if tools are available to build documentation.
1.1.1.6 ! root      666: if [ -x "`which texi2html 2>/dev/null`" ] && \
        !           667:    [ -x "`which pod2man 2>/dev/null`" ]; then
1.1.1.3   root      668:   build_docs="yes"
1.1       root      669: fi
                    670: 
                    671: if test "$mingw32" = "yes" ; then
1.1.1.6 ! root      672:   if test -z "$prefix" ; then
        !           673:       prefix="/c/Program Files/Qemu"
        !           674:   fi
        !           675:   mansuffix=""
        !           676:   datasuffix=""
        !           677:   docsuffix=""
        !           678:   binsuffix=""
        !           679: else
        !           680:   if test -z "$prefix" ; then
        !           681:       prefix="/usr/local"
        !           682:   fi
        !           683:   mansuffix="/share/man"
        !           684:   datasuffix="/share/qemu"
        !           685:   docsuffix="/share/doc/qemu"
        !           686:   binsuffix="/bin"
1.1       root      687: fi
                    688: 
                    689: echo "Install prefix    $prefix"
1.1.1.6 ! root      690: echo "BIOS directory    $prefix$datasuffix"
        !           691: echo "binary directory  $prefix$binsuffix"
1.1       root      692: if test "$mingw32" = "no" ; then
1.1.1.6 ! root      693: echo "Manual directory  $prefix$mansuffix"
1.1       root      694: echo "ELF interp prefix $interp_prefix"
                    695: fi
                    696: echo "Source path       $source_path"
                    697: echo "C compiler        $cc"
                    698: echo "Host C compiler   $host_cc"
                    699: echo "make              $make"
1.1.1.3   root      700: echo "install           $install"
1.1       root      701: echo "host CPU          $cpu"
                    702: echo "host big endian   $bigendian"
                    703: echo "target list       $target_list"
                    704: echo "gprof enabled     $gprof"
1.1.1.3   root      705: echo "profiler          $profiler"
1.1       root      706: echo "static build      $static"
1.1.1.6 ! root      707: echo "-Werror enabled   $werror"
1.1       root      708: if test "$darwin" = "yes" ; then
                    709:     echo "Cocoa support     $cocoa"
                    710: fi
                    711: echo "SDL support       $sdl"
                    712: if test "$sdl" != "no" ; then
                    713:     echo "SDL static link   $sdl_static"
                    714: fi
                    715: echo "mingw32 support   $mingw32"
                    716: echo "Adlib support     $adlib"
1.1.1.2   root      717: echo "CoreAudio support $coreaudio"
                    718: echo "ALSA support      $alsa"
                    719: echo "DSound support    $dsound"
                    720: if test "$fmod" = "yes"; then
                    721:     if test -z $fmod_lib || test -z $fmod_inc; then
                    722:         echo
                    723:         echo "Error: You must specify path to FMOD library and headers"
                    724:         echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
                    725:         echo
                    726:         exit 1
                    727:     fi
1.1.1.3   root      728:     fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
1.1       root      729: else
1.1.1.3   root      730:     fmod_support=""
1.1       root      731: fi
1.1.1.3   root      732: echo "FMOD support      $fmod $fmod_support"
1.1.1.6 ! root      733: echo "OSS support       $oss"
        !           734: echo "VNC TLS support   $vnc_tls"
        !           735: if test "$vnc_tls" = "yes" ; then
        !           736:     echo "    TLS CFLAGS    $vnc_tls_cflags"
        !           737:     echo "    TLS LIBS      $vnc_tls_libs"
        !           738: fi
        !           739: if test -n "$sparc_cpu"; then
        !           740:     echo "Target Sparc Arch $sparc_cpu"
        !           741: fi
1.1.1.3   root      742: echo "kqemu support     $kqemu"
                    743: echo "Documentation     $build_docs"
1.1.1.4   root      744: [ ! -z "$uname_release" ] && \
                    745: echo "uname -r          $uname_release"
1.1       root      746: 
                    747: if test $sdl_too_old = "yes"; then
                    748: echo "-> Your SDL version is too old - please upgrade to have SDL support"
                    749: fi
1.1.1.6 ! root      750: if [ -s /tmp/qemu-$$-sdl-config.log ]; then
        !           751:   echo "The error log from compiling the libSDL test is: "
        !           752:   cat /tmp/qemu-$$-sdl-config.log
        !           753: fi
        !           754: rm -f /tmp/qemu-$$-sdl-config.log
1.1       root      755: #if test "$sdl_static" = "no"; then
                    756: #  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
                    757: #fi
                    758: config_mak="config-host.mak"
                    759: config_h="config-host.h"
                    760: 
                    761: #echo "Creating $config_mak and $config_h"
                    762: 
1.1.1.6 ! root      763: test -f $config_h && mv $config_h ${config_h}~
        !           764: 
1.1       root      765: echo "# Automatically generated by configure - do not modify" > $config_mak
1.1.1.3   root      766: echo "# Configured with: $0 $@" >> $config_mak
1.1       root      767: echo "/* Automatically generated by configure - do not modify */" > $config_h
                    768: 
                    769: echo "prefix=$prefix" >> $config_mak
1.1.1.6 ! root      770: echo "bindir=\${prefix}$binsuffix" >> $config_mak
        !           771: echo "mandir=\${prefix}$mansuffix" >> $config_mak
        !           772: echo "datadir=\${prefix}$datasuffix" >> $config_mak
        !           773: echo "docdir=\${prefix}$docsuffix" >> $config_mak
        !           774: echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
1.1       root      775: echo "MAKE=$make" >> $config_mak
1.1.1.3   root      776: echo "INSTALL=$install" >> $config_mak
1.1       root      777: echo "CC=$cc" >> $config_mak
                    778: echo "HOST_CC=$host_cc" >> $config_mak
                    779: echo "AR=$ar" >> $config_mak
                    780: echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
1.1.1.5   root      781: echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
1.1.1.6 ! root      782: echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
        !           783: echo "VL_OS_LDFLAGS=$VL_OS_LDFLAGS" >> $config_mak
        !           784: echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
        !           785: echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
1.1       root      786: echo "CFLAGS=$CFLAGS" >> $config_mak
                    787: echo "LDFLAGS=$LDFLAGS" >> $config_mak
                    788: echo "EXESUF=$EXESUF" >> $config_mak
1.1.1.6 ! root      789: echo "AIOLIBS=$AIOLIBS" >> $config_mak
1.1       root      790: if test "$cpu" = "i386" ; then
                    791:   echo "ARCH=i386" >> $config_mak
                    792:   echo "#define HOST_I386 1" >> $config_h
                    793: elif test "$cpu" = "x86_64" ; then
                    794:   echo "ARCH=x86_64" >> $config_mak
                    795:   echo "#define HOST_X86_64 1" >> $config_h
                    796: elif test "$cpu" = "armv4b" ; then
                    797:   echo "ARCH=arm" >> $config_mak
                    798:   echo "#define HOST_ARM 1" >> $config_h
                    799: elif test "$cpu" = "armv4l" ; then
                    800:   echo "ARCH=arm" >> $config_mak
                    801:   echo "#define HOST_ARM 1" >> $config_h
                    802: elif test "$cpu" = "powerpc" ; then
                    803:   echo "ARCH=ppc" >> $config_mak
                    804:   echo "#define HOST_PPC 1" >> $config_h
                    805: elif test "$cpu" = "mips" ; then
                    806:   echo "ARCH=mips" >> $config_mak
                    807:   echo "#define HOST_MIPS 1" >> $config_h
1.1.1.6 ! root      808: elif test "$cpu" = "mips64" ; then
        !           809:   echo "ARCH=mips64" >> $config_mak
        !           810:   echo "#define HOST_MIPS64 1" >> $config_h
        !           811: elif test "$cpu" = "cris" ; then
        !           812:   echo "ARCH=cris" >> $config_mak
        !           813:   echo "#define HOST_CRIS 1" >> $config_h
1.1       root      814: elif test "$cpu" = "s390" ; then
                    815:   echo "ARCH=s390" >> $config_mak
                    816:   echo "#define HOST_S390 1" >> $config_h
                    817: elif test "$cpu" = "alpha" ; then
                    818:   echo "ARCH=alpha" >> $config_mak
                    819:   echo "#define HOST_ALPHA 1" >> $config_h
                    820: elif test "$cpu" = "sparc" ; then
                    821:   echo "ARCH=sparc" >> $config_mak
                    822:   echo "#define HOST_SPARC 1" >> $config_h
                    823: elif test "$cpu" = "sparc64" ; then
                    824:   echo "ARCH=sparc64" >> $config_mak
                    825:   echo "#define HOST_SPARC64 1" >> $config_h
                    826: elif test "$cpu" = "ia64" ; then
                    827:   echo "ARCH=ia64" >> $config_mak
                    828:   echo "#define HOST_IA64 1" >> $config_h
                    829: elif test "$cpu" = "m68k" ; then
                    830:   echo "ARCH=m68k" >> $config_mak
                    831:   echo "#define HOST_M68K 1" >> $config_h
                    832: else
1.1.1.6 ! root      833:   echo "Unsupported CPU = $cpu"
1.1       root      834:   exit 1
                    835: fi
                    836: if test "$bigendian" = "yes" ; then
                    837:   echo "WORDS_BIGENDIAN=yes" >> $config_mak
                    838:   echo "#define WORDS_BIGENDIAN 1" >> $config_h
                    839: fi
                    840: echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
                    841: if test "$mingw32" = "yes" ; then
                    842:   echo "CONFIG_WIN32=yes" >> $config_mak
                    843:   echo "#define CONFIG_WIN32 1" >> $config_h
1.1.1.6 ! root      844: else
        !           845:   cat > $TMPC << EOF
        !           846: #include <byteswap.h>
        !           847: int main(void) { return bswap_32(0); }
        !           848: EOF
        !           849:   if $cc -o $TMPE $TMPC 2> /dev/null ; then
        !           850:     echo "#define HAVE_BYTESWAP_H 1" >> $config_h
        !           851:   fi
1.1       root      852: fi
                    853: if test "$darwin" = "yes" ; then
                    854:   echo "CONFIG_DARWIN=yes" >> $config_mak
                    855:   echo "#define CONFIG_DARWIN 1" >> $config_h
                    856: fi
1.1.1.3   root      857: if test "$solaris" = "yes" ; then
                    858:   echo "CONFIG_SOLARIS=yes" >> $config_mak
                    859:   echo "#define HOST_SOLARIS $solarisrev" >> $config_h
1.1.1.6 ! root      860:   if test "$needs_libsunmath" = "yes" ; then
        !           861:     echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
        !           862:     echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
        !           863:   fi
        !           864: fi
        !           865: if test -n "$sparc_cpu"; then
        !           866:   echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
        !           867:   echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1.1.1.3   root      868: fi
1.1       root      869: if test "$gdbstub" = "yes" ; then
                    870:   echo "CONFIG_GDBSTUB=yes" >> $config_mak
                    871:   echo "#define CONFIG_GDBSTUB 1" >> $config_h
                    872: fi
                    873: if test "$gprof" = "yes" ; then
                    874:   echo "TARGET_GPROF=yes" >> $config_mak
                    875:   echo "#define HAVE_GPROF 1" >> $config_h
                    876: fi
                    877: if test "$static" = "yes" ; then
                    878:   echo "CONFIG_STATIC=yes" >> $config_mak
                    879:   echo "#define CONFIG_STATIC 1" >> $config_h
                    880: fi
1.1.1.3   root      881: if test $profiler = "yes" ; then
                    882:   echo "#define CONFIG_PROFILER 1" >> $config_h
                    883: fi
1.1       root      884: if test "$slirp" = "yes" ; then
                    885:   echo "CONFIG_SLIRP=yes" >> $config_mak
                    886:   echo "#define CONFIG_SLIRP 1" >> $config_h
                    887: fi
                    888: if test "$adlib" = "yes" ; then
                    889:   echo "CONFIG_ADLIB=yes" >> $config_mak
                    890:   echo "#define CONFIG_ADLIB 1" >> $config_h
                    891: fi
                    892: if test "$oss" = "yes" ; then
                    893:   echo "CONFIG_OSS=yes" >> $config_mak
                    894:   echo "#define CONFIG_OSS 1" >> $config_h
                    895: fi
1.1.1.2   root      896: if test "$coreaudio" = "yes" ; then
                    897:   echo "CONFIG_COREAUDIO=yes" >> $config_mak
                    898:   echo "#define CONFIG_COREAUDIO 1" >> $config_h
                    899: fi
                    900: if test "$alsa" = "yes" ; then
                    901:   echo "CONFIG_ALSA=yes" >> $config_mak
                    902:   echo "#define CONFIG_ALSA 1" >> $config_h
                    903: fi
                    904: if test "$dsound" = "yes" ; then
                    905:   echo "CONFIG_DSOUND=yes" >> $config_mak
                    906:   echo "#define CONFIG_DSOUND 1" >> $config_h
                    907: fi
1.1       root      908: if test "$fmod" = "yes" ; then
                    909:   echo "CONFIG_FMOD=yes" >> $config_mak
                    910:   echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
                    911:   echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
                    912:   echo "#define CONFIG_FMOD 1" >> $config_h
                    913: fi
1.1.1.6 ! root      914: if test "$vnc_tls" = "yes" ; then
        !           915:   echo "CONFIG_VNC_TLS=yes" >> $config_mak
        !           916:   echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
        !           917:   echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
        !           918:   echo "#define CONFIG_VNC_TLS 1" >> $config_h
        !           919: fi
1.1.1.3   root      920: qemu_version=`head $source_path/VERSION`
                    921: echo "VERSION=$qemu_version" >>$config_mak
                    922: echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
                    923: 
1.1       root      924: echo "SRC_PATH=$source_path" >> $config_mak
1.1.1.3   root      925: if [ "$source_path_used" = "yes" ]; then
                    926:   echo "VPATH=$source_path" >> $config_mak
                    927: fi
1.1       root      928: echo "TARGET_DIRS=$target_list" >> $config_mak
1.1.1.3   root      929: if [ "$build_docs" = "yes" ] ; then
                    930:   echo "BUILD_DOCS=yes" >> $config_mak
                    931: fi
1.1.1.6 ! root      932: if test "$static" = "yes"; then
        !           933:   sdl1=$sdl_static
        !           934: else
        !           935:   sdl1=$sdl
        !           936: fi
        !           937: if test "$sdl1" = "yes" ; then
        !           938:   echo "#define CONFIG_SDL 1" >> $config_h
        !           939:   echo "CONFIG_SDL=yes" >> $config_mak
        !           940:   if test "$target_softmmu" = "no" -o "$static" = "yes"; then
        !           941:     echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
        !           942:   else
        !           943:     echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
        !           944:   fi
        !           945:   if [ "${aa}" = "yes" ] ; then
        !           946:     echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
        !           947:   else
        !           948:     echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
        !           949:   fi
        !           950: fi
        !           951: if test "$cocoa" = "yes" ; then
        !           952:     echo "#define CONFIG_COCOA 1" >> $config_h
        !           953:     echo "CONFIG_COCOA=yes" >> $config_mak
        !           954: fi
1.1       root      955: 
                    956: # XXX: suppress that
                    957: if [ "$bsd" = "yes" ] ; then
                    958:   echo "#define O_LARGEFILE 0" >> $config_h
                    959:   echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
                    960:   echo "#define _BSD 1" >> $config_h
                    961: fi
                    962: 
1.1.1.4   root      963: echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
                    964: 
1.1.1.6 ! root      965: tools=
        !           966: if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
        !           967:   tools="qemu-img\$(EXESUF) $tools"
        !           968: fi
        !           969: echo "TOOLS=$tools" >> $config_mak
        !           970: 
        !           971: test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
        !           972: 
1.1.1.2   root      973: for target in $target_list; do
1.1       root      974: target_dir="$target"
                    975: config_mak=$target_dir/config.mak
                    976: config_h=$target_dir/config.h
                    977: target_cpu=`echo $target | cut -d '-' -f 1`
                    978: target_bigendian="no"
                    979: [ "$target_cpu" = "armeb" ] && target_bigendian=yes
                    980: [ "$target_cpu" = "sparc" ] && target_bigendian=yes
                    981: [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
1.1.1.6 ! root      982: [ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
1.1       root      983: [ "$target_cpu" = "ppc" ] && target_bigendian=yes
1.1.1.6 ! root      984: [ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
1.1       root      985: [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
1.1.1.6 ! root      986: [ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
1.1       root      987: [ "$target_cpu" = "mips" ] && target_bigendian=yes
1.1.1.6 ! root      988: [ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
        !           989: [ "$target_cpu" = "mips64" ] && target_bigendian=yes
1.1.1.4   root      990: [ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
1.1.1.5   root      991: [ "$target_cpu" = "m68k" ] && target_bigendian=yes
1.1       root      992: target_softmmu="no"
                    993: target_user_only="no"
1.1.1.5   root      994: target_linux_user="no"
                    995: target_darwin_user="no"
1.1.1.6 ! root      996: case "$target" in
        !           997:   ${target_cpu}-softmmu)
        !           998:     target_softmmu="yes"
        !           999:     ;;
        !          1000:   ${target_cpu}-linux-user)
        !          1001:     target_user_only="yes"
        !          1002:     target_linux_user="yes"
        !          1003:     ;;
        !          1004:   ${target_cpu}-darwin-user)
        !          1005:     target_user_only="yes"
        !          1006:     target_darwin_user="yes"
        !          1007:     ;;
        !          1008:   *)
        !          1009:     echo "ERROR: Target '$target' not recognised"
        !          1010:     exit 1
        !          1011:     ;;
        !          1012: esac
1.1.1.5   root     1013: 
1.1       root     1014: if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1.1.1.2   root     1015:         -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1.1       root     1016:     echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1.1.1.3   root     1017:     echo "To build QEMU without graphical output configure with --disable-gfx-check"
1.1       root     1018:     echo "Note that this will disable all output from the virtual graphics card."
                   1019:     exit 1;
                   1020: fi
                   1021: 
                   1022: #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
                   1023: 
1.1.1.6 ! root     1024: test -f $config_h && mv $config_h ${config_h}~
        !          1025: 
1.1       root     1026: mkdir -p $target_dir
                   1027: mkdir -p $target_dir/fpu
1.1.1.5   root     1028: if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
1.1       root     1029:   mkdir -p $target_dir/nwfpe
                   1030: fi
                   1031: 
1.1.1.3   root     1032: #
                   1033: # don't use ln -sf as not all "ln -sf" over write the file/link
                   1034: #
                   1035: rm -f $target_dir/Makefile
                   1036: ln -s $source_path/Makefile.target $target_dir/Makefile
                   1037: 
1.1       root     1038: 
                   1039: echo "# Automatically generated by configure - do not modify" > $config_mak
                   1040: echo "/* Automatically generated by configure - do not modify */" > $config_h
                   1041: 
                   1042: 
                   1043: echo "include ../config-host.mak" >> $config_mak
                   1044: echo "#include \"../config-host.h\"" >> $config_h
                   1045: 
1.1.1.4   root     1046: bflt="no"
1.1.1.6 ! root     1047: elfload32="no"
1.1       root     1048: interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
                   1049: echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
                   1050: 
                   1051: if test "$target_cpu" = "i386" ; then
                   1052:   echo "TARGET_ARCH=i386" >> $config_mak
                   1053:   echo "#define TARGET_ARCH \"i386\"" >> $config_h
                   1054:   echo "#define TARGET_I386 1" >> $config_h
                   1055:   if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
                   1056:     echo "#define USE_KQEMU 1" >> $config_h
                   1057:   fi
                   1058: elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
                   1059:   echo "TARGET_ARCH=arm" >> $config_mak
                   1060:   echo "#define TARGET_ARCH \"arm\"" >> $config_h
                   1061:   echo "#define TARGET_ARM 1" >> $config_h
1.1.1.4   root     1062:   bflt="yes"
1.1       root     1063: elif test "$target_cpu" = "sparc" ; then
                   1064:   echo "TARGET_ARCH=sparc" >> $config_mak
                   1065:   echo "#define TARGET_ARCH \"sparc\"" >> $config_h
                   1066:   echo "#define TARGET_SPARC 1" >> $config_h
                   1067: elif test "$target_cpu" = "sparc64" ; then
                   1068:   echo "TARGET_ARCH=sparc64" >> $config_mak
                   1069:   echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
                   1070:   echo "#define TARGET_SPARC 1" >> $config_h
                   1071:   echo "#define TARGET_SPARC64 1" >> $config_h
1.1.1.6 ! root     1072:   elfload32="yes"
        !          1073: elif test "$target_cpu" = "sparc32plus" ; then
        !          1074:   echo "TARGET_ARCH=sparc64" >> $config_mak
        !          1075:   echo "TARGET_ABI_DIR=sparc" >> $config_mak
        !          1076:   echo "TARGET_ARCH2=sparc32plus" >> $config_mak
        !          1077:   echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
        !          1078:   echo "#define TARGET_SPARC 1" >> $config_h
        !          1079:   echo "#define TARGET_SPARC64 1" >> $config_h
        !          1080:   echo "#define TARGET_ABI32 1" >> $config_h
1.1       root     1081: elif test "$target_cpu" = "ppc" ; then
                   1082:   echo "TARGET_ARCH=ppc" >> $config_mak
                   1083:   echo "#define TARGET_ARCH \"ppc\"" >> $config_h
                   1084:   echo "#define TARGET_PPC 1" >> $config_h
1.1.1.6 ! root     1085: elif test "$target_cpu" = "ppcemb" ; then
        !          1086:   echo "TARGET_ARCH=ppcemb" >> $config_mak
        !          1087:   echo "TARGET_ABI_DIR=ppc" >> $config_mak
        !          1088:   echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
        !          1089:   echo "#define TARGET_PPC 1" >> $config_h
        !          1090:   echo "#define TARGET_PPCEMB 1" >> $config_h
1.1       root     1091: elif test "$target_cpu" = "ppc64" ; then
                   1092:   echo "TARGET_ARCH=ppc64" >> $config_mak
1.1.1.6 ! root     1093:   echo "TARGET_ABI_DIR=ppc" >> $config_mak
1.1       root     1094:   echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
                   1095:   echo "#define TARGET_PPC 1" >> $config_h
                   1096:   echo "#define TARGET_PPC64 1" >> $config_h
1.1.1.6 ! root     1097: elif test "$target_cpu" = "ppc64abi32" ; then
        !          1098:   echo "TARGET_ARCH=ppc64" >> $config_mak
        !          1099:   echo "TARGET_ABI_DIR=ppc" >> $config_mak
        !          1100:   echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
        !          1101:   echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
        !          1102:   echo "#define TARGET_PPC 1" >> $config_h
        !          1103:   echo "#define TARGET_PPC64 1" >> $config_h
        !          1104:   echo "#define TARGET_ABI32 1" >> $config_h
1.1       root     1105: elif test "$target_cpu" = "x86_64" ; then
                   1106:   echo "TARGET_ARCH=x86_64" >> $config_mak
                   1107:   echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
                   1108:   echo "#define TARGET_I386 1" >> $config_h
                   1109:   echo "#define TARGET_X86_64 1" >> $config_h
                   1110:   if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"  ; then
                   1111:     echo "#define USE_KQEMU 1" >> $config_h
                   1112:   fi
1.1.1.2   root     1113: elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
1.1       root     1114:   echo "TARGET_ARCH=mips" >> $config_mak
                   1115:   echo "#define TARGET_ARCH \"mips\"" >> $config_h
                   1116:   echo "#define TARGET_MIPS 1" >> $config_h
1.1.1.6 ! root     1117:   echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
        !          1118: elif test "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" ; then
        !          1119:   echo "TARGET_ARCH=mipsn32" >> $config_mak
        !          1120:   echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
        !          1121:   echo "#define TARGET_MIPS 1" >> $config_h
        !          1122:   echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
        !          1123: elif test "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el" ; then
        !          1124:   echo "TARGET_ARCH=mips64" >> $config_mak
        !          1125:   echo "#define TARGET_ARCH \"mips64\"" >> $config_h
        !          1126:   echo "#define TARGET_MIPS 1" >> $config_h
        !          1127:   echo "#define TARGET_MIPS64 1" >> $config_h
        !          1128:   echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
        !          1129: elif test "$target_cpu" = "cris" ; then
        !          1130:   echo "TARGET_ARCH=cris" >> $config_mak
        !          1131:   echo "#define TARGET_ARCH \"cris\"" >> $config_h
        !          1132:   echo "#define TARGET_CRIS 1" >> $config_h
1.1.1.4   root     1133:   echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
                   1134:   echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
                   1135: elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then
1.1.1.3   root     1136:   echo "TARGET_ARCH=sh4" >> $config_mak
                   1137:   echo "#define TARGET_ARCH \"sh4\"" >> $config_h
                   1138:   echo "#define TARGET_SH4 1" >> $config_h
1.1.1.4   root     1139:   bflt="yes"
1.1.1.5   root     1140: elif test "$target_cpu" = "m68k" ; then
                   1141:   echo "TARGET_ARCH=m68k" >> $config_mak
                   1142:   echo "#define TARGET_ARCH \"m68k\"" >> $config_h
                   1143:   echo "#define TARGET_M68K 1" >> $config_h
                   1144:   bflt="yes"
1.1.1.6 ! root     1145: elif test "$target_cpu" = "alpha" ; then
        !          1146:   echo "TARGET_ARCH=alpha" >> $config_mak
        !          1147:   echo "#define TARGET_ARCH \"alpha\"" >> $config_h
        !          1148:   echo "#define TARGET_ALPHA 1" >> $config_h
1.1       root     1149: else
                   1150:   echo "Unsupported target CPU"
                   1151:   exit 1
                   1152: fi
                   1153: if test "$target_bigendian" = "yes" ; then
                   1154:   echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
                   1155:   echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
                   1156: fi
                   1157: if test "$target_softmmu" = "yes" ; then
                   1158:   echo "CONFIG_SOFTMMU=yes" >> $config_mak
                   1159:   echo "#define CONFIG_SOFTMMU 1" >> $config_h
                   1160: fi
                   1161: if test "$target_user_only" = "yes" ; then
                   1162:   echo "CONFIG_USER_ONLY=yes" >> $config_mak
                   1163:   echo "#define CONFIG_USER_ONLY 1" >> $config_h
                   1164: fi
1.1.1.5   root     1165: if test "$target_linux_user" = "yes" ; then
                   1166:   echo "CONFIG_LINUX_USER=yes" >> $config_mak
                   1167:   echo "#define CONFIG_LINUX_USER 1" >> $config_h
                   1168: fi
                   1169: if test "$target_darwin_user" = "yes" ; then
                   1170:   echo "CONFIG_DARWIN_USER=yes" >> $config_mak
                   1171:   echo "#define CONFIG_DARWIN_USER 1" >> $config_h
                   1172: fi
1.1       root     1173: 
1.1.1.6 ! root     1174: if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64"  -o "$target_cpu" = "sparc32plus" -o "$target_cpu" = "m68k" -o "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" -o "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" -o "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el"; then
1.1       root     1175:   echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
                   1176:   echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
                   1177: fi
1.1.1.4   root     1178: if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
                   1179:   echo "TARGET_HAS_BFLT=yes" >> $config_mak
                   1180:   echo "#define TARGET_HAS_BFLT 1" >> $config_h
                   1181: fi
1.1.1.6 ! root     1182: # 32 bit ELF loader in addition to native 64 bit loader?
        !          1183: if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
        !          1184:   echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
        !          1185:   echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1.1       root     1186: fi
                   1187: 
1.1.1.6 ! root     1188: test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1.1       root     1189: 
                   1190: done # for target in $targets
                   1191: 
                   1192: # build tree in object directory if source path is different from current one
                   1193: if test "$source_path_used" = "yes" ; then
1.1.1.6 ! root     1194:     DIRS="tests tests/cris slirp audio"
1.1       root     1195:     FILES="Makefile tests/Makefile"
1.1.1.6 ! root     1196:     FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1.1       root     1197:     for dir in $DIRS ; do
                   1198:             mkdir -p $dir
                   1199:     done
1.1.1.3   root     1200:     # remove the link and recreate it, as not all "ln -sf" overwrite the link
1.1       root     1201:     for f in $FILES ; do
1.1.1.3   root     1202:         rm -f $f
                   1203:         ln -s $source_path/$f $f
1.1       root     1204:     done
                   1205: fi
                   1206: 
                   1207: rm -f $TMPO $TMPC $TMPE $TMPS

unix.superglobalmegacorp.com