Annotation of qemu/configure, revision 1.1.1.3

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"
1.1.1.3 ! root       28: install="install"
1.1       root       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:   ;;
1.1.1.3 ! root       54:   sparc|sun4[muv])
1.1       root       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"
1.1.1.2   root       81: dsound="no"
                     82: coreaudio="no"
                     83: alsa="no"
1.1       root       84: fmod="no"
                     85: fmod_lib=""
                     86: fmod_inc=""
1.1.1.3 ! root       87: bsd="no"
1.1       root       88: linux="no"
                     89: kqemu="no"
1.1.1.3 ! root       90: profiler="no"
1.1       root       91: kernel_path=""
                     92: cocoa="no"
                     93: check_gfx="yes"
1.1.1.2   root       94: check_gcc="yes"
1.1.1.3 ! root       95: softmmu="yes"
        !            96: user="no"
        !            97: build_docs="no"
1.1       root       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: ;;
1.1.1.3 ! root      128: SunOS)
        !           129: solaris="yes"
        !           130: ;;
1.1.1.2   root      131: *)
1.1       root      132: oss="yes"
                    133: linux="yes"
1.1.1.3 ! root      134: user="yes"
1.1       root      135: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
                    136:     kqemu="yes"
                    137: fi
                    138: ;;
                    139: esac
                    140: 
                    141: if [ "$bsd" = "yes" ] ; then
1.1.1.3 ! root      142:   if [ "$darwin" != "yes" ] ; then
1.1       root      143:     make="gmake"
                    144:   fi
                    145: fi
                    146: 
1.1.1.3 ! root      147: if [ "$solaris" = "yes" ] ; then
        !           148:     make="gmake"
        !           149:     install="ginstall"
        !           150:     solarisrev=`uname -r | cut -f2 -d.`
        !           151: fi
        !           152: 
1.1       root      153: # find source path
1.1.1.3 ! root      154: source_path=`dirname "$0"`
        !           155: if [ -z "$source_path" ]; then
1.1       root      156:     source_path=`pwd`
1.1.1.3 ! root      157: else
        !           158:     source_path=`cd "$source_path"; pwd`
        !           159: fi
        !           160: if test "$source_path" = `pwd` ; then
1.1       root      161:     source_path_used="no"
1.1.1.3 ! root      162: else
        !           163:     source_path_used="yes"
1.1       root      164: fi
                    165: 
                    166: for opt do
1.1.1.3 ! root      167:   optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
1.1       root      168:   case "$opt" in
1.1.1.2   root      169:   --help|-h) show_help=yes
                    170:   ;;
1.1.1.3 ! root      171:   --prefix=*) prefix="$optarg"
1.1       root      172:   ;;
1.1.1.3 ! root      173:   --interp-prefix=*) interp_prefix="$optarg"
1.1       root      174:   ;;
1.1.1.3 ! root      175:   --source-path=*) source_path="$optarg"
        !           176:   source_path_used="yes"
1.1       root      177:   ;;
1.1.1.3 ! root      178:   --cross-prefix=*) cross_prefix="$optarg"
1.1       root      179:   ;;
1.1.1.3 ! root      180:   --cc=*) cc="$optarg"
1.1       root      181:   ;;
1.1.1.3 ! root      182:   --host-cc=*) host_cc="$optarg"
1.1       root      183:   ;;
1.1.1.3 ! root      184:   --make=*) make="$optarg"
1.1       root      185:   ;;
1.1.1.3 ! root      186:   --install=*) install="$optarg"
1.1       root      187:   ;;
1.1.1.3 ! root      188:   --extra-cflags=*) CFLAGS="$optarg"
1.1       root      189:   ;;
1.1.1.3 ! root      190:   --extra-ldflags=*) LDFLAGS="$optarg"
1.1       root      191:   ;;
1.1.1.3 ! root      192:   --cpu=*) cpu="$optarg"
        !           193:   ;;
        !           194:   --target-list=*) target_list="$optarg"
1.1       root      195:   ;;
                    196:   --enable-gprof) gprof="yes"
                    197:   ;;
                    198:   --static) static="yes"
                    199:   ;;
                    200:   --disable-sdl) sdl="no"
                    201:   ;;
1.1.1.2   root      202:   --enable-coreaudio) coreaudio="yes"
                    203:   ;;
                    204:   --enable-alsa) alsa="yes"
                    205:   ;;
                    206:   --enable-dsound) dsound="yes"
                    207:   ;;
1.1       root      208:   --enable-fmod) fmod="yes"
                    209:   ;;
1.1.1.3 ! root      210:   --fmod-lib=*) fmod_lib="$optarg"
1.1       root      211:   ;;
1.1.1.3 ! root      212:   --fmod-inc=*) fmod_inc="$optarg"
1.1       root      213:   ;;
                    214:   --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
1.1.1.2   root      215:   ;;
1.1       root      216:   --disable-slirp) slirp="no"
1.1.1.2   root      217:   ;;
1.1       root      218:   --enable-adlib) adlib="yes"
1.1.1.2   root      219:   ;;
1.1       root      220:   --disable-kqemu) kqemu="no"
1.1.1.2   root      221:   ;;
1.1.1.3 ! root      222:   --enable-profiler) profiler="yes"
        !           223:   ;;
        !           224:   --kernel-path=*) kernel_path="$optarg"
1.1.1.2   root      225:   ;;
                    226:   --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
                    227:   ;;
1.1       root      228:   --disable-gfx-check) check_gfx="no"
                    229:   ;;
1.1.1.2   root      230:   --disable-gcc-check) check_gcc="no"
                    231:   ;;
