|
|
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"
1.1.1.7 ! root 18: TMPI="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
! 19: TMPSDLLOG="${TMPDIR1}/qemu-conf-sdl-$$-${RANDOM}.log"
! 20:
! 21: trap "rm -f $TMPC $TMPO $TMPE $TMPS $TMPI $TMPSDLLOG; exit" 0 2 3 15
1.1 root 22:
23: # default parameters
24: prefix=""
25: interp_prefix="/usr/gnemul/qemu-%M"
26: static="no"
27: cross_prefix=""
28: cc="gcc"
1.1.1.7 ! root 29: audio_drv_list=""
! 30: audio_card_list="ac97 es1370 sb16"
! 31: audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus"
1.1 root 32: host_cc="gcc"
33: ar="ar"
34: make="make"
1.1.1.3 root 35: install="install"
1.1 root 36: strip="strip"
1.1.1.7 ! root 37:
! 38: # parse CC options first
! 39: for opt do
! 40: optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
! 41: case "$opt" in
! 42: --cross-prefix=*) cross_prefix="$optarg"
! 43: ;;
! 44: --cc=*) cc="$optarg"
! 45: ;;
! 46: esac
! 47: done
! 48:
! 49: # OS specific
! 50: # Using uname is really, really broken. Once we have the right set of checks
! 51: # we can eliminate it's usage altogether
! 52:
! 53: cc="${cross_prefix}${cc}"
! 54: ar="${cross_prefix}${ar}"
! 55: strip="${cross_prefix}${strip}"
! 56:
! 57: # check that the C compiler works.
! 58: cat > $TMPC <<EOF
! 59: int main(void) {}
! 60: EOF
! 61:
! 62: if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null ; then
! 63: : C compiler works ok
! 64: else
! 65: echo "ERROR: \"$cc\" either does not exist or does not work"
! 66: exit 1
! 67: fi
! 68:
! 69: check_define() {
! 70: cat > $TMPC <<EOF
! 71: #if !defined($1)
! 72: #error Not defined
! 73: #endif
! 74: int main(void) { return 0; }
! 75: EOF
! 76: $cc $ARCH_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null
! 77: }
! 78:
! 79: if check_define __i386__ ; then
! 80: cpu="i386"
! 81: elif check_define __x86_64__ ; then
! 82: cpu="x86_64"
! 83: elif check_define __sparc__ ; then
! 84: # We can't check for 64 bit (when gcc is biarch) or V8PLUSA
! 85: # They must be specified using --sparc_cpu
! 86: if check_define __arch64__ ; then
! 87: cpu="sparc64"
! 88: else
! 89: cpu="sparc"
! 90: fi
! 91: elif check_define _ARCH_PPC ; then
! 92: if check_define _ARCH_PPC64 ; then
! 93: cpu="ppc64"
! 94: else
! 95: cpu="ppc"
! 96: fi
! 97: else
! 98: cpu=`uname -m`
! 99: fi
! 100:
1.1 root 101: target_list=""
102: case "$cpu" in
103: i386|i486|i586|i686|i86pc|BePC)
104: cpu="i386"
105: ;;
1.1.1.7 ! root 106: x86_64|amd64)
! 107: cpu="x86_64"
! 108: ;;
! 109: alpha)
! 110: cpu="alpha"
! 111: ;;
1.1 root 112: armv*b)
113: cpu="armv4b"
114: ;;
115: armv*l)
116: cpu="armv4l"
117: ;;
1.1.1.7 ! root 118: cris)
! 119: cpu="cris"
! 120: ;;
! 121: parisc|parisc64)
! 122: cpu="hppa"
1.1 root 123: ;;
1.1.1.7 ! root 124: ia64)
! 125: cpu="ia64"
! 126: ;;
! 127: m68k)
! 128: cpu="m68k"
1.1 root 129: ;;
130: mips)
131: cpu="mips"
132: ;;
1.1.1.6 root 133: mips64)
134: cpu="mips64"
135: ;;
1.1.1.7 ! root 136: ppc)
! 137: cpu="ppc"
! 138: ;;
! 139: ppc64)
! 140: cpu="ppc64"
1.1.1.6 root 141: ;;
142: s390*)
1.1 root 143: cpu="s390"
144: ;;
1.1.1.6 root 145: sparc|sun4[cdmuv])
1.1 root 146: cpu="sparc"
147: ;;
148: sparc64)
149: cpu="sparc64"
150: ;;
151: *)
152: cpu="unknown"
153: ;;
154: esac
155: gprof="no"
1.1.1.7 ! root 156: sparse="no"
1.1 root 157: bigendian="no"
158: mingw32="no"
159: EXESUF=""
160: gdbstub="yes"
161: slirp="yes"
1.1.1.7 ! root 162: vde="yes"
1.1 root 163: fmod_lib=""
164: fmod_inc=""
1.1.1.7 ! root 165: oss_lib=""
1.1.1.6 root 166: vnc_tls="yes"
1.1.1.3 root 167: bsd="no"
1.1 root 168: linux="no"
1.1.1.7 ! root 169: solaris="no"
1.1 root 170: kqemu="no"
1.1.1.3 root 171: profiler="no"
1.1 root 172: cocoa="no"
173: check_gfx="yes"
1.1.1.3 root 174: softmmu="yes"
1.1.1.5 root 175: linux_user="no"
176: darwin_user="no"
1.1.1.7 ! root 177: bsd_user="no"
1.1.1.3 root 178: build_docs="no"
1.1.1.4 root 179: uname_release=""
1.1.1.7 ! root 180: curses="yes"
! 181: aio="yes"
! 182: nptl="yes"
! 183: mixemu="no"
! 184: bluez="yes"
! 185: kvm="yes"
! 186: kerneldir=""
! 187: aix="no"
! 188: blobs="yes"
! 189: fdt="yes"
! 190: sdl_x11="no"
1.1 root 191:
192: # OS specific
1.1.1.7 ! root 193: if check_define __linux__ ; then
! 194: targetos="Linux"
! 195: elif check_define _WIN32 ; then
! 196: targetos='MINGW32'
! 197: else
! 198: targetos=`uname -s`
! 199: fi
1.1 root 200: case $targetos in
201: CYGWIN*)
202: mingw32="yes"
1.1.1.5 root 203: OS_CFLAGS="-mno-cygwin"
1.1.1.6 root 204: if [ "$cpu" = "i386" ] ; then
205: kqemu="yes"
206: fi
1.1.1.7 ! root 207: audio_possible_drivers="sdl"
1.1 root 208: ;;
209: MINGW32*)
210: mingw32="yes"
1.1.1.6 root 211: if [ "$cpu" = "i386" ] ; then
212: kqemu="yes"
213: fi
1.1.1.7 ! root 214: audio_possible_drivers="dsound sdl fmod"
1.1.1.6 root 215: ;;
216: GNU/kFreeBSD)
1.1.1.7 ! root 217: audio_drv_list="oss"
! 218: audio_possible_drivers="oss sdl esd pa"
1.1.1.6 root 219: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
220: kqemu="yes"
221: fi
1.1 root 222: ;;
223: FreeBSD)
224: bsd="yes"
1.1.1.7 ! root 225: audio_drv_list="oss"
! 226: audio_possible_drivers="oss sdl esd pa"
1.1 root 227: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
228: kqemu="yes"
229: fi
230: ;;
231: NetBSD)
232: bsd="yes"
1.1.1.7 ! root 233: audio_drv_list="oss"
! 234: audio_possible_drivers="oss sdl esd"
! 235: oss_lib="-lossaudio"
1.1 root 236: ;;
237: OpenBSD)
238: bsd="yes"
1.1.1.7 ! root 239: openbsd="yes"
! 240: audio_drv_list="oss"
! 241: audio_possible_drivers="oss sdl esd"
! 242: oss_lib="-lossaudio"
1.1 root 243: ;;
244: Darwin)
245: bsd="yes"
246: darwin="yes"
1.1.1.7 ! root 247: # on Leopard most of the system is 32-bit, so we have to ask the kernel it if we can run 64-bit userspace code
! 248: if [ "$cpu" = "i386" ] ; then
! 249: is_x86_64=`sysctl -n hw.optional.x86_64`
! 250: [ "$is_x86_64" = "1" ] && cpu=x86_64
! 251: fi
! 252: if [ "$cpu" = "x86_64" ] ; then
! 253: OS_CFLAGS="-arch x86_64"
! 254: LDFLAGS="-arch x86_64"
! 255: else
! 256: OS_CFLAGS="-mdynamic-no-pic"
! 257: fi
1.1.1.5 root 258: darwin_user="yes"
259: cocoa="yes"
1.1.1.7 ! root 260: audio_drv_list="coreaudio"
! 261: audio_possible_drivers="coreaudio sdl fmod"
! 262: OS_LDFLAGS="-framework CoreFoundation -framework IOKit"
1.1 root 263: ;;
1.1.1.3 root 264: SunOS)
1.1.1.6 root 265: solaris="yes"
266: make="gmake"
267: install="ginstall"
268: needs_libsunmath="no"
269: solarisrev=`uname -r | cut -f2 -d.`
270: # have to select again, because `uname -m` returns i86pc
271: # even on an x86_64 box.
272: solariscpu=`isainfo -k`
273: if test "${solariscpu}" = "amd64" ; then
274: cpu="x86_64"
275: fi
276: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
277: if test "$solarisrev" -le 9 ; then
278: if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
279: needs_libsunmath="yes"
280: else
281: echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
282: echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
283: echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
284: echo "Studio 11 can be downloaded from www.sun.com."
285: exit 1
286: fi
287: fi
288: if test "$solarisrev" -ge 9 ; then
289: kqemu="yes"
290: fi
291: fi
292: if test -f /usr/include/sys/soundcard.h ; then
1.1.1.7 ! root 293: audio_drv_list="oss"
1.1.1.6 root 294: fi
1.1.1.7 ! root 295: audio_possible_drivers="oss sdl"
! 296: ;;
! 297: AIX)
! 298: aix="yes"
! 299: make="gmake"
1.1.1.3 root 300: ;;
1.1.1.2 root 301: *)
1.1.1.7 ! root 302: audio_drv_list="oss"
! 303: audio_possible_drivers="oss alsa sdl esd pa"
1.1 root 304: linux="yes"
1.1.1.5 root 305: linux_user="yes"
1.1.1.7 ! root 306: usb="linux"
1.1 root 307: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
308: kqemu="yes"
1.1.1.7 ! root 309: audio_possible_drivers="$audio_possible_drivers fmod"
1.1 root 310: fi
311: ;;
312: esac
313:
314: if [ "$bsd" = "yes" ] ; then
1.1.1.3 root 315: if [ "$darwin" != "yes" ] ; then
1.1 root 316: make="gmake"
1.1.1.7 ! root 317: usb="bsd"
1.1 root 318: fi
1.1.1.7 ! root 319: bsd_user="yes"
1.1 root 320: fi
321:
322: # find source path
1.1.1.3 root 323: source_path=`dirname "$0"`
1.1.1.7 ! root 324: source_path_used="no"
! 325: workdir=`pwd`
1.1.1.3 root 326: if [ -z "$source_path" ]; then
1.1.1.7 ! root 327: source_path=$workdir
1.1.1.3 root 328: else
329: source_path=`cd "$source_path"; pwd`
330: fi
1.1.1.7 ! root 331: [ -f "$workdir/vl.c" ] || source_path_used="yes"
1.1 root 332:
1.1.1.6 root 333: werror="no"
334: # generate compile errors on warnings for development builds
335: #if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
336: #werror="yes";
337: #fi
338:
1.1 root 339: for opt do
1.1.1.3 root 340: optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
1.1 root 341: case "$opt" in
1.1.1.2 root 342: --help|-h) show_help=yes
343: ;;
1.1.1.3 root 344: --prefix=*) prefix="$optarg"
1.1 root 345: ;;
1.1.1.3 root 346: --interp-prefix=*) interp_prefix="$optarg"
1.1 root 347: ;;
1.1.1.3 root 348: --source-path=*) source_path="$optarg"
349: source_path_used="yes"
1.1 root 350: ;;
1.1.1.7 ! root 351: --cross-prefix=*)
1.1 root 352: ;;
1.1.1.7 ! root 353: --cc=*)
1.1 root 354: ;;
1.1.1.3 root 355: --host-cc=*) host_cc="$optarg"
1.1 root 356: ;;
1.1.1.3 root 357: --make=*) make="$optarg"
1.1 root 358: ;;
1.1.1.3 root 359: --install=*) install="$optarg"
1.1 root 360: ;;
1.1.1.3 root 361: --extra-cflags=*) CFLAGS="$optarg"
1.1 root 362: ;;
1.1.1.3 root 363: --extra-ldflags=*) LDFLAGS="$optarg"
1.1 root 364: ;;
1.1.1.3 root 365: --cpu=*) cpu="$optarg"
366: ;;
367: --target-list=*) target_list="$optarg"
1.1 root 368: ;;
369: --enable-gprof) gprof="yes"
370: ;;
371: --static) static="yes"
372: ;;
373: --disable-sdl) sdl="no"
374: ;;
1.1.1.7 ! root 375: --fmod-lib=*) fmod_lib="$optarg"
1.1.1.2 root 376: ;;
1.1.1.7 ! root 377: --fmod-inc=*) fmod_inc="$optarg"
1.1.1.2 root 378: ;;
1.1.1.7 ! root 379: --oss-lib=*) oss_lib="$optarg"
1.1.1.2 root 380: ;;
1.1.1.7 ! root 381: --audio-card-list=*) audio_card_list=`echo "$optarg" | sed -e 's/,/ /g'`
1.1 root 382: ;;
1.1.1.7 ! root 383: --audio-drv-list=*) audio_drv_list="$optarg"
1.1 root 384: ;;
1.1.1.7 ! root 385: --enable-sparse) sparse="yes"
1.1 root 386: ;;
1.1.1.7 ! root 387: --disable-sparse) sparse="no"
1.1.1.6 root 388: ;;
1.1.1.7 ! root 389: --disable-vnc-tls) vnc_tls="no"
1.1.1.2 root 390: ;;
1.1 root 391: --disable-slirp) slirp="no"
1.1.1.2 root 392: ;;
1.1.1.7 ! root 393: --disable-vde) vde="no"
1.1.1.2 root 394: ;;
1.1 root 395: --disable-kqemu) kqemu="no"
1.1.1.2 root 396: ;;
1.1.1.7 ! root 397: --disable-brlapi) brlapi="no"
! 398: ;;
! 399: --disable-bluez) bluez="no"
! 400: ;;
! 401: --disable-kvm) kvm="no"
! 402: ;;
1.1.1.3 root 403: --enable-profiler) profiler="yes"
404: ;;
1.1.1.7 ! root 405: --enable-cocoa)
! 406: cocoa="yes" ;
! 407: sdl="no" ;
! 408: audio_drv_list="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
1.1.1.2 root 409: ;;
1.1 root 410: --disable-gfx-check) check_gfx="no"
411: ;;
1.1.1.3 root 412: --disable-system) softmmu="no"
413: ;;
414: --enable-system) softmmu="yes"
415: ;;
1.1.1.5 root 416: --disable-linux-user) linux_user="no"
1.1.1.3 root 417: ;;
1.1.1.5 root 418: --enable-linux-user) linux_user="yes"
1.1.1.3 root 419: ;;
1.1.1.5 root 420: --disable-darwin-user) darwin_user="no"
421: ;;
422: --enable-darwin-user) darwin_user="yes"
1.1.1.4 root 423: ;;
1.1.1.7 ! root 424: --disable-bsd-user) bsd_user="no"
! 425: ;;
! 426: --enable-bsd-user) bsd_user="yes"
! 427: ;;
1.1.1.5 root 428: --enable-uname-release=*) uname_release="$optarg"
1.1.1.4 root 429: ;;
1.1.1.6 root 430: --sparc_cpu=*)
431: sparc_cpu="$optarg"
432: case $sparc_cpu in
433: v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
434: target_cpu="sparc"; cpu="sparc" ;;
435: v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
436: target_cpu="sparc"; cpu="sparc" ;;
437: v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
438: target_cpu="sparc64"; cpu="sparc64" ;;
439: *) echo "undefined SPARC architecture. Exiting";exit 1;;
440: esac
441: ;;
442: --enable-werror) werror="yes"
443: ;;
444: --disable-werror) werror="no"
445: ;;
1.1.1.7 ! root 446: --disable-curses) curses="no"
! 447: ;;
! 448: --disable-nptl) nptl="no"
! 449: ;;
! 450: --enable-mixemu) mixemu="yes"
! 451: ;;
! 452: --disable-aio) aio="no"
! 453: ;;
! 454: --disable-blobs) blobs="no"
! 455: ;;
! 456: --kerneldir=*) kerneldir="$optarg"
! 457: ;;
1.1.1.6 root 458: *) echo "ERROR: unknown option $opt"; show_help="yes"
459: ;;
1.1 root 460: esac
461: done
462:
1.1.1.5 root 463: # default flags for all hosts
1.1.1.7 ! root 464: CFLAGS="$CFLAGS -O2 -g -fno-strict-aliasing"
! 465: CFLAGS="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
1.1.1.5 root 466: LDFLAGS="$LDFLAGS -g"
1.1.1.6 root 467: if test "$werror" = "yes" ; then
468: CFLAGS="$CFLAGS -Werror"
469: fi
470:
1.1.1.7 ! root 471: if test "$solaris" = "no" ; then
! 472: if ld --version 2>/dev/null | grep "GNU ld" >/dev/null 2>/dev/null ; then
! 473: LDFLAGS="$LDFLAGS -Wl,--warn-common"
! 474: fi
! 475: fi
! 476:
1.1.1.6 root 477: #
478: # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
479: # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
480: #
1.1.1.7 ! root 481: case "$cpu" in
1.1.1.6 root 482: sparc) if test -z "$sparc_cpu" ; then
483: ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
484: ARCH_LDFLAGS="-m32"
485: else
486: ARCH_CFLAGS="${SP_CFLAGS}"
487: ARCH_LDFLAGS="${SP_LDFLAGS}"
488: fi
489: ;;
490: sparc64) if test -z "$sparc_cpu" ; then
491: ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
492: ARCH_LDFLAGS="-m64"
493: else
494: ARCH_CFLAGS="${SP_CFLAGS}"
495: ARCH_LDFLAGS="${SP_LDFLAGS}"
496: fi
497: ;;
498: s390)
499: ARCH_CFLAGS="-march=z900"
500: ;;
1.1.1.7 ! root 501: i386)
! 502: ARCH_CFLAGS="-m32"
! 503: ARCH_LDFLAGS="-m32"
! 504: ;;
! 505: x86_64)
! 506: ARCH_CFLAGS="-m64"
! 507: ARCH_LDFLAGS="-m64"
! 508: ;;
1.1.1.6 root 509: esac
510:
1.1.1.3 root 511: if test x"$show_help" = x"yes" ; then
512: cat << EOF
513:
514: Usage: configure [options]
515: Options: [defaults in brackets after descriptions]
516:
517: EOF
518: echo "Standard options:"
519: echo " --help print this message"
520: echo " --prefix=PREFIX install in PREFIX [$prefix]"
521: echo " --interp-prefix=PREFIX where to find shared libraries, etc."
522: echo " use %M for cpu name [$interp_prefix]"
523: echo " --target-list=LIST set target list [$target_list]"
524: echo ""
525: echo "kqemu kernel acceleration support:"
526: echo " --disable-kqemu disable kqemu support"
527: echo ""
528: echo "Advanced options (experts only):"
529: echo " --source-path=PATH path of source code [$source_path]"
530: echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
531: echo " --cc=CC use C compiler CC [$cc]"
532: echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
533: echo " --make=MAKE use specified make [$make]"
534: echo " --install=INSTALL use specified install [$install]"
535: echo " --static enable static build [$static]"
1.1.1.7 ! root 536: echo " --enable-sparse enable sparse checker"
! 537: echo " --disable-sparse disable sparse checker (default)"
1.1.1.6 root 538: echo " --disable-werror disable compilation abort on warning"
539: echo " --disable-sdl disable SDL"
1.1.1.3 root 540: echo " --enable-cocoa enable COCOA (Mac OS X only)"
1.1.1.7 ! root 541: echo " --audio-drv-list=LIST set audio drivers list:"
! 542: echo " Available drivers: $audio_possible_drivers"
! 543: echo " --audio-card-list=LIST set list of emulated audio cards [$audio_card_list]"
! 544: echo " Available cards: $audio_possible_cards"
! 545: echo " --enable-mixemu enable mixer emulation"
! 546: echo " --disable-brlapi disable BrlAPI"
1.1.1.6 root 547: echo " --disable-vnc-tls disable TLS encryption for VNC server"
1.1.1.7 ! root 548: echo " --disable-curses disable curses output"
! 549: echo " --disable-bluez disable bluez stack connectivity"
! 550: echo " --disable-kvm disable KVM acceleration support"
! 551: echo " --disable-nptl disable usermode NPTL support"
1.1.1.3 root 552: echo " --enable-system enable all system emulation targets"
553: echo " --disable-system disable all system emulation targets"
1.1.1.5 root 554: echo " --enable-linux-user enable all linux usermode emulation targets"
555: echo " --disable-linux-user disable all linux usermode emulation targets"
556: echo " --enable-darwin-user enable all darwin usermode emulation targets"
557: echo " --disable-darwin-user disable all darwin usermode emulation targets"
1.1.1.7 ! root 558: echo " --enable-bsd-user enable all BSD usermode emulation targets"
! 559: echo " --disable-bsd-user disable all BSD usermode emulation targets"
1.1.1.3 root 560: echo " --fmod-lib path to FMOD library"
561: echo " --fmod-inc path to FMOD includes"
1.1.1.7 ! root 562: echo " --oss-lib path to OSS library"
1.1.1.4 root 563: echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
1.1.1.6 root 564: echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
1.1.1.7 ! root 565: echo " --disable-vde disable support for vde network"
! 566: echo " --disable-aio disable AIO support"
! 567: echo " --disable-blobs disable installing provided firmware blobs"
! 568: echo " --kerneldir=PATH look for kernel includes in PATH"
1.1.1.3 root 569: echo ""
1.1.1.5 root 570: echo "NOTE: The object files are built at the place where configure is launched"
1.1.1.3 root 571: exit 1
572: fi
573:
1.1 root 574: if test "$mingw32" = "yes" ; then
575: linux="no"
576: EXESUF=".exe"
577: oss="no"
1.1.1.7 ! root 578: linux_user="no"
! 579: bsd_user="no"
1.1 root 580: fi
581:
1.1.1.7 ! root 582: if test ! -x "$(which cgcc 2>/dev/null)"; then
! 583: sparse="no"
1.1.1.5 root 584: fi
585:
1.1.1.3 root 586: #
587: # Solaris specific configure tool chain decisions
588: #
589: if test "$solaris" = "yes" ; then
590: solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
591: if test -z "$solinst" ; then
592: echo "Solaris install program not found. Use --install=/usr/ucb/install or"
593: echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
594: echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
595: exit 1
596: fi
597: if test "$solinst" = "/usr/sbin/install" ; then
598: echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
599: echo "try ginstall from the GNU fileutils available from www.blastwave.org"
600: echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
601: exit 1
602: fi
603: sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
604: if test -z "$sol_ar" ; then
605: echo "Error: No path includes ar"
606: if test -f /usr/ccs/bin/ar ; then
607: echo "Add /usr/ccs/bin to your path and rerun configure"
608: fi
609: exit 1
610: fi
1.1.1.6 root 611: fi
1.1.1.3 root 612:
613:
1.1 root 614: if test -z "$target_list" ; then
615: # these targets are portable
1.1.1.3 root 616: if [ "$softmmu" = "yes" ] ; then
1.1.1.7 ! root 617: target_list="\
! 618: i386-softmmu \
! 619: x86_64-softmmu \
! 620: arm-softmmu \
! 621: cris-softmmu \
! 622: m68k-softmmu \
! 623: mips-softmmu \
! 624: mipsel-softmmu \
! 625: mips64-softmmu \
! 626: mips64el-softmmu \
! 627: ppc-softmmu \
! 628: ppcemb-softmmu \
! 629: ppc64-softmmu \
! 630: sh4-softmmu \
! 631: sh4eb-softmmu \
! 632: sparc-softmmu \
! 633: "
1.1.1.3 root 634: fi
1.1 root 635: # the following are Linux specific
1.1.1.5 root 636: if [ "$linux_user" = "yes" ] ; then
1.1.1.7 ! root 637: target_list="${target_list}\
! 638: i386-linux-user \
! 639: x86_64-linux-user \
! 640: alpha-linux-user \
! 641: arm-linux-user \
! 642: armeb-linux-user \
! 643: cris-linux-user \
! 644: m68k-linux-user \
! 645: mips-linux-user \
! 646: mipsel-linux-user \
! 647: ppc-linux-user \
! 648: ppc64-linux-user \
! 649: ppc64abi32-linux-user \
! 650: sh4-linux-user \
! 651: sh4eb-linux-user \
! 652: sparc-linux-user \
! 653: sparc64-linux-user \
! 654: sparc32plus-linux-user \
! 655: "
1.1.1.5 root 656: fi
657: # the following are Darwin specific
658: if [ "$darwin_user" = "yes" ] ; then
1.1.1.7 ! root 659: target_list="$target_list i386-darwin-user ppc-darwin-user "
! 660: fi
! 661: # the following are BSD specific
! 662: if [ "$bsd_user" = "yes" ] ; then
! 663: target_list="${target_list}\
! 664: sparc64-bsd-user \
! 665: "
1.1 root 666: fi
667: else
1.1.1.3 root 668: target_list=`echo "$target_list" | sed -e 's/,/ /g'`
669: fi
670: if test -z "$target_list" ; then
671: echo "No targets enabled"
672: exit 1
1.1 root 673: fi
674:
675: if test -z "$cross_prefix" ; then
676:
677: # ---
678: # big/little endian test
679: cat > $TMPC << EOF
680: #include <inttypes.h>
681: int main(int argc, char ** argv){
1.1.1.2 root 682: volatile uint32_t i=0x01234567;
683: return (*((uint8_t*)(&i))) == 0x67;
1.1 root 684: }
685: EOF
686:
1.1.1.7 ! root 687: if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
1.1 root 688: $TMPE && bigendian="yes"
689: else
690: echo big/little test failed
691: fi
692:
693: else
694:
695: # if cross compiling, cannot launch a program, so make a static guess
1.1.1.7 ! root 696: if test "$cpu" = "armv4b" \
! 697: -o "$cpu" = "hppa" \
! 698: -o "$cpu" = "m68k" \
! 699: -o "$cpu" = "mips" \
! 700: -o "$cpu" = "mips64" \
! 701: -o "$cpu" = "ppc" \
! 702: -o "$cpu" = "ppc64" \
! 703: -o "$cpu" = "s390" \
! 704: -o "$cpu" = "sparc" \
! 705: -o "$cpu" = "sparc64"; then
1.1 root 706: bigendian="yes"
707: fi
708:
709: fi
710:
711: # host long bits test
712: hostlongbits="32"
1.1.1.7 ! root 713: if test "$cpu" = "x86_64" \
! 714: -o "$cpu" = "alpha" \
! 715: -o "$cpu" = "ia64" \
! 716: -o "$cpu" = "sparc64" \
! 717: -o "$cpu" = "ppc64"; then
1.1 root 718: hostlongbits="64"
719: fi
720:
721: # check gcc options support
722: cat > $TMPC <<EOF
723: int main(void) {
724: }
725: EOF
726:
1.1.1.7 ! root 727: # Check host NPTL support
! 728: cat > $TMPC <<EOF
! 729: #include <sched.h>
! 730: #include <linux/futex.h>
! 731: void foo()
! 732: {
! 733: #if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
! 734: #error bork
! 735: #endif
! 736: }
! 737: EOF
! 738:
! 739: if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null ; then
! 740: :
! 741: else
! 742: nptl="no"
! 743: fi
! 744:
! 745: ##########################################
! 746: # zlib check
! 747:
! 748: cat > $TMPC << EOF
! 749: #include <zlib.h>
! 750: int main(void) { zlibVersion(); return 0; }
! 751: EOF
! 752: if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz > /dev/null 2> /dev/null ; then
! 753: :
! 754: else
! 755: echo
! 756: echo "Error: zlib check failed"
! 757: echo "Make sure to have the zlib libs and headers installed."
! 758: echo
! 759: exit 1
! 760: fi
! 761:
1.1 root 762: ##########################################
763: # SDL probe
764:
765: sdl_too_old=no
766:
767: if test -z "$sdl" ; then
1.1.1.6 root 768: sdl_config="sdl-config"
769: sdl=no
770: sdl_static=no
771:
1.1 root 772: cat > $TMPC << EOF
773: #include <SDL.h>
774: #undef main /* We don't want SDL to override our main() */
775: int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
776: EOF
1.1.1.7 ! root 777: if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` > $TMPSDLLOG 2>&1 ; then
! 778: _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
! 779: if test "$_sdlversion" -lt 121 ; then
! 780: sdl_too_old=yes
! 781: else
! 782: if test "$cocoa" = "no" ; then
! 783: sdl=yes
! 784: fi
! 785: fi
! 786:
! 787: # static link with sdl ?
! 788: if test "$sdl" = "yes" ; then
! 789: aa="no"
! 790: `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
! 791: sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
! 792: if [ "$aa" = "yes" ] ; then
! 793: sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
1.1.1.6 root 794: fi
795:
1.1.1.7 ! root 796: if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs > /dev/null 2> /dev/null; then
! 797: sdl_static=yes
! 798: fi
! 799: fi # static link
! 800: fi # sdl compile test
1.1 root 801: else
1.1.1.6 root 802: # Make sure to disable cocoa if sdl was set
803: if test "$sdl" = "yes" ; then
804: cocoa="no"
1.1.1.7 ! root 805: audio_drv_list="`echo $audio_drv_list | sed s,coreaudio,,g`"
1.1.1.6 root 806: fi
807: fi # -z $sdl
1.1 root 808:
1.1.1.7 ! root 809: if test "$sdl" = "yes" ; then
! 810: cat > $TMPC <<EOF
! 811: #include <SDL.h>
! 812: #if defined(SDL_VIDEO_DRIVER_X11)
! 813: #include <X11/XKBlib.h>
! 814: #else
! 815: #error No x11 support
! 816: #endif
! 817: int main(void) { return 0; }
! 818: EOF
! 819: if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` > /dev/null 2>&1 ; then
! 820: sdl_x11="yes"
! 821: fi
! 822: fi
! 823:
1.1.1.6 root 824: ##########################################
825: # VNC TLS detection
826: if test "$vnc_tls" = "yes" ; then
1.1.1.7 ! root 827: cat > $TMPC <<EOF
! 828: #include <gnutls/gnutls.h>
! 829: int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
! 830: EOF
! 831: vnc_tls_cflags=`pkg-config --cflags gnutls 2> /dev/null`
! 832: vnc_tls_libs=`pkg-config --libs gnutls 2> /dev/null`
! 833: if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \
! 834: $vnc_tls_libs > /dev/null 2> /dev/null ; then
! 835: :
! 836: else
! 837: vnc_tls="no"
! 838: fi
1.1.1.6 root 839: fi
1.1.1.7 ! root 840:
! 841: ##########################################
! 842: # vde libraries probe
! 843: if test "$vde" = "yes" ; then
! 844: cat > $TMPC << EOF
! 845: #include <libvdeplug.h>
! 846: int main(void)
! 847: {
! 848: struct vde_open_args a = {0, 0, 0};
! 849: vde_open("", "", &a);
! 850: return 0;
! 851: }
! 852: EOF
! 853: if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug > /dev/null 2> /dev/null ; then
! 854: :
! 855: else
! 856: vde="no"
! 857: fi
1.1 root 858: fi
859:
1.1.1.5 root 860: ##########################################
1.1.1.7 ! root 861: # Sound support libraries probe
1.1.1.5 root 862:
1.1.1.7 ! root 863: audio_drv_probe()
! 864: {
! 865: drv=$1
! 866: hdr=$2
! 867: lib=$3
! 868: exp=$4
! 869: cfl=$5
! 870: cat > $TMPC << EOF
! 871: #include <$hdr>
! 872: int main(void) { $exp }
! 873: EOF
! 874: if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib > /dev/null 2> /dev/null ; then
! 875: :
! 876: else
! 877: echo
! 878: echo "Error: $drv check failed"
! 879: echo "Make sure to have the $drv libs and headers installed."
! 880: echo
! 881: exit 1
! 882: fi
! 883: }
! 884:
! 885: audio_drv_list=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
! 886: for drv in $audio_drv_list; do
! 887: case $drv in
! 888: alsa)
! 889: audio_drv_probe $drv alsa/asoundlib.h -lasound \
! 890: "snd_pcm_t **handle; return snd_pcm_close(*handle);"
! 891: ;;
! 892:
! 893: fmod)
! 894: if test -z $fmod_lib || test -z $fmod_inc; then
! 895: echo
! 896: echo "Error: You must specify path to FMOD library and headers"
! 897: echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
! 898: echo
! 899: exit 1
! 900: fi
! 901: audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
! 902: ;;
! 903:
! 904: esd)
! 905: audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);'
! 906: ;;
! 907:
! 908: pa)
! 909: audio_drv_probe $drv pulse/simple.h -lpulse-simple \
! 910: "pa_simple *s = NULL; pa_simple_free(s); return 0;"
! 911: ;;
! 912:
! 913: oss|sdl|core|wav|dsound)
! 914: # XXX: Probes for CoreAudio, DirectSound, SDL(?)
! 915: ;;
! 916:
! 917: *)
! 918: echo "$audio_possible_drivers" | grep -q "\<$drv\>" || {
! 919: echo
! 920: echo "Error: Unknown driver '$drv' selected"
! 921: echo "Possible drivers are: $audio_possible_drivers"
! 922: echo
! 923: exit 1
! 924: }
! 925: ;;
! 926: esac
! 927: done
! 928:
! 929: ##########################################
! 930: # BrlAPI probe
! 931:
! 932: if test -z "$brlapi" ; then
! 933: brlapi=no
! 934: cat > $TMPC << EOF
! 935: #include <brlapi.h>
! 936: int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
! 937: EOF
! 938: if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi > /dev/null 2> /dev/null ; then
! 939: brlapi=yes
! 940: fi # brlapi compile test
! 941: fi # -z $brlapi
! 942:
! 943: ##########################################
! 944: # curses probe
! 945:
! 946: if test "$curses" = "yes" ; then
! 947: curses=no
1.1.1.5 root 948: cat > $TMPC << EOF
1.1.1.7 ! root 949: #include <curses.h>
! 950: int main(void) { return curses_version(); }
1.1.1.5 root 951: EOF
1.1.1.7 ! root 952: if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses > /dev/null 2> /dev/null ; then
! 953: curses=yes
! 954: fi
! 955: fi # test "$curses"
! 956:
! 957: ##########################################
! 958: # bluez support probe
! 959: if test "$bluez" = "yes" ; then
! 960: `pkg-config bluez` || bluez="no"
! 961: fi
! 962: if test "$bluez" = "yes" ; then
! 963: cat > $TMPC << EOF
! 964: #include <bluetooth/bluetooth.h>
! 965: int main(void) { return bt_error(0); }
! 966: EOF
! 967: bluez_cflags=`pkg-config --cflags bluez`
! 968: bluez_libs=`pkg-config --libs bluez`
! 969: if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \
! 970: $bluez_libs > /dev/null 2> /dev/null ; then
1.1.1.5 root 971: :
972: else
1.1.1.7 ! root 973: bluez="no"
! 974: fi
! 975: fi
! 976:
! 977: ##########################################
! 978: # kvm probe
! 979: if test "$kvm" = "yes" ; then
! 980: cat > $TMPC <<EOF
! 981: #include <linux/kvm.h>
! 982: #if !defined(KVM_API_VERSION) || KVM_API_VERSION < 12 || KVM_API_VERSION > 12
! 983: #error Invalid KVM version
! 984: #endif
! 985: #if !defined(KVM_CAP_USER_MEMORY)
! 986: #error Missing KVM capability KVM_CAP_USER_MEMORY
! 987: #endif
! 988: #if !defined(KVM_CAP_SET_TSS_ADDR)
! 989: #error Missing KVM capability KVM_CAP_SET_TSS_ADDR
! 990: #endif
! 991: #if !defined(KVM_CAP_DESTROY_MEMORY_REGION_WORKS)
! 992: #error Missing KVM capability KVM_CAP_DESTROY_MEMORY_REGION_WORKS
! 993: #endif
! 994: int main(void) { return 0; }
! 995: EOF
! 996: if test "$kerneldir" != "" ; then
! 997: kvm_cflags=-I"$kerneldir"/include
! 998: if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) \
! 999: -a -d "$kerneldir/arch/x86/include" ; then
! 1000: kvm_cflags="$kvm_cflags -I$kerneldir/arch/x86/include"
! 1001: elif test "$cpu" = "ppc" -a -d "$kerneldir/arch/powerpc/include" ; then
! 1002: kvm_cflags="$kvm_cflags -I$kerneldir/arch/powerpc/include"
! 1003: elif test -d "$kerneldir/arch/$cpu/include" ; then
! 1004: kvm_cflags="$kvm_cflags -I$kerneldir/arch/$cpu/include"
! 1005: fi
! 1006: else
! 1007: kvm_cflags=""
! 1008: fi
! 1009: if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC \
! 1010: > /dev/null 2>/dev/null ; then
! 1011: :
! 1012: else
! 1013: kvm="no";
! 1014: if [ -x "`which awk 2>/dev/null`" ] && \
! 1015: [ -x "`which grep 2>/dev/null`" ]; then
! 1016: kvmerr=`$cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC 2>&1 \
! 1017: | grep "error: " \
! 1018: | awk -F "error: " '{if (NR>1) printf(", "); printf("%s",$2);}'`
! 1019: if test "$kvmerr" != "" ; then
! 1020: kvm="no - (${kvmerr})"
! 1021: fi
! 1022: fi
! 1023: fi
! 1024: fi
! 1025:
! 1026: ##########################################
! 1027: # AIO probe
! 1028: AIOLIBS=""
! 1029:
! 1030: if test "$aio" = "yes" ; then
! 1031: aio=no
! 1032: cat > $TMPC << EOF
! 1033: #include <pthread.h>
! 1034: int main(void) { pthread_mutex_t lock; return 0; }
! 1035: EOF
! 1036: if $cc $ARCH_CFLAGS -o $TMPE $AIOLIBS $TMPC 2> /dev/null ; then
! 1037: aio=yes
! 1038: AIOLIBS="-lpthread"
! 1039: fi
! 1040: fi
! 1041:
! 1042: ##########################################
! 1043: # iovec probe
! 1044: cat > $TMPC <<EOF
! 1045: #include <sys/types.h>
! 1046: #include <sys/uio.h>
! 1047: #include <unistd.h>
! 1048: int main(void) { struct iovec iov; return 0; }
! 1049: EOF
! 1050: iovec=no
! 1051: if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
! 1052: iovec=yes
! 1053: fi
! 1054:
! 1055: ##########################################
! 1056: # fdt probe
! 1057: if test "$fdt" = "yes" ; then
! 1058: fdt=no
! 1059: cat > $TMPC << EOF
! 1060: int main(void) { return 0; }
! 1061: EOF
! 1062: if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lfdt 2> /dev/null ; then
! 1063: fdt=yes
1.1.1.5 root 1064: fi
1065: fi
1066:
1.1.1.3 root 1067: # Check if tools are available to build documentation.
1.1.1.6 root 1068: if [ -x "`which texi2html 2>/dev/null`" ] && \
1069: [ -x "`which pod2man 2>/dev/null`" ]; then
1.1.1.3 root 1070: build_docs="yes"
1.1 root 1071: fi
1072:
1.1.1.7 ! root 1073: ##########################################
! 1074: # Do we need librt
! 1075: cat > $TMPC <<EOF
! 1076: #include <signal.h>
! 1077: #include <time.h>
! 1078: int main(void) { clockid_t id; return clock_gettime(id, NULL); }
! 1079: EOF
! 1080:
! 1081: rt=no
! 1082: if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
! 1083: :
! 1084: elif $cc $ARCH_CFLAGS -o $TMPE $TMPC -lrt > /dev/null 2> /dev/null ; then
! 1085: rt=yes
! 1086: fi
! 1087:
! 1088: if test "$rt" = "yes" ; then
! 1089: # Hack, we should have a general purpose LIBS for this sort of thing
! 1090: AIOLIBS="$AIOLIBS -lrt"
! 1091: fi
! 1092:
1.1 root 1093: if test "$mingw32" = "yes" ; then
1.1.1.6 root 1094: if test -z "$prefix" ; then
1.1.1.7 ! root 1095: prefix="c:\\\\Program Files\\\\Qemu"
1.1.1.6 root 1096: fi
1097: mansuffix=""
1098: datasuffix=""
1099: docsuffix=""
1100: binsuffix=""
1101: else
1102: if test -z "$prefix" ; then
1103: prefix="/usr/local"
1104: fi
1105: mansuffix="/share/man"
1106: datasuffix="/share/qemu"
1107: docsuffix="/share/doc/qemu"
1108: binsuffix="/bin"
1.1 root 1109: fi
1110:
1111: echo "Install prefix $prefix"
1.1.1.6 root 1112: echo "BIOS directory $prefix$datasuffix"
1113: echo "binary directory $prefix$binsuffix"
1.1 root 1114: if test "$mingw32" = "no" ; then
1.1.1.6 root 1115: echo "Manual directory $prefix$mansuffix"
1.1 root 1116: echo "ELF interp prefix $interp_prefix"
1117: fi
1118: echo "Source path $source_path"
1119: echo "C compiler $cc"
1120: echo "Host C compiler $host_cc"
1.1.1.7 ! root 1121: echo "ARCH_CFLAGS $ARCH_CFLAGS"
1.1 root 1122: echo "make $make"
1.1.1.3 root 1123: echo "install $install"
1.1 root 1124: echo "host CPU $cpu"
1125: echo "host big endian $bigendian"
1126: echo "target list $target_list"
1127: echo "gprof enabled $gprof"
1.1.1.7 ! root 1128: echo "sparse enabled $sparse"
1.1.1.3 root 1129: echo "profiler $profiler"
1.1 root 1130: echo "static build $static"
1.1.1.6 root 1131: echo "-Werror enabled $werror"
1.1 root 1132: if test "$darwin" = "yes" ; then
1133: echo "Cocoa support $cocoa"
1134: fi
1135: echo "SDL support $sdl"
1136: if test "$sdl" != "no" ; then
1137: echo "SDL static link $sdl_static"
1138: fi
1.1.1.7 ! root 1139: echo "curses support $curses"
1.1 root 1140: echo "mingw32 support $mingw32"
1.1.1.7 ! root 1141: echo "Audio drivers $audio_drv_list"
! 1142: echo "Extra audio cards $audio_card_list"
! 1143: echo "Mixer emulation $mixemu"
1.1.1.6 root 1144: echo "VNC TLS support $vnc_tls"
1145: if test "$vnc_tls" = "yes" ; then
1146: echo " TLS CFLAGS $vnc_tls_cflags"
1147: echo " TLS LIBS $vnc_tls_libs"
1148: fi
1149: if test -n "$sparc_cpu"; then
1150: echo "Target Sparc Arch $sparc_cpu"
1151: fi
1.1.1.3 root 1152: echo "kqemu support $kqemu"
1.1.1.7 ! root 1153: echo "brlapi support $brlapi"
1.1.1.3 root 1154: echo "Documentation $build_docs"
1.1.1.4 root 1155: [ ! -z "$uname_release" ] && \
1156: echo "uname -r $uname_release"
1.1.1.7 ! root 1157: echo "NPTL support $nptl"
! 1158: echo "vde support $vde"
! 1159: echo "AIO support $aio"
! 1160: echo "Install blobs $blobs"
! 1161: echo "KVM support $kvm"
! 1162: echo "fdt support $fdt"
1.1 root 1163:
1164: if test $sdl_too_old = "yes"; then
1165: echo "-> Your SDL version is too old - please upgrade to have SDL support"
1166: fi
1.1.1.7 ! root 1167: if [ -s $TMPSDLLOG ]; then
1.1.1.6 root 1168: echo "The error log from compiling the libSDL test is: "
1.1.1.7 ! root 1169: cat $TMPSDLLOG
1.1.1.6 root 1170: fi
1.1 root 1171: #if test "$sdl_static" = "no"; then
1172: # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
1173: #fi
1174: config_mak="config-host.mak"
1175: config_h="config-host.h"
1176:
1177: #echo "Creating $config_mak and $config_h"
1178:
1.1.1.6 root 1179: test -f $config_h && mv $config_h ${config_h}~
1180:
1.1 root 1181: echo "# Automatically generated by configure - do not modify" > $config_mak
1.1.1.7 ! root 1182: printf "# Configured with:" >> $config_mak
! 1183: printf " '%s'" "$0" "$@" >> $config_mak
! 1184: echo >> $config_mak
1.1 root 1185: echo "/* Automatically generated by configure - do not modify */" > $config_h
1186:
1187: echo "prefix=$prefix" >> $config_mak
1.1.1.6 root 1188: echo "bindir=\${prefix}$binsuffix" >> $config_mak
1189: echo "mandir=\${prefix}$mansuffix" >> $config_mak
1190: echo "datadir=\${prefix}$datasuffix" >> $config_mak
1191: echo "docdir=\${prefix}$docsuffix" >> $config_mak
1192: echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
1.1 root 1193: echo "MAKE=$make" >> $config_mak
1.1.1.3 root 1194: echo "INSTALL=$install" >> $config_mak
1.1 root 1195: echo "CC=$cc" >> $config_mak
1196: echo "HOST_CC=$host_cc" >> $config_mak
1197: echo "AR=$ar" >> $config_mak
1198: echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
1.1.1.7 ! root 1199: # XXX: only use CFLAGS and LDFLAGS ?
! 1200: # XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
! 1201: # compilation of dyngen tool (useful for win32 build on Linux host)
1.1.1.5 root 1202: echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
1.1.1.6 root 1203: echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
1204: echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
1205: echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
1.1 root 1206: echo "CFLAGS=$CFLAGS" >> $config_mak
1207: echo "LDFLAGS=$LDFLAGS" >> $config_mak
1208: echo "EXESUF=$EXESUF" >> $config_mak
1.1.1.6 root 1209: echo "AIOLIBS=$AIOLIBS" >> $config_mak
1.1.1.7 ! root 1210: case "$cpu" in
! 1211: i386)
! 1212: echo "ARCH=i386" >> $config_mak
! 1213: echo "#define HOST_I386 1" >> $config_h
! 1214: ;;
! 1215: x86_64)
! 1216: echo "ARCH=x86_64" >> $config_mak
! 1217: echo "#define HOST_X86_64 1" >> $config_h
! 1218: ;;
! 1219: alpha)
! 1220: echo "ARCH=alpha" >> $config_mak
! 1221: echo "#define HOST_ALPHA 1" >> $config_h
! 1222: ;;
! 1223: armv4b)
! 1224: echo "ARCH=arm" >> $config_mak
! 1225: echo "#define HOST_ARM 1" >> $config_h
! 1226: ;;
! 1227: armv4l)
! 1228: echo "ARCH=arm" >> $config_mak
! 1229: echo "#define HOST_ARM 1" >> $config_h
! 1230: ;;
! 1231: cris)
! 1232: echo "ARCH=cris" >> $config_mak
! 1233: echo "#define HOST_CRIS 1" >> $config_h
! 1234: ;;
! 1235: hppa)
! 1236: echo "ARCH=hppa" >> $config_mak
! 1237: echo "#define HOST_HPPA 1" >> $config_h
! 1238: ;;
! 1239: ia64)
! 1240: echo "ARCH=ia64" >> $config_mak
! 1241: echo "#define HOST_IA64 1" >> $config_h
! 1242: ;;
! 1243: m68k)
! 1244: echo "ARCH=m68k" >> $config_mak
! 1245: echo "#define HOST_M68K 1" >> $config_h
! 1246: ;;
! 1247: mips)
! 1248: echo "ARCH=mips" >> $config_mak
! 1249: echo "#define HOST_MIPS 1" >> $config_h
! 1250: ;;
! 1251: mips64)
! 1252: echo "ARCH=mips64" >> $config_mak
! 1253: echo "#define HOST_MIPS64 1" >> $config_h
! 1254: ;;
! 1255: ppc)
! 1256: echo "ARCH=ppc" >> $config_mak
! 1257: echo "#define HOST_PPC 1" >> $config_h
! 1258: ;;
! 1259: ppc64)
! 1260: echo "ARCH=ppc64" >> $config_mak
! 1261: echo "#define HOST_PPC64 1" >> $config_h
! 1262: ;;
! 1263: s390)
! 1264: echo "ARCH=s390" >> $config_mak
! 1265: echo "#define HOST_S390 1" >> $config_h
! 1266: ;;
! 1267: sparc)
! 1268: echo "ARCH=sparc" >> $config_mak
! 1269: echo "#define HOST_SPARC 1" >> $config_h
! 1270: ;;
! 1271: sparc64)
! 1272: echo "ARCH=sparc64" >> $config_mak
! 1273: echo "#define HOST_SPARC64 1" >> $config_h
! 1274: ;;
! 1275: *)
! 1276: echo "Unsupported CPU = $cpu"
! 1277: exit 1
! 1278: ;;
! 1279: esac
! 1280: if test "$sparse" = "yes" ; then
! 1281: echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak
! 1282: echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak
! 1283: echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak
1.1 root 1284: fi
1285: if test "$bigendian" = "yes" ; then
1286: echo "WORDS_BIGENDIAN=yes" >> $config_mak
1287: echo "#define WORDS_BIGENDIAN 1" >> $config_h
1288: fi
1289: echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
1290: if test "$mingw32" = "yes" ; then
1291: echo "CONFIG_WIN32=yes" >> $config_mak
1292: echo "#define CONFIG_WIN32 1" >> $config_h
1.1.1.6 root 1293: else
1294: cat > $TMPC << EOF
1295: #include <byteswap.h>
1296: int main(void) { return bswap_32(0); }
1297: EOF
1.1.1.7 ! root 1298: if $cc $ARCH_CFLAGS -o $TMPE $TMPC >/dev/null 2> /dev/null ; then
1.1.1.6 root 1299: echo "#define HAVE_BYTESWAP_H 1" >> $config_h
1300: fi
1.1.1.7 ! root 1301: cat > $TMPC << EOF
! 1302: #include <sys/endian.h>
! 1303: #include <sys/types.h>
! 1304: #include <machine/bswap.h>
! 1305: int main(void) { return bswap32(0); }
! 1306: EOF
! 1307: if $cc $ARCH_CFLAGS -o $TMPE $TMPC >/dev/null 2> /dev/null ; then
! 1308: echo "#define HAVE_MACHINE_BSWAP_H 1" >> $config_h
! 1309: fi
! 1310: fi
! 1311:
! 1312: if [ "$openbsd" = "yes" ] ; then
! 1313: echo "#define ENOTSUP 4096" >> $config_h
1.1 root 1314: fi
1.1.1.7 ! root 1315:
1.1 root 1316: if test "$darwin" = "yes" ; then
1317: echo "CONFIG_DARWIN=yes" >> $config_mak
1318: echo "#define CONFIG_DARWIN 1" >> $config_h
1319: fi
1.1.1.7 ! root 1320:
! 1321: if test "$aix" = "yes" ; then
! 1322: echo "CONFIG_AIX=yes" >> $config_mak
! 1323: echo "#define CONFIG_AIX 1" >> $config_h
! 1324: fi
! 1325:
1.1.1.3 root 1326: if test "$solaris" = "yes" ; then
1327: echo "CONFIG_SOLARIS=yes" >> $config_mak
1328: echo "#define HOST_SOLARIS $solarisrev" >> $config_h
1.1.1.6 root 1329: if test "$needs_libsunmath" = "yes" ; then
1330: echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
1331: echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
1332: fi
1333: fi
1334: if test -n "$sparc_cpu"; then
1335: echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
1336: echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1.1.1.3 root 1337: fi
1.1 root 1338: if test "$gdbstub" = "yes" ; then
1339: echo "CONFIG_GDBSTUB=yes" >> $config_mak
1340: echo "#define CONFIG_GDBSTUB 1" >> $config_h
1341: fi
1342: if test "$gprof" = "yes" ; then
1343: echo "TARGET_GPROF=yes" >> $config_mak
1344: echo "#define HAVE_GPROF 1" >> $config_h
1345: fi
1346: if test "$static" = "yes" ; then
1347: echo "CONFIG_STATIC=yes" >> $config_mak
1348: echo "#define CONFIG_STATIC 1" >> $config_h
1349: fi
1.1.1.3 root 1350: if test $profiler = "yes" ; then
1351: echo "#define CONFIG_PROFILER 1" >> $config_h
1352: fi
1.1 root 1353: if test "$slirp" = "yes" ; then
1354: echo "CONFIG_SLIRP=yes" >> $config_mak
1355: echo "#define CONFIG_SLIRP 1" >> $config_h
1356: fi
1.1.1.7 ! root 1357: if test "$vde" = "yes" ; then
! 1358: echo "CONFIG_VDE=yes" >> $config_mak
! 1359: echo "#define CONFIG_VDE 1" >> $config_h
! 1360: echo "VDE_LIBS=-lvdeplug" >> $config_mak
! 1361: fi
! 1362: for card in $audio_card_list; do
! 1363: def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
! 1364: echo "$def=yes" >> $config_mak
! 1365: echo "#define $def 1" >> $config_h
! 1366: done
! 1367: echo "#define AUDIO_DRIVERS \\" >> $config_h
! 1368: for drv in $audio_drv_list; do
! 1369: echo " &${drv}_audio_driver, \\" >>$config_h
! 1370: def=CONFIG_`echo $drv | tr '[:lower:]' '[:upper:]'`
! 1371: echo "$def=yes" >> $config_mak
! 1372: if test "$drv" = "fmod"; then
! 1373: echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
! 1374: echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
! 1375: elif test "$drv" = "oss"; then
! 1376: echo "CONFIG_OSS_LIB=$oss_lib" >> $config_mak
! 1377: fi
! 1378: done
! 1379: echo "" >>$config_h
! 1380: if test "$mixemu" = "yes" ; then
! 1381: echo "CONFIG_MIXEMU=yes" >> $config_mak
! 1382: echo "#define CONFIG_MIXEMU 1" >> $config_h
1.1 root 1383: fi
1.1.1.6 root 1384: if test "$vnc_tls" = "yes" ; then
1385: echo "CONFIG_VNC_TLS=yes" >> $config_mak
1386: echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
1387: echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
1388: echo "#define CONFIG_VNC_TLS 1" >> $config_h
1389: fi
1.1.1.3 root 1390: qemu_version=`head $source_path/VERSION`
1391: echo "VERSION=$qemu_version" >>$config_mak
1392: echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
1393:
1.1 root 1394: echo "SRC_PATH=$source_path" >> $config_mak
1.1.1.3 root 1395: if [ "$source_path_used" = "yes" ]; then
1396: echo "VPATH=$source_path" >> $config_mak
1397: fi
1.1 root 1398: echo "TARGET_DIRS=$target_list" >> $config_mak
1.1.1.3 root 1399: if [ "$build_docs" = "yes" ] ; then
1400: echo "BUILD_DOCS=yes" >> $config_mak
1401: fi
1.1.1.6 root 1402: if test "$static" = "yes"; then
1403: sdl1=$sdl_static
1404: else
1405: sdl1=$sdl
1406: fi
1407: if test "$sdl1" = "yes" ; then
1408: echo "#define CONFIG_SDL 1" >> $config_h
1409: echo "CONFIG_SDL=yes" >> $config_mak
1410: if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1411: echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1.1.1.7 ! root 1412: elif test "$sdl_x11" = "yes" ; then
! 1413: echo "SDL_LIBS=`$sdl_config --libs` -lX11" >> $config_mak
1.1.1.6 root 1414: else
1415: echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1416: fi
1417: if [ "${aa}" = "yes" ] ; then
1418: echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1419: else
1420: echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1421: fi
1422: fi
1423: if test "$cocoa" = "yes" ; then
1.1.1.7 ! root 1424: echo "#define CONFIG_COCOA 1" >> $config_h
! 1425: echo "CONFIG_COCOA=yes" >> $config_mak
! 1426: fi
! 1427: if test "$curses" = "yes" ; then
! 1428: echo "#define CONFIG_CURSES 1" >> $config_h
! 1429: echo "CONFIG_CURSES=yes" >> $config_mak
! 1430: echo "CURSES_LIBS=-lcurses" >> $config_mak
! 1431: fi
! 1432: if test "$brlapi" = "yes" ; then
! 1433: echo "CONFIG_BRLAPI=yes" >> $config_mak
! 1434: echo "#define CONFIG_BRLAPI 1" >> $config_h
! 1435: echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak
! 1436: fi
! 1437: if test "$bluez" = "yes" ; then
! 1438: echo "CONFIG_BLUEZ=yes" >> $config_mak
! 1439: echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_mak
! 1440: echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_mak
! 1441: echo "#define CONFIG_BLUEZ 1" >> $config_h
! 1442: fi
! 1443: if test "$aio" = "yes" ; then
! 1444: echo "#define CONFIG_AIO 1" >> $config_h
! 1445: echo "CONFIG_AIO=yes" >> $config_mak
! 1446: fi
! 1447: if test "$blobs" = "yes" ; then
! 1448: echo "INSTALL_BLOBS=yes" >> $config_mak
! 1449: fi
! 1450: if test "$iovec" = "yes" ; then
! 1451: echo "#define HAVE_IOVEC 1" >> $config_h
! 1452: fi
! 1453: if test "$fdt" = "yes" ; then
! 1454: echo "#define HAVE_FDT 1" >> $config_h
! 1455: echo "FDT_LIBS=-lfdt" >> $config_mak
1.1.1.6 root 1456: fi
1.1 root 1457:
1458: # XXX: suppress that
1459: if [ "$bsd" = "yes" ] ; then
1460: echo "#define O_LARGEFILE 0" >> $config_h
1461: echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
1462: echo "#define _BSD 1" >> $config_h
1463: fi
1464:
1.1.1.4 root 1465: echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
1466:
1.1.1.7 ! root 1467: # USB host support
! 1468: case "$usb" in
! 1469: linux)
! 1470: echo "HOST_USB=linux" >> $config_mak
! 1471: ;;
! 1472: bsd)
! 1473: echo "HOST_USB=bsd" >> $config_mak
! 1474: ;;
! 1475: *)
! 1476: echo "HOST_USB=stub" >> $config_mak
! 1477: ;;
! 1478: esac
! 1479:
1.1.1.6 root 1480: tools=
1481: if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
1482: tools="qemu-img\$(EXESUF) $tools"
1.1.1.7 ! root 1483: if [ "$linux" = "yes" ] ; then
! 1484: tools="qemu-nbd\$(EXESUF) $tools"
! 1485: fi
1.1.1.6 root 1486: fi
1487: echo "TOOLS=$tools" >> $config_mak
1488:
1489: test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1490:
1.1.1.2 root 1491: for target in $target_list; do
1.1 root 1492: target_dir="$target"
1493: config_mak=$target_dir/config.mak
1494: config_h=$target_dir/config.h
1495: target_cpu=`echo $target | cut -d '-' -f 1`
1496: target_bigendian="no"
1497: [ "$target_cpu" = "armeb" ] && target_bigendian=yes
1.1.1.7 ! root 1498: [ "$target_cpu" = "m68k" ] && target_bigendian=yes
! 1499: [ "$target_cpu" = "mips" ] && target_bigendian=yes
! 1500: [ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
! 1501: [ "$target_cpu" = "mips64" ] && target_bigendian=yes
1.1 root 1502: [ "$target_cpu" = "ppc" ] && target_bigendian=yes
1.1.1.6 root 1503: [ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
1.1 root 1504: [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
1.1.1.6 root 1505: [ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
1.1.1.4 root 1506: [ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
1.1.1.7 ! root 1507: [ "$target_cpu" = "sparc" ] && target_bigendian=yes
! 1508: [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
! 1509: [ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
1.1 root 1510: target_softmmu="no"
1511: target_user_only="no"
1.1.1.5 root 1512: target_linux_user="no"
1513: target_darwin_user="no"
1.1.1.7 ! root 1514: target_bsd_user="no"
1.1.1.6 root 1515: case "$target" in
1516: ${target_cpu}-softmmu)
1517: target_softmmu="yes"
1518: ;;
1519: ${target_cpu}-linux-user)
1520: target_user_only="yes"
1521: target_linux_user="yes"
1522: ;;
1523: ${target_cpu}-darwin-user)
1524: target_user_only="yes"
1525: target_darwin_user="yes"
1526: ;;
1.1.1.7 ! root 1527: ${target_cpu}-bsd-user)
! 1528: target_user_only="yes"
! 1529: target_bsd_user="yes"
! 1530: ;;
1.1.1.6 root 1531: *)
1532: echo "ERROR: Target '$target' not recognised"
1533: exit 1
1534: ;;
1535: esac
1.1.1.5 root 1536:
1.1 root 1537: if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1.1.1.2 root 1538: -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1.1 root 1539: echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1.1.1.3 root 1540: echo "To build QEMU without graphical output configure with --disable-gfx-check"
1.1.1.7 ! root 1541: echo "Note that this will disable all output from the virtual graphics card"
! 1542: echo "except through VNC or curses."
1.1 root 1543: exit 1;
1544: fi
1545:
1546: #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1547:
1.1.1.6 root 1548: test -f $config_h && mv $config_h ${config_h}~
1549:
1.1 root 1550: mkdir -p $target_dir
1551: mkdir -p $target_dir/fpu
1.1.1.7 ! root 1552: mkdir -p $target_dir/tcg
! 1553: if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
1.1 root 1554: mkdir -p $target_dir/nwfpe
1555: fi
1556:
1.1.1.3 root 1557: #
1558: # don't use ln -sf as not all "ln -sf" over write the file/link
1559: #
1560: rm -f $target_dir/Makefile
1561: ln -s $source_path/Makefile.target $target_dir/Makefile
1562:
1.1 root 1563:
1564: echo "# Automatically generated by configure - do not modify" > $config_mak
1565: echo "/* Automatically generated by configure - do not modify */" > $config_h
1566:
1567:
1568: echo "include ../config-host.mak" >> $config_mak
1569: echo "#include \"../config-host.h\"" >> $config_h
1570:
1.1.1.4 root 1571: bflt="no"
1.1.1.6 root 1572: elfload32="no"
1.1.1.7 ! root 1573: target_nptl="no"
1.1 root 1574: interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1575: echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1.1.1.7 ! root 1576: gdb_xml_files=""
1.1 root 1577:
1.1.1.7 ! root 1578: # Make sure the target and host cpus are compatible
! 1579: if test "$kvm" = "yes" -a ! \( "$target_cpu" = "$cpu" -o \
! 1580: \( "$target_cpu" = "ppcemb" -a "$cpu" = "ppc" \) -o \
! 1581: \( "$target_cpu" = "x86_64" -a "$cpu" = "i386" \) -o \
! 1582: \( "$target_cpu" = "i386" -a "$cpu" = "x86_64" \) \) ; then
! 1583: kvm="no"
! 1584: fi
! 1585: # Disable KVM for linux-user
! 1586: if test "$kvm" = "yes" -a "$target_softmmu" = "no" ; then
! 1587: kvm="no"
! 1588: fi
! 1589:
! 1590: case "$target_cpu" in
! 1591: i386)
! 1592: echo "TARGET_ARCH=i386" >> $config_mak
! 1593: echo "#define TARGET_ARCH \"i386\"" >> $config_h
! 1594: echo "#define TARGET_I386 1" >> $config_h
! 1595: if test $kqemu = "yes" -a "$target_softmmu" = "yes"
! 1596: then
! 1597: echo "#define USE_KQEMU 1" >> $config_h
! 1598: fi
! 1599: if test "$kvm" = "yes" ; then
! 1600: echo "CONFIG_KVM=yes" >> $config_mak
! 1601: echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
! 1602: echo "#define CONFIG_KVM 1" >> $config_h
! 1603: fi
! 1604: ;;
! 1605: x86_64)
! 1606: echo "TARGET_ARCH=x86_64" >> $config_mak
! 1607: echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
! 1608: echo "#define TARGET_I386 1" >> $config_h
! 1609: echo "#define TARGET_X86_64 1" >> $config_h
! 1610: if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
! 1611: then
! 1612: echo "#define USE_KQEMU 1" >> $config_h
! 1613: fi
! 1614: if test "$kvm" = "yes" ; then
! 1615: echo "CONFIG_KVM=yes" >> $config_mak
! 1616: echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
! 1617: echo "#define CONFIG_KVM 1" >> $config_h
! 1618: fi
! 1619: ;;
! 1620: alpha)
! 1621: echo "TARGET_ARCH=alpha" >> $config_mak
! 1622: echo "#define TARGET_ARCH \"alpha\"" >> $config_h
! 1623: echo "#define TARGET_ALPHA 1" >> $config_h
! 1624: ;;
! 1625: arm|armeb)
! 1626: echo "TARGET_ARCH=arm" >> $config_mak
! 1627: echo "#define TARGET_ARCH \"arm\"" >> $config_h
! 1628: echo "#define TARGET_ARM 1" >> $config_h
! 1629: bflt="yes"
! 1630: target_nptl="yes"
! 1631: gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
! 1632: ;;
! 1633: cris)
! 1634: echo "TARGET_ARCH=cris" >> $config_mak
! 1635: echo "#define TARGET_ARCH \"cris\"" >> $config_h
! 1636: echo "#define TARGET_CRIS 1" >> $config_h
! 1637: target_nptl="yes"
! 1638: ;;
! 1639: m68k)
! 1640: echo "TARGET_ARCH=m68k" >> $config_mak
! 1641: echo "#define TARGET_ARCH \"m68k\"" >> $config_h
! 1642: echo "#define TARGET_M68K 1" >> $config_h
! 1643: bflt="yes"
! 1644: gdb_xml_files="cf-core.xml cf-fp.xml"
! 1645: ;;
! 1646: mips|mipsel)
! 1647: echo "TARGET_ARCH=mips" >> $config_mak
! 1648: echo "#define TARGET_ARCH \"mips\"" >> $config_h
! 1649: echo "#define TARGET_MIPS 1" >> $config_h
! 1650: echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
! 1651: ;;
! 1652: mipsn32|mipsn32el)
! 1653: echo "TARGET_ARCH=mipsn32" >> $config_mak
! 1654: echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
! 1655: echo "#define TARGET_MIPS 1" >> $config_h
! 1656: echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
! 1657: ;;
! 1658: mips64|mips64el)
! 1659: echo "TARGET_ARCH=mips64" >> $config_mak
! 1660: echo "#define TARGET_ARCH \"mips64\"" >> $config_h
! 1661: echo "#define TARGET_MIPS 1" >> $config_h
! 1662: echo "#define TARGET_MIPS64 1" >> $config_h
! 1663: echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
! 1664: ;;
! 1665: ppc)
! 1666: echo "TARGET_ARCH=ppc" >> $config_mak
! 1667: echo "#define TARGET_ARCH \"ppc\"" >> $config_h
! 1668: echo "#define TARGET_PPC 1" >> $config_h
! 1669: gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
! 1670: ;;
! 1671: ppcemb)
! 1672: echo "TARGET_ARCH=ppcemb" >> $config_mak
! 1673: echo "TARGET_ABI_DIR=ppc" >> $config_mak
! 1674: echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
! 1675: echo "#define TARGET_PPC 1" >> $config_h
! 1676: echo "#define TARGET_PPCEMB 1" >> $config_h
! 1677: if test "$kvm" = "yes" ; then
! 1678: echo "CONFIG_KVM=yes" >> $config_mak
! 1679: echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
! 1680: echo "#define CONFIG_KVM 1" >> $config_h
! 1681: fi
! 1682: gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
! 1683: ;;
! 1684: ppc64)
! 1685: echo "TARGET_ARCH=ppc64" >> $config_mak
! 1686: echo "TARGET_ABI_DIR=ppc" >> $config_mak
! 1687: echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
! 1688: echo "#define TARGET_PPC 1" >> $config_h
! 1689: echo "#define TARGET_PPC64 1" >> $config_h
! 1690: gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
! 1691: ;;
! 1692: ppc64abi32)
! 1693: echo "TARGET_ARCH=ppc64" >> $config_mak
! 1694: echo "TARGET_ABI_DIR=ppc" >> $config_mak
! 1695: echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
! 1696: echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
! 1697: echo "#define TARGET_PPC 1" >> $config_h
! 1698: echo "#define TARGET_PPC64 1" >> $config_h
! 1699: echo "#define TARGET_ABI32 1" >> $config_h
! 1700: gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
! 1701: ;;
! 1702: sh4|sh4eb)
! 1703: echo "TARGET_ARCH=sh4" >> $config_mak
! 1704: echo "#define TARGET_ARCH \"sh4\"" >> $config_h
! 1705: echo "#define TARGET_SH4 1" >> $config_h
! 1706: bflt="yes"
! 1707: target_nptl="yes"
! 1708: ;;
! 1709: sparc)
! 1710: echo "TARGET_ARCH=sparc" >> $config_mak
! 1711: echo "#define TARGET_ARCH \"sparc\"" >> $config_h
! 1712: echo "#define TARGET_SPARC 1" >> $config_h
! 1713: ;;
! 1714: sparc64)
! 1715: echo "TARGET_ARCH=sparc64" >> $config_mak
! 1716: echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
! 1717: echo "#define TARGET_SPARC 1" >> $config_h
! 1718: echo "#define TARGET_SPARC64 1" >> $config_h
! 1719: elfload32="yes"
! 1720: ;;
! 1721: sparc32plus)
! 1722: echo "TARGET_ARCH=sparc64" >> $config_mak
! 1723: echo "TARGET_ABI_DIR=sparc" >> $config_mak
! 1724: echo "TARGET_ARCH2=sparc32plus" >> $config_mak
! 1725: echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
! 1726: echo "#define TARGET_SPARC 1" >> $config_h
! 1727: echo "#define TARGET_SPARC64 1" >> $config_h
! 1728: echo "#define TARGET_ABI32 1" >> $config_h
! 1729: ;;
! 1730: *)
! 1731: echo "Unsupported target CPU"
! 1732: exit 1
! 1733: ;;
! 1734: esac
1.1 root 1735: if test "$target_bigendian" = "yes" ; then
1736: echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1737: echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1738: fi
1739: if test "$target_softmmu" = "yes" ; then
1740: echo "CONFIG_SOFTMMU=yes" >> $config_mak
1741: echo "#define CONFIG_SOFTMMU 1" >> $config_h
1742: fi
1743: if test "$target_user_only" = "yes" ; then
1744: echo "CONFIG_USER_ONLY=yes" >> $config_mak
1745: echo "#define CONFIG_USER_ONLY 1" >> $config_h
1746: fi
1.1.1.5 root 1747: if test "$target_linux_user" = "yes" ; then
1748: echo "CONFIG_LINUX_USER=yes" >> $config_mak
1749: echo "#define CONFIG_LINUX_USER 1" >> $config_h
1750: fi
1751: if test "$target_darwin_user" = "yes" ; then
1752: echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1753: echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1754: fi
1.1.1.7 ! root 1755: list=""
! 1756: if test ! -z "$gdb_xml_files" ; then
! 1757: for x in $gdb_xml_files; do
! 1758: list="$list $source_path/gdb-xml/$x"
! 1759: done
! 1760: fi
! 1761: echo "TARGET_XML_FILES=$list" >> $config_mak
! 1762:
! 1763: if test "$target_cpu" = "arm" \
! 1764: -o "$target_cpu" = "armeb" \
! 1765: -o "$target_cpu" = "m68k" \
! 1766: -o "$target_cpu" = "mips" \
! 1767: -o "$target_cpu" = "mipsel" \
! 1768: -o "$target_cpu" = "mipsn32" \
! 1769: -o "$target_cpu" = "mipsn32el" \
! 1770: -o "$target_cpu" = "mips64" \
! 1771: -o "$target_cpu" = "mips64el" \
! 1772: -o "$target_cpu" = "ppc" \
! 1773: -o "$target_cpu" = "ppc64" \
! 1774: -o "$target_cpu" = "ppc64abi32" \
! 1775: -o "$target_cpu" = "ppcemb" \
! 1776: -o "$target_cpu" = "sparc" \
! 1777: -o "$target_cpu" = "sparc64" \
! 1778: -o "$target_cpu" = "sparc32plus"; then
1.1 root 1779: echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1780: echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1781: fi
1.1.1.4 root 1782: if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1783: echo "TARGET_HAS_BFLT=yes" >> $config_mak
1784: echo "#define TARGET_HAS_BFLT 1" >> $config_h
1785: fi
1.1.1.7 ! root 1786: if test "$target_user_only" = "yes" \
! 1787: -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
! 1788: echo "#define USE_NPTL 1" >> $config_h
! 1789: fi
1.1.1.6 root 1790: # 32 bit ELF loader in addition to native 64 bit loader?
1791: if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1792: echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1793: echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1.1 root 1794: fi
1.1.1.7 ! root 1795: if test "$target_bsd_user" = "yes" ; then
! 1796: echo "CONFIG_BSD_USER=yes" >> $config_mak
! 1797: echo "#define CONFIG_BSD_USER 1" >> $config_h
! 1798: fi
1.1 root 1799:
1.1.1.6 root 1800: test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1.1 root 1801:
1802: done # for target in $targets
1803:
1804: # build tree in object directory if source path is different from current one
1805: if test "$source_path_used" = "yes" ; then
1.1.1.6 root 1806: DIRS="tests tests/cris slirp audio"
1.1 root 1807: FILES="Makefile tests/Makefile"
1.1.1.6 root 1808: FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1.1.1.7 ! root 1809: FILES="$FILES tests/test-mmap.c"
1.1 root 1810: for dir in $DIRS ; do
1811: mkdir -p $dir
1812: done
1.1.1.3 root 1813: # remove the link and recreate it, as not all "ln -sf" overwrite the link
1.1 root 1814: for f in $FILES ; do
1.1.1.3 root 1815: rm -f $f
1816: ln -s $source_path/$f $f
1.1 root 1817: done
1818: fi
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.