Annotation of qemu/configure, revision 1.1.1.1

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

unix.superglobalmegacorp.com