Annotation of qemu/configure, revision 1.1.1.2

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"
                     25: host_cc="gcc"
                     26: ar="ar"
                     27: make="make"
                     28: strip="strip"
                     29: cpu=`uname -m`
                     30: target_list=""
                     31: case "$cpu" in
                     32:   i386|i486|i586|i686|i86pc|BePC)
                     33:     cpu="i386"
                     34:   ;;
                     35:   armv*b)
                     36:     cpu="armv4b"
                     37:   ;;
                     38:   armv*l)
                     39:     cpu="armv4l"
                     40:   ;;
                     41:   alpha)
                     42:     cpu="alpha"
                     43:   ;;
                     44:   "Power Macintosh"|ppc|ppc64)
                     45:     cpu="powerpc"
                     46:   ;;
                     47:   mips)
                     48:     cpu="mips"
                     49:   ;;
                     50:   s390)
                     51:     cpu="s390"
                     52:   ;;
                     53:   sparc)
                     54:     cpu="sparc"
                     55:   ;;
                     56:   sparc64)
                     57:     cpu="sparc64"
                     58:   ;;
                     59:   ia64)
                     60:     cpu="ia64"
                     61:   ;;
                     62:   m68k)
                     63:     cpu="m68k"
                     64:   ;;
                     65:   x86_64|amd64)
                     66:     cpu="x86_64"
                     67:   ;;
                     68:   *)
                     69:     cpu="unknown"
                     70:   ;;
                     71: esac
                     72: gprof="no"
                     73: bigendian="no"
                     74: mingw32="no"
                     75: EXESUF=""
                     76: gdbstub="yes"
                     77: slirp="yes"
                     78: adlib="no"
                     79: oss="no"
1.1.1.2 ! root       80: dsound="no"
        !            81: coreaudio="no"
        !            82: alsa="no"
1.1       root       83: fmod="no"
                     84: fmod_lib=""
                     85: fmod_inc=""
                     86: linux="no"
                     87: kqemu="no"
                     88: kernel_path=""
                     89: cocoa="no"
                     90: check_gfx="yes"
1.1.1.2 ! root       91: check_gcc="yes"
1.1       root       92: 
                     93: # OS specific
                     94: targetos=`uname -s`
                     95: case $targetos in
                     96: CYGWIN*)
                     97: mingw32="yes"
                     98: CFLAGS="-O2 -mno-cygwin"
                     99: ;;
                    100: MINGW32*)
                    101: mingw32="yes"
                    102: ;;
                    103: FreeBSD)
                    104: bsd="yes"
                    105: oss="yes"
                    106: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
                    107:     kqemu="yes"
                    108: fi
                    109: ;;
                    110: NetBSD)
                    111: bsd="yes"
                    112: oss="yes"
                    113: ;;
                    114: OpenBSD)
                    115: bsd="yes"
                    116: oss="yes"
                    117: ;;
                    118: Darwin)
                    119: bsd="yes"
                    120: darwin="yes"
                    121: ;;
1.1.1.2 ! root      122: *)
1.1       root      123: oss="yes"
                    124: linux="yes"
                    125: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
                    126:     kqemu="yes"
                    127: fi
                    128: ;;
                    129: esac
                    130: 
                    131: if [ "$bsd" = "yes" ] ; then
                    132:   if [ ! "$darwin" = "yes" ] ; then
                    133:     make="gmake"
                    134:   fi
                    135: fi
                    136: 
                    137: # find source path
1.1.1.2 ! root      138: # XXX: we assume an absolute path is given when launching configure,
1.1       root      139: # except in './configure' case.
                    140: source_path=${0%configure}
                    141: source_path=${source_path%/}
                    142: source_path_used="yes"
                    143: if test -z "$source_path" -o "$source_path" = "." ; then
                    144:     source_path=`pwd`
                    145:     source_path_used="no"
                    146: fi
                    147: 
                    148: for opt do
                    149:   case "$opt" in
1.1.1.2 ! root      150:   --help|-h) show_help=yes
        !           151:   ;;
