File:  [Qemu by Fabrice Bellard] / qemu / configure
Revision 1.1.1.4 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:42:43 2018 UTC (18 months, 2 weeks ago) by root
Branches: qemu, MAIN
CVS tags: qemu0082, HEAD
qemu 0.8.2

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

unix.superglobalmegacorp.com