File:  [Qemu by Fabrice Bellard] / qemu / configure
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:38:31 2018 UTC (2 years, 3 months ago) by root
Branches: qemu, MAIN
CVS tags: qemu0080, HEAD
qemu 0.8.0

    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: dsound="no"
   81: coreaudio="no"
   82: alsa="no"
   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"
   91: check_gcc="yes"
   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: ;;
  122: *)
  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
  138: # XXX: we assume an absolute path is given when launching configure,
  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
  150:   --help|-h) show_help=yes
  151:   ;;
  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:   ;;
  180:   --enable-coreaudio) coreaudio="yes"
  181:   ;;
  182:   --enable-alsa) alsa="yes"
  183:   ;;
  184:   --enable-dsound) dsound="yes"
  185:   ;;
  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-"
  193:   ;;
  194:   --disable-slirp) slirp="no"
  195:   ;;
  196:   --enable-adlib) adlib="yes"
  197:   ;;
  198:   --disable-kqemu) kqemu="no"
  199:   ;;
  200:   --kernel-path=*) kernel_path=${opt#--kernel-path=}
  201:   ;;
  202:   --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
  203:   ;;
  204:   --disable-gfx-check) check_gfx="no"
  205:   ;;
  206:   --disable-gcc-check) check_gcc="no"
  207:   ;;
  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
  232:     target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu arm-softmmu"
  233: # the following are Linux specific
  234:     if [ "$linux" = "yes" ] ; then
  235:         target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
  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){
  248:         volatile uint32_t i=0x01234567;
  249:         return (*((uint8_t*)(&i))) == 0x67;
  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: 
  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: 
  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: 
  353: if test x"$show_help" = x"yes" ; then
  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]"
  375: echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."
  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"
  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"
  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
  412:     if test '!' -f "kqemu/Makefile" ; then
  413:         kqemu="no"
  414:     fi
  415: fi
  416: 
  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"
  423: if test '!' -d "$kernel_path/include" ; then
  424:     kernel_path="/usr/src/linux"
  425:     if test '!' -d "$kernel_path/include" ; then
  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"
  438: fi
  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"
  476: echo "CoreAudio support $coreaudio"
  477: echo "ALSA support      $alsa"
  478: echo "DSound support    $dsound"
  479: echo -n "FMOD support      $fmod"
  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
  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
  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
  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: 
  659: for target in $target_list; do
  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" \
  682:         -a "$sdl" = "no" -a "$cocoa" = "no" ; then
  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
  749: elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
  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