1.1       root      152:   --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
                    153:   ;;
                    154:   --interp-prefix=*) interp_prefix=`echo $opt | cut -d '=' -f 2`
                    155:   ;;
                    156:   --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
                    157:   ;;
                    158:   --cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
                    159:   ;;
                    160:   --cc=*) cc=`echo $opt | cut -d '=' -f 2`
                    161:   ;;
                    162:   --host-cc=*) host_cc=`echo $opt | cut -d '=' -f 2`
                    163:   ;;
                    164:   --make=*) make=`echo $opt | cut -d '=' -f 2`
                    165:   ;;
                    166:   --extra-cflags=*) CFLAGS="${opt#--extra-cflags=}"
                    167:   ;;
                    168:   --extra-ldflags=*) LDFLAGS="${opt#--extra-ldflags=}"
                    169:   ;;
                    170:   --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
                    171:   ;;
                    172:   --target-list=*) target_list=${opt#--target-list=}
                    173:   ;;
                    174:   --enable-gprof) gprof="yes"
                    175:   ;;
                    176:   --static) static="yes"
                    177:   ;;
                    178:   --disable-sdl) sdl="no"
                    179:   ;;
1.1.1.2 ! root      180:   --enable-coreaudio) coreaudio="yes"
        !           181:   ;;
        !           182:   --enable-alsa) alsa="yes"
        !           183:   ;;
        !           184:   --enable-dsound) dsound="yes"
        !           185:   ;;
1.1       root      186:   --enable-fmod) fmod="yes"
                    187:   ;;
                    188:   --fmod-lib=*) fmod_lib=${opt#--fmod-lib=}
                    189:   ;;
                    190:   --fmod-inc=*) fmod_inc=${opt#--fmod-inc=}
                    191:   ;;
                    192:   --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
1.1.1.2 ! root      193:   ;;
1.1       root      194:   --disable-slirp) slirp="no"
1.1.1.2 ! root      195:   ;;
1.1       root      196:   --enable-adlib) adlib="yes"
1.1.1.2 ! root      197:   ;;
1.1       root      198:   --disable-kqemu) kqemu="no"
1.1.1.2 ! root      199:   ;;
1.1       root      200:   --kernel-path=*) kernel_path=${opt#--kernel-path=}
1.1.1.2 ! root      201:   ;;
        !           202:   --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
        !           203:   ;;
1.1       root      204:   --disable-gfx-check) check_gfx="no"
                    205:   ;;
1.1.1.2 ! root      206:   --disable-gcc-check) check_gcc="no"
        !           207:   ;;
1.1       root      208:   esac
                    209: done
                    210: 
                    211: # Checking for CFLAGS
                    212: if test -z "$CFLAGS"; then
                    213:     CFLAGS="-O2"
                    214: fi
                    215: 
                    216: cc="${cross_prefix}${cc}"
                    217: ar="${cross_prefix}${ar}"
                    218: strip="${cross_prefix}${strip}"
                    219: 
                    220: if test "$mingw32" = "yes" ; then
                    221:     linux="no"
                    222:     EXESUF=".exe"
                    223:     gdbstub="no"
                    224:     oss="no"
                    225:     if [ "$cpu" = "i386" ] ; then
                    226:         kqemu="yes"
                    227:     fi
                    228: fi
                    229: 
                    230: if test -z "$target_list" ; then
                    231: # these targets are portable
1.1.1.2 ! root      232:     target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu arm-softmmu"
1.1       root      233: # the following are Linux specific
                    234:     if [ "$linux" = "yes" ] ; then
1.1.1.2 ! root      235:         target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
1.1       root      236:     fi
                    237: else
                    238:     target_list=$(echo "$target_list" | sed -e 's/,/ /g')
                    239: fi
                    240: 
                    241: if test -z "$cross_prefix" ; then
                    242: 
                    243: # ---
                    244: # big/little endian test
                    245: cat > $TMPC << EOF
                    246: #include <inttypes.h>
                    247: int main(int argc, char ** argv){
1.1.1.2 ! root      248:         volatile uint32_t i=0x01234567;
        !           249:         return (*((uint8_t*)(&i))) == 0x67;
1.1       root      250: }
                    251: EOF
                    252: 
                    253: if $cc -o $TMPE $TMPC 2>/dev/null ; then
                    254: $TMPE && bigendian="yes"
                    255: else
                    256: echo big/little test failed
                    257: fi
                    258: 
                    259: else
                    260: 
                    261: # if cross compiling, cannot launch a program, so make a static guess
                    262: if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
                    263:     bigendian="yes"
                    264: fi
                    265: 
                    266: fi
                    267: 
                    268: # host long bits test
                    269: hostlongbits="32"
                    270: if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
                    271:     hostlongbits="64"
                    272: fi
                    273: 
                    274: # check gcc options support
                    275: cat > $TMPC <<EOF
                    276: int main(void) {
                    277: }
                    278: EOF
                    279: 
                    280: have_gcc3_options="no"
                    281: if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
                    282:    have_gcc3_options="yes"
                    283: fi
                    284: 