1.1.1.3 ! root      232:   --disable-system) softmmu="no"
        !           233:   ;;
        !           234:   --enable-system) softmmu="yes"
        !           235:   ;;
        !           236:   --disable-user) user="no"
        !           237:   ;;
        !           238:   --enable-user) user="yes"
        !           239:   ;;
1.1       root      240:   esac
                    241: done
                    242: 
                    243: # Checking for CFLAGS
                    244: if test -z "$CFLAGS"; then
                    245:     CFLAGS="-O2"
                    246: fi
                    247: 
1.1.1.3 ! root      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: 
1.1       root      292: cc="${cross_prefix}${cc}"
                    293: ar="${cross_prefix}${ar}"
                    294: strip="${cross_prefix}${strip}"
                    295: 
1.1.1.3 ! root      296: if [ ! -x "`which $cc`" ] ; then
        !           297:     echo "Compiler $cc could not be found"
        !           298:     exit
        !           299: fi
        !           300: 
1.1       root      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: 
1.1.1.3 ! root      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: 
1.1       root      352: if test -z "$target_list" ; then
                    353: # these targets are portable
1.1.1.3 ! root      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
1.1       root      357: # the following are Linux specific
1.1.1.3 ! root      358:     if [ "$user" = "yes" ] ; then
1.1.1.2   root      359:         target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
1.1       root      360:     fi
                    361: else
1.1.1.3 ! root      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
1.1       root      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){
1.1.1.2   root      376:         volatile uint32_t i=0x01234567;
                    377:         return (*((uint8_t*)(&i))) == 0x67;
1.1       root      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: 
1.1.1.3 ! root      413: # Check for gcc4, error if pre-gcc4 
1.1.1.2   root      414: if test "$check_gcc" = "yes" ; then
                    415:     cat > $TMPC <<EOF
1.1.1.3 ! root      416: #if __GNUC__ < 4
        !           417: #error gcc3
1.1.1.2   root      418: #endif
                    419: int main(){return 0;}
                    420: EOF
1.1.1.3 ! root      421:     if $cc -o $TMPO $TMPC 2>/dev/null ; then
1.1.1.2   root      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: 
1.1       root      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: 
1.1.1.3 ! root      481: # Check if tools are available to build documentation.
        !           482: if [ -x "`which texi2html`" ] && [ -x "`which pod2man`" ]; then
        !           483:   build_docs="yes"
1.1       root      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"
1.1.1.3 ! root      515: echo "install           $install"
1.1       root      516: echo "host CPU          $cpu"
                    517: echo "host big endian   $bigendian"
                    518: echo "target list       $target_list"
                    519: echo "gprof enabled     $gprof"
1.1.1.3 ! root      520: echo "profiler          $profiler"
1.1       root      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"
1.1.1.2   root      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
1.1.1.3 ! root      542:     fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
1.1       root      543: else
1.1.1.3 ! root      544:     fmod_support=""
1.1       root      545: fi
1.1.1.3 ! root      546: echo "FMOD support      $fmod $fmod_support"
        !           547: echo "kqemu support     $kqemu"
        !           548: echo "Documentation     $build_docs"
1.1       root      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
1.1.1.3 ! root      562: echo "# Configured with: $0 $@" >> $config_mak
1.1       root      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
1.1.1.3 ! root      572: echo "INSTALL=$install" >> $config_mak
1.1       root      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
1.1.1.3 ! root      638: if test "$solaris" = "yes" ; then
        !           639:   echo "CONFIG_SOLARIS=yes" >> $config_mak
        !           640:   echo "#define HOST_SOLARIS $solarisrev" >> $config_h
        !           641: fi
1.1       root      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
1.1.1.3 ! root      654: if test $profiler = "yes" ; then
        !           655:   echo "#define CONFIG_PROFILER 1" >> $config_h
        !           656: fi
1.1       root      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
1.1.1.2   root      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
1.1       root      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
1.1.1.3 ! root      687: qemu_version=`head $source_path/VERSION`
        !           688: echo "VERSION=$qemu_version" >>$config_mak
        !           689: echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
        !           690: 
1.1       root      691: echo "SRC_PATH=$source_path" >> $config_mak
1.1.1.3 ! root      692: if [ "$source_path_used" = "yes" ]; then
        !           693:   echo "VPATH=$source_path" >> $config_mak
        !           694: fi
1.1       root      695: echo "TARGET_DIRS=$target_list" >> $config_mak
1.1.1.3 ! root      696: if [ "$build_docs" = "yes" ] ; then
        !           697:   echo "BUILD_DOCS=yes" >> $config_mak
        !           698: fi
1.1       root      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: 
1.1.1.2   root      707: for target in $target_list; do
1.1       root      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" \
1.1.1.2   root      729:         -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1.1       root      730:     echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1.1.1.3 ! root      731:     echo "To build QEMU without graphical output configure with --disable-gfx-check"
1.1       root      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: 
1.1.1.3 ! root      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: 
1.1       root      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
1.1.1.2   root      801: elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
1.1       root      802:   echo "TARGET_ARCH=mips" >> $config_mak
                    803:   echo "#define TARGET_ARCH \"mips\"" >> $config_h
                    804:   echo "#define TARGET_MIPS 1" >> $config_h
1.1.1.3 ! root      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
1.1       root      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
1.1.1.3 ! root      847:             echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
        !           848:         else
        !           849:             echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1.1       root      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
1.1.1.3 ! root      868:     # remove the link and recreate it, as not all "ln -sf" overwrite the link
1.1       root      869:     for f in $FILES ; do
1.1.1.3 ! root      870:         rm -f $f
        !           871:         ln -s $source_path/$f $f
1.1       root      872:     done
                    873: fi
                    874: 
                    875: rm -f $TMPO $TMPC $TMPE $TMPS

unix.superglobalmegacorp.com