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

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

unix.superglobalmegacorp.com