1.1.1.2 ! root      285: # Check for gcc4
        !           286: if test "$check_gcc" = "yes" ; then
        !           287:     cat > $TMPC <<EOF
        !           288: #if __GNUC__ >= 4
        !           289: #error gcc4
        !           290: #endif
        !           291: int main(){return 0;}
        !           292: EOF
        !           293:     if ! $cc -o $TMPO $TMPC 2>/dev/null ; then
        !           294:         echo "ERROR: \"$cc\" looks like gcc 4.x"
        !           295:         echo "QEMU is known to have problems when compiled with gcc 4.x"
        !           296:         echo "It is recommended that you use gcc 3.x to build QEMU"
        !           297:         echo "To use this compiler anyway, configure with --disable-gcc-check"
        !           298:         exit 1;
        !           299:     fi
        !           300: fi
        !           301: 
1.1       root      302: ##########################################
                    303: # SDL probe
                    304: 
                    305: sdl_too_old=no
                    306: 
                    307: if test -z "$sdl" ; then
                    308: 
                    309: sdl_config="sdl-config"
                    310: sdl=no
                    311: sdl_static=no
                    312: 
                    313: if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
                    314: # win32 cross compilation case
                    315:     sdl_config="i386-mingw32msvc-sdl-config"
                    316:     sdl=yes
                    317: else
                    318: # normal SDL probe
                    319: cat > $TMPC << EOF
                    320: #include <SDL.h>
                    321: #undef main /* We don't want SDL to override our main() */
                    322: int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
                    323: EOF
                    324: 
                    325: if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
                    326: _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
                    327: if test "$_sdlversion" -lt 121 ; then
                    328: sdl_too_old=yes
                    329: else
                    330: sdl=yes
                    331: fi
                    332: 
                    333: # static link with sdl ?
                    334: if test "$sdl" = "yes" ; then
                    335: aa="no"
                    336: `$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
                    337: sdl_static_libs=`$sdl_config --static-libs`
                    338: if [ "$aa" = "yes" ] ; then
                    339:   sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
                    340: fi
                    341: 
                    342: if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
                    343:   sdl_static=yes
                    344: fi
                    345: 
                    346: fi # static link
                    347: 
                    348: fi # sdl compile test
                    349: 
                    350: fi # cross compilation
                    351: fi # -z $sdl
                    352: 
1.1.1.2 ! root      353: if test x"$show_help" = x"yes" ; then
1.1       root      354: cat << EOF
                    355: 
                    356: Usage: configure [options]
                    357: Options: [defaults in brackets after descriptions]
                    358: 
                    359: EOF
                    360: echo "Standard options:"
                    361: echo "  --help                   print this message"
                    362: echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
                    363: echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
                    364: echo "                           use %M for cpu name [$interp_prefix]"
                    365: echo "  --target-list=LIST       set target list [$target_list]"
                    366: echo ""
                    367: echo "kqemu kernel acceleration support:"
                    368: echo "  --disable-kqemu          disable kqemu build"
                    369: echo "  --kernel-path=PATH       set the kernel path (configure probes it)"
                    370: echo ""
                    371: echo "Advanced options (experts only):"
                    372: echo "  --source-path=PATH       path of source code [$source_path]"
                    373: echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
                    374: echo "  --cc=CC                  use C compiler CC [$cc]"
1.1.1.2 ! root      375: echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."
1.1       root      376: echo "  --make=MAKE              use specified make [$make]"
                    377: echo "  --static                 enable static build [$static]"
                    378: echo "  --enable-mingw32         enable Win32 cross compilation with mingw32"
                    379: echo "  --enable-adlib           enable Adlib emulation"
1.1.1.2 ! root      380: echo "  --enable-coreaudio       enable Coreaudio audio driver"
        !           381: echo "  --enable-alsa            enable ALSA audio driver"
        !           382: echo "  --enable-fmod            enable FMOD audio driver"
        !           383: echo "  --enabled-dsound         enable DirectSound audio driver"
1.1       root      384: echo "  --fmod-lib               path to FMOD library"
                    385: echo "  --fmod-inc               path to FMOD includes"
                    386: echo ""
                    387: echo "NOTE: The object files are build at the place where configure is launched"
                    388: exit 1
                    389: fi
                    390: 
                    391: if test "$mingw32" = "yes" ; then
                    392: if test -z "$prefix" ; then
                    393:     prefix="/c/Program Files/Qemu"
                    394: fi
                    395: mandir="$prefix"
                    396: datadir="$prefix"
                    397: docdir="$prefix"
                    398: bindir="$prefix"
                    399: else
                    400: if test -z "$prefix" ; then
                    401:     prefix="/usr/local"
                    402: fi
                    403: mandir="$prefix/share/man"
                    404: datadir="$prefix/share/qemu"
                    405: docdir="$prefix/share/doc/qemu"
                    406: bindir="$prefix/bin"
                    407: fi
                    408: 
                    409: # kqemu support
                    410: if test $kqemu = "yes" ; then
                    411:     # test if the source code is installed
1.1.1.2 ! root      412:     if test '!' -f "kqemu/Makefile" ; then
1.1       root      413:         kqemu="no"
                    414:     fi
                    415: fi
1.1.1.2 ! root      416: 
1.1       root      417: # Linux specific kqemu configuration
                    418: if test $kqemu = "yes" -a $linux = "yes" ; then
                    419: # find the kernel path
                    420: if test -z "$kernel_path" ; then
                    421: kernel_version=`uname -r`
                    422: kernel_path="/lib/modules/$kernel_version/build"
1.1.1.2 ! root      423: if test '!' -d "$kernel_path/include" ; then
1.1       root      424:     kernel_path="/usr/src/linux"
1.1.1.2 ! root      425:     if test '!' -d "$kernel_path/include" ; then
1.1       root      426:         echo "Could not find kernel includes in /lib/modules or /usr/src/linux - cannot build the kqemu module"
                    427:         kqemu="no"
                    428:     fi
                    429: fi
                    430: fi
                    431: 
                    432: if test $kqemu = "yes" ; then
                    433: 
                    434: # test that the kernel config is present
                    435: if test '!' -f "$kernel_path/Makefile" ; then
                    436:     echo "No Makefile file present in $kernel_path - kqemu cannot be built"
                    437:     kqemu="no"
1.1.1.2 ! root      438: fi
1.1       root      439: 
                    440: # find build system (2.6 or legacy)
                    441: kbuild26="yes"
                    442: if grep -q "PATCHLEVEL = 4" $kernel_path/Makefile ; then
                    443: kbuild26="no"
                    444: fi
                    445: 
                    446: fi # kqemu
                    447: 
                    448: fi # kqemu and linux
                    449: 
                    450: 
                    451: echo "Install prefix    $prefix"
                    452: echo "BIOS directory    $datadir"
                    453: echo "binary directory  $bindir"
                    454: if test "$mingw32" = "no" ; then
                    455: echo "Manual directory  $mandir"
                    456: echo "ELF interp prefix $interp_prefix"
                    457: fi
                    458: echo "Source path       $source_path"
                    459: echo "C compiler        $cc"
                    460: echo "Host C compiler   $host_cc"
                    461: echo "make              $make"
                    462: echo "host CPU          $cpu"
                    463: echo "host big endian   $bigendian"
                    464: echo "target list       $target_list"
                    465: echo "gprof enabled     $gprof"
                    466: echo "static build      $static"
                    467: if test "$darwin" = "yes" ; then
                    468:     echo "Cocoa support     $cocoa"
                    469: fi
                    470: echo "SDL support       $sdl"
                    471: if test "$sdl" != "no" ; then
                    472:     echo "SDL static link   $sdl_static"
                    473: fi
                    474: echo "mingw32 support   $mingw32"
                    475: echo "Adlib support     $adlib"
1.1.1.2 ! root      476: echo "CoreAudio support $coreaudio"
        !           477: echo "ALSA support      $alsa"
        !           478: echo "DSound support    $dsound"
1.1       root      479: echo -n "FMOD support      $fmod"
1.1.1.2 ! root      480: if test "$fmod" = "yes"; then
        !           481:     if test -z $fmod_lib || test -z $fmod_inc; then
        !           482:         echo
        !           483:         echo "Error: You must specify path to FMOD library and headers"
        !           484:         echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
        !           485:         echo
        !           486:         exit 1
        !           487:     fi
1.1       root      488:     echo -n " (lib='$fmod_lib' include='$fmod_inc')"
                    489: fi
                    490: echo ""
                    491: echo "kqemu support     $kqemu"
                    492: if test $kqemu = "yes" -a $linux = "yes" ; then
                    493: echo ""
                    494: echo "KQEMU Linux module configuration:"
                    495: echo "kernel sources    $kernel_path"
                    496: echo -n "kbuild type       "
                    497: if test $kbuild26 = "yes"; then
                    498: echo "2.6"
                    499: else
                    500: echo "2.4"
                    501: fi
                    502: fi
                    503: 
                    504: if test $sdl_too_old = "yes"; then
                    505: echo "-> Your SDL version is too old - please upgrade to have SDL support"
                    506: fi
                    507: #if test "$sdl_static" = "no"; then
                    508: #  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
                    509: #fi
                    510: 
                    511: config_mak="config-host.mak"
                    512: config_h="config-host.h"
                    513: 
                    514: #echo "Creating $config_mak and $config_h"
                    515: 
                    516: echo "# Automatically generated by configure - do not modify" > $config_mak
                    517: echo "/* Automatically generated by configure - do not modify */" > $config_h
                    518: 
                    519: echo "prefix=$prefix" >> $config_mak
                    520: echo "bindir=$bindir" >> $config_mak
                    521: echo "mandir=$mandir" >> $config_mak
                    522: echo "datadir=$datadir" >> $config_mak
                    523: echo "docdir=$docdir" >> $config_mak
                    524: echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
                    525: echo "MAKE=$make" >> $config_mak
                    526: echo "CC=$cc" >> $config_mak
                    527: if test "$have_gcc3_options" = "yes" ; then
                    528:   echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
                    529: fi
                    530: echo "HOST_CC=$host_cc" >> $config_mak
                    531: echo "AR=$ar" >> $config_mak
                    532: echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
                    533: echo "CFLAGS=$CFLAGS" >> $config_mak
                    534: echo "LDFLAGS=$LDFLAGS" >> $config_mak
                    535: echo "EXESUF=$EXESUF" >> $config_mak
                    536: if test "$cpu" = "i386" ; then
                    537:   echo "ARCH=i386" >> $config_mak
                    538:   echo "#define HOST_I386 1" >> $config_h
                    539: elif test "$cpu" = "x86_64" ; then
                    540:   echo "ARCH=x86_64" >> $config_mak
                    541:   echo "#define HOST_X86_64 1" >> $config_h
                    542: elif test "$cpu" = "armv4b" ; then
                    543:   echo "ARCH=arm" >> $config_mak
                    544:   echo "#define HOST_ARM 1" >> $config_h
                    545: elif test "$cpu" = "armv4l" ; then
                    546:   echo "ARCH=arm" >> $config_mak
                    547:   echo "#define HOST_ARM 1" >> $config_h
                    548: elif test "$cpu" = "powerpc" ; then
                    549:   echo "ARCH=ppc" >> $config_mak
                    550:   echo "#define HOST_PPC 1" >> $config_h
                    551: elif test "$cpu" = "mips" ; then
                    552:   echo "ARCH=mips" >> $config_mak
                    553:   echo "#define HOST_MIPS 1" >> $config_h
                    554: elif test "$cpu" = "s390" ; then
                    555:   echo "ARCH=s390" >> $config_mak
                    556:   echo "#define HOST_S390 1" >> $config_h
                    557: elif test "$cpu" = "alpha" ; then
                    558:   echo "ARCH=alpha" >> $config_mak
                    559:   echo "#define HOST_ALPHA 1" >> $config_h
                    560: elif test "$cpu" = "sparc" ; then
                    561:   echo "ARCH=sparc" >> $config_mak
                    562:   echo "#define HOST_SPARC 1" >> $config_h
                    563: elif test "$cpu" = "sparc64" ; then
                    564:   echo "ARCH=sparc64" >> $config_mak
                    565:   echo "#define HOST_SPARC64 1" >> $config_h
                    566: elif test "$cpu" = "ia64" ; then
                    567:   echo "ARCH=ia64" >> $config_mak
                    568:   echo "#define HOST_IA64 1" >> $config_h
                    569: elif test "$cpu" = "m68k" ; then
                    570:   echo "ARCH=m68k" >> $config_mak
                    571:   echo "#define HOST_M68K 1" >> $config_h
                    572: else
                    573:   echo "Unsupported CPU"
                    574:   exit 1
                    575: fi
                    576: if test "$bigendian" = "yes" ; then
                    577:   echo "WORDS_BIGENDIAN=yes" >> $config_mak
                    578:   echo "#define WORDS_BIGENDIAN 1" >> $config_h
                    579: fi
                    580: echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
                    581: if test "$mingw32" = "yes" ; then
                    582:   echo "CONFIG_WIN32=yes" >> $config_mak
                    583:   echo "#define CONFIG_WIN32 1" >> $config_h
                    584: elif test -f "/usr/include/byteswap.h" ; then
                    585:   echo "#define HAVE_BYTESWAP_H 1" >> $config_h
                    586: fi
                    587: if test "$darwin" = "yes" ; then
                    588:   echo "CONFIG_DARWIN=yes" >> $config_mak
                    589:   echo "#define CONFIG_DARWIN 1" >> $config_h
                    590: fi
                    591: if test "$gdbstub" = "yes" ; then
                    592:   echo "CONFIG_GDBSTUB=yes" >> $config_mak
                    593:   echo "#define CONFIG_GDBSTUB 1" >> $config_h
                    594: fi
                    595: if test "$gprof" = "yes" ; then
                    596:   echo "TARGET_GPROF=yes" >> $config_mak
                    597:   echo "#define HAVE_GPROF 1" >> $config_h
                    598: fi
                    599: if test "$static" = "yes" ; then
                    600:   echo "CONFIG_STATIC=yes" >> $config_mak
                    601:   echo "#define CONFIG_STATIC 1" >> $config_h
                    602: fi
                    603: if test "$slirp" = "yes" ; then
                    604:   echo "CONFIG_SLIRP=yes" >> $config_mak
                    605:   echo "#define CONFIG_SLIRP 1" >> $config_h
                    606: fi
                    607: if test "$adlib" = "yes" ; then
                    608:   echo "CONFIG_ADLIB=yes" >> $config_mak
                    609:   echo "#define CONFIG_ADLIB 1" >> $config_h
                    610: fi
                    611: if test "$oss" = "yes" ; then
                    612:   echo "CONFIG_OSS=yes" >> $config_mak
                    613:   echo "#define CONFIG_OSS 1" >> $config_h
                    614: fi
1.1.1.2 ! root      615: if test "$coreaudio" = "yes" ; then
        !           616:   echo "CONFIG_COREAUDIO=yes" >> $config_mak
        !           617:   echo "#define CONFIG_COREAUDIO 1" >> $config_h
        !           618: fi
        !           619: if test "$alsa" = "yes" ; then
        !           620:   echo "CONFIG_ALSA=yes" >> $config_mak
        !           621:   echo "#define CONFIG_ALSA 1" >> $config_h
        !           622: fi
        !           623: if test "$dsound" = "yes" ; then
        !           624:   echo "CONFIG_DSOUND=yes" >> $config_mak
        !           625:   echo "#define CONFIG_DSOUND 1" >> $config_h
        !           626: fi
1.1       root      627: if test "$fmod" = "yes" ; then
                    628:   echo "CONFIG_FMOD=yes" >> $config_mak
                    629:   echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
                    630:   echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
                    631:   echo "#define CONFIG_FMOD 1" >> $config_h
                    632: fi
                    633: echo -n "VERSION=" >>$config_mak
                    634: head $source_path/VERSION >>$config_mak
                    635: echo "" >>$config_mak
                    636: echo -n "#define QEMU_VERSION \"" >> $config_h
                    637: head $source_path/VERSION >> $config_h
                    638: echo "\"" >> $config_h
                    639: 
                    640: if test $kqemu = "yes" ; then
                    641:   echo "CONFIG_KQEMU=yes" >> $config_mak
                    642:   if test $linux = "yes" ; then
                    643:     echo "KERNEL_PATH=$kernel_path" >> $config_mak
                    644:     if test $kbuild26 = "yes" ; then
                    645:       echo "CONFIG_KBUILD26=yes" >> $config_mak
                    646:     fi
                    647:   fi
                    648: fi
                    649: echo "SRC_PATH=$source_path" >> $config_mak
                    650: echo "TARGET_DIRS=$target_list" >> $config_mak
                    651: 
                    652: # XXX: suppress that
                    653: if [ "$bsd" = "yes" ] ; then
                    654:   echo "#define O_LARGEFILE 0" >> $config_h
                    655:   echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
                    656:   echo "#define _BSD 1" >> $config_h
                    657: fi
                    658: 
1.1.1.2 ! root      659: for target in $target_list; do
1.1       root      660: 
                    661: target_dir="$target"
                    662: config_mak=$target_dir/config.mak
                    663: config_h=$target_dir/config.h
                    664: target_cpu=`echo $target | cut -d '-' -f 1`
                    665: target_bigendian="no"
                    666: [ "$target_cpu" = "armeb" ] && target_bigendian=yes
                    667: [ "$target_cpu" = "sparc" ] && target_bigendian=yes
                    668: [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
                    669: [ "$target_cpu" = "ppc" ] && target_bigendian=yes
                    670: [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
                    671: [ "$target_cpu" = "mips" ] && target_bigendian=yes
                    672: target_softmmu="no"
                    673: if expr $target : '.*-softmmu' > /dev/null ; then
                    674:   target_softmmu="yes"
                    675: fi
                    676: target_user_only="no"
                    677: if expr $target : '.*-user' > /dev/null ; then
                    678:   target_user_only="yes"
                    679: fi
                    680: 
                    681: if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1.1.1.2 ! root      682:         -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1.1       root      683:     echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
                    684:     echo "To build QEMU with graphical output configure with --disable-gfx-check"
                    685:     echo "Note that this will disable all output from the virtual graphics card."
                    686:     exit 1;
                    687: fi
                    688: 
                    689: #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
                    690: 
                    691: mkdir -p $target_dir
                    692: mkdir -p $target_dir/fpu
                    693: if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
                    694:   mkdir -p $target_dir/nwfpe
                    695: fi
                    696: if test "$target_user_only" = "no" ; then
                    697:   mkdir -p $target_dir/slirp
                    698: fi
                    699: 
                    700: ln -sf $source_path/Makefile.target $target_dir/Makefile
                    701: 
                    702: echo "# Automatically generated by configure - do not modify" > $config_mak
                    703: echo "/* Automatically generated by configure - do not modify */" > $config_h
                    704: 
                    705: 
                    706: echo "include ../config-host.mak" >> $config_mak
                    707: echo "#include \"../config-host.h\"" >> $config_h
                    708: 
                    709: interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
                    710: echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
                    711: 
                    712: if test "$target_cpu" = "i386" ; then
                    713:   echo "TARGET_ARCH=i386" >> $config_mak
                    714:   echo "#define TARGET_ARCH \"i386\"" >> $config_h
                    715:   echo "#define TARGET_I386 1" >> $config_h
                    716:   if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
                    717:     echo "#define USE_KQEMU 1" >> $config_h
                    718:   fi
                    719: elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
                    720:   echo "TARGET_ARCH=arm" >> $config_mak
                    721:   echo "#define TARGET_ARCH \"arm\"" >> $config_h
                    722:   echo "#define TARGET_ARM 1" >> $config_h
                    723: elif test "$target_cpu" = "sparc" ; then
                    724:   echo "TARGET_ARCH=sparc" >> $config_mak
                    725:   echo "#define TARGET_ARCH \"sparc\"" >> $config_h
                    726:   echo "#define TARGET_SPARC 1" >> $config_h
                    727: elif test "$target_cpu" = "sparc64" ; then
                    728:   echo "TARGET_ARCH=sparc64" >> $config_mak
                    729:   echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
                    730:   echo "#define TARGET_SPARC 1" >> $config_h
                    731:   echo "#define TARGET_SPARC64 1" >> $config_h
                    732: elif test "$target_cpu" = "ppc" ; then
                    733:   echo "TARGET_ARCH=ppc" >> $config_mak
                    734:   echo "#define TARGET_ARCH \"ppc\"" >> $config_h
                    735:   echo "#define TARGET_PPC 1" >> $config_h
                    736: elif test "$target_cpu" = "ppc64" ; then
                    737:   echo "TARGET_ARCH=ppc64" >> $config_mak
                    738:   echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
                    739:   echo "#define TARGET_PPC 1" >> $config_h
                    740:   echo "#define TARGET_PPC64 1" >> $config_h
                    741: elif test "$target_cpu" = "x86_64" ; then
                    742:   echo "TARGET_ARCH=x86_64" >> $config_mak
                    743:   echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
                    744:   echo "#define TARGET_I386 1" >> $config_h
                    745:   echo "#define TARGET_X86_64 1" >> $config_h
                    746:   if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"  ; then
                    747:     echo "#define USE_KQEMU 1" >> $config_h
                    748:   fi
1.1.1.2 ! root      749: elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
1.1       root      750:   echo "TARGET_ARCH=mips" >> $config_mak
                    751:   echo "#define TARGET_ARCH \"mips\"" >> $config_h
                    752:   echo "#define TARGET_MIPS 1" >> $config_h
                    753: else
                    754:   echo "Unsupported target CPU"
                    755:   exit 1
                    756: fi
                    757: if test "$target_bigendian" = "yes" ; then
                    758:   echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
                    759:   echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
                    760: fi
                    761: if test "$target_softmmu" = "yes" ; then
                    762:   echo "CONFIG_SOFTMMU=yes" >> $config_mak
                    763:   echo "#define CONFIG_SOFTMMU 1" >> $config_h
                    764: fi
                    765: if test "$target_user_only" = "yes" ; then
                    766:   echo "CONFIG_USER_ONLY=yes" >> $config_mak
                    767:   echo "#define CONFIG_USER_ONLY 1" >> $config_h
                    768: fi
                    769: 
                    770: if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
                    771:   echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
                    772:   echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
                    773: fi
                    774: # sdl defines
                    775: 
                    776: if test "$target_user_only" = "no"; then
                    777:     if test "$target_softmmu" = "no" -o "$static" = "yes"; then
                    778:         sdl1=$sdl_static
                    779:     else
                    780:         sdl1=$sdl
                    781:     fi
                    782:     if test "$sdl1" = "yes" ; then
                    783:         echo "#define CONFIG_SDL 1" >> $config_h
                    784:         echo "CONFIG_SDL=yes" >> $config_mak
                    785:         if test "$target_softmmu" = "no" -o "$static" = "yes"; then
                    786:             echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
                    787:         else
                    788:             echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
                    789:         fi
                    790:         echo -n "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
                    791:         if [ "${aa}" = "yes" ] ; then
                    792:             echo -n " `aalib-config --cflags`" >> $config_mak ;
                    793:         fi
                    794:         echo "" >> $config_mak
                    795:     fi
                    796: fi
                    797: 
                    798: if test "$cocoa" = "yes" ; then
                    799:     echo "#define CONFIG_COCOA 1" >> $config_h
                    800:     echo "CONFIG_COCOA=yes" >> $config_mak
                    801: fi
                    802: 
                    803: done # for target in $targets
                    804: 
                    805: # build tree in object directory if source path is different from current one
                    806: if test "$source_path_used" = "yes" ; then
                    807:     DIRS="tests"
                    808:     FILES="Makefile tests/Makefile"
                    809:     for dir in $DIRS ; do
                    810:             mkdir -p $dir
                    811:     done
                    812:     for f in $FILES ; do
                    813:         ln -sf $source_path/$f $f
                    814:     done
                    815: fi
                    816: 
                    817: rm -f $TMPO $TMPC $TMPE $TMPS

unix.superglobalmegacorp.com