|
|
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"
1.1.1.5 root 25: gcc3_search="yes"
1.1.1.6 ! root 26: gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
1.1 root 27: host_cc="gcc"
28: ar="ar"
29: make="make"
1.1.1.3 root 30: install="install"
1.1 root 31: strip="strip"
32: cpu=`uname -m`
33: target_list=""
34: case "$cpu" in
35: i386|i486|i586|i686|i86pc|BePC)
36: cpu="i386"
37: ;;
38: armv*b)
39: cpu="armv4b"
40: ;;
41: armv*l)
42: cpu="armv4l"
43: ;;
44: alpha)
45: cpu="alpha"
46: ;;
47: "Power Macintosh"|ppc|ppc64)
48: cpu="powerpc"
49: ;;
50: mips)
51: cpu="mips"
52: ;;
1.1.1.6 ! root 53: mips64)
! 54: cpu="mips64"
! 55: ;;
! 56: cris)
! 57: cpu="cris"
! 58: ;;
! 59: s390*)
1.1 root 60: cpu="s390"
61: ;;
1.1.1.6 ! root 62: sparc|sun4[cdmuv])
1.1 root 63: cpu="sparc"
64: ;;
65: sparc64)
66: cpu="sparc64"
67: ;;
68: ia64)
69: cpu="ia64"
70: ;;
71: m68k)
72: cpu="m68k"
73: ;;
74: x86_64|amd64)
75: cpu="x86_64"
76: ;;
77: *)
78: cpu="unknown"
79: ;;
80: esac
81: gprof="no"
82: bigendian="no"
83: mingw32="no"
84: EXESUF=""
85: gdbstub="yes"
86: slirp="yes"
87: adlib="no"
88: oss="no"
1.1.1.2 root 89: dsound="no"
90: coreaudio="no"
91: alsa="no"
1.1 root 92: fmod="no"
93: fmod_lib=""
94: fmod_inc=""
1.1.1.6 ! root 95: vnc_tls="yes"
1.1.1.3 root 96: bsd="no"
1.1 root 97: linux="no"
98: kqemu="no"
1.1.1.3 root 99: profiler="no"
1.1 root 100: cocoa="no"
101: check_gfx="yes"
1.1.1.2 root 102: check_gcc="yes"
1.1.1.3 root 103: softmmu="yes"
1.1.1.5 root 104: linux_user="no"
105: darwin_user="no"
1.1.1.3 root 106: build_docs="no"
1.1.1.4 root 107: uname_release=""
1.1 root 108:
109: # OS specific
110: targetos=`uname -s`
111: case $targetos in
112: CYGWIN*)
113: mingw32="yes"
1.1.1.5 root 114: OS_CFLAGS="-mno-cygwin"
1.1.1.6 ! root 115: VL_OS_LDFLAGS="-mno-cygwin"
! 116: if [ "$cpu" = "i386" ] ; then
! 117: kqemu="yes"
! 118: fi
1.1 root 119: ;;
120: MINGW32*)
121: mingw32="yes"
1.1.1.6 ! root 122: if [ "$cpu" = "i386" ] ; then
! 123: kqemu="yes"
! 124: fi
! 125: ;;
! 126: GNU/kFreeBSD)
! 127: oss="yes"
! 128: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
! 129: kqemu="yes"
! 130: fi
1.1 root 131: ;;
132: FreeBSD)
133: bsd="yes"
134: oss="yes"
135: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
136: kqemu="yes"
137: fi
138: ;;
139: NetBSD)
140: bsd="yes"
141: oss="yes"
142: ;;
143: OpenBSD)
144: bsd="yes"
145: oss="yes"
146: ;;
147: Darwin)
148: bsd="yes"
149: darwin="yes"
1.1.1.5 root 150: darwin_user="yes"
151: cocoa="yes"
152: coreaudio="yes"
153: OS_CFLAGS="-mdynamic-no-pic"
1.1 root 154: ;;
1.1.1.3 root 155: SunOS)
1.1.1.6 ! root 156: solaris="yes"
! 157: make="gmake"
! 158: install="ginstall"
! 159: needs_libsunmath="no"
! 160: solarisrev=`uname -r | cut -f2 -d.`
! 161: # have to select again, because `uname -m` returns i86pc
! 162: # even on an x86_64 box.
! 163: solariscpu=`isainfo -k`
! 164: if test "${solariscpu}" = "amd64" ; then
! 165: cpu="x86_64"
! 166: fi
! 167: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
! 168: if test "$solarisrev" -le 9 ; then
! 169: if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
! 170: needs_libsunmath="yes"
! 171: else
! 172: echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
! 173: echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
! 174: echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
! 175: echo "Studio 11 can be downloaded from www.sun.com."
! 176: exit 1
! 177: fi
! 178: fi
! 179: if test "$solarisrev" -ge 9 ; then
! 180: kqemu="yes"
! 181: fi
! 182: fi
! 183: if test -f /usr/include/sys/soundcard.h ; then
! 184: oss=yes
! 185: fi
1.1.1.3 root 186: ;;
1.1.1.2 root 187: *)
1.1 root 188: oss="yes"
189: linux="yes"
1.1.1.5 root 190: linux_user="yes"
1.1 root 191: if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
192: kqemu="yes"
193: fi
194: ;;
195: esac
196:
197: if [ "$bsd" = "yes" ] ; then
1.1.1.3 root 198: if [ "$darwin" != "yes" ] ; then
1.1 root 199: make="gmake"
200: fi
201: fi
202:
203: # find source path
1.1.1.3 root 204: source_path=`dirname "$0"`
205: if [ -z "$source_path" ]; then
1.1 root 206: source_path=`pwd`
1.1.1.3 root 207: else
208: source_path=`cd "$source_path"; pwd`
209: fi
210: if test "$source_path" = `pwd` ; then
1.1 root 211: source_path_used="no"
1.1.1.3 root 212: else
213: source_path_used="yes"
1.1 root 214: fi
215:
1.1.1.6 ! root 216: werror="no"
! 217: # generate compile errors on warnings for development builds
! 218: #if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
! 219: #werror="yes";
! 220: #fi
! 221:
1.1 root 222: for opt do
1.1.1.3 root 223: optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
1.1 root 224: case "$opt" in
1.1.1.2 root 225: --help|-h) show_help=yes
226: ;;
1.1.1.3 root 227: --prefix=*) prefix="$optarg"
1.1 root 228: ;;
1.1.1.3 root 229: --interp-prefix=*) interp_prefix="$optarg"
1.1 root 230: ;;
1.1.1.3 root 231: --source-path=*) source_path="$optarg"
232: source_path_used="yes"
1.1 root 233: ;;
1.1.1.3 root 234: --cross-prefix=*) cross_prefix="$optarg"
1.1 root 235: ;;
1.1.1.3 root 236: --cc=*) cc="$optarg"
1.1.1.5 root 237: gcc3_search="no"
1.1 root 238: ;;
1.1.1.3 root 239: --host-cc=*) host_cc="$optarg"
1.1 root 240: ;;
1.1.1.3 root 241: --make=*) make="$optarg"
1.1 root 242: ;;
1.1.1.3 root 243: --install=*) install="$optarg"
1.1 root 244: ;;
1.1.1.3 root 245: --extra-cflags=*) CFLAGS="$optarg"
1.1 root 246: ;;
1.1.1.3 root 247: --extra-ldflags=*) LDFLAGS="$optarg"
1.1 root 248: ;;
1.1.1.3 root 249: --cpu=*) cpu="$optarg"
250: ;;
251: --target-list=*) target_list="$optarg"
1.1 root 252: ;;
253: --enable-gprof) gprof="yes"
254: ;;
255: --static) static="yes"
256: ;;
257: --disable-sdl) sdl="no"
258: ;;
1.1.1.2 root 259: --enable-coreaudio) coreaudio="yes"
260: ;;
261: --enable-alsa) alsa="yes"
262: ;;
263: --enable-dsound) dsound="yes"
264: ;;
1.1 root 265: --enable-fmod) fmod="yes"
266: ;;
1.1.1.3 root 267: --fmod-lib=*) fmod_lib="$optarg"
1.1 root 268: ;;
1.1.1.3 root 269: --fmod-inc=*) fmod_inc="$optarg"
1.1 root 270: ;;
1.1.1.6 ! root 271: --disable-vnc-tls) vnc_tls="no"
! 272: ;;
! 273: --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no"
1.1.1.2 root 274: ;;
1.1 root 275: --disable-slirp) slirp="no"
1.1.1.2 root 276: ;;
1.1 root 277: --enable-adlib) adlib="yes"
1.1.1.2 root 278: ;;
1.1 root 279: --disable-kqemu) kqemu="no"
1.1.1.2 root 280: ;;
1.1.1.3 root 281: --enable-profiler) profiler="yes"
282: ;;
1.1.1.2 root 283: --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
284: ;;
1.1 root 285: --disable-gfx-check) check_gfx="no"
286: ;;
1.1.1.2 root 287: --disable-gcc-check) check_gcc="no"
288: ;;
1.1.1.3 root 289: --disable-system) softmmu="no"
290: ;;
291: --enable-system) softmmu="yes"
292: ;;
1.1.1.5 root 293: --disable-linux-user) linux_user="no"
1.1.1.3 root 294: ;;
1.1.1.5 root 295: --enable-linux-user) linux_user="yes"
1.1.1.3 root 296: ;;
1.1.1.5 root 297: --disable-darwin-user) darwin_user="no"
298: ;;
299: --enable-darwin-user) darwin_user="yes"
1.1.1.4 root 300: ;;
1.1.1.5 root 301: --enable-uname-release=*) uname_release="$optarg"
1.1.1.4 root 302: ;;
1.1.1.6 ! root 303: --sparc_cpu=*)
! 304: sparc_cpu="$optarg"
! 305: case $sparc_cpu in
! 306: v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
! 307: target_cpu="sparc"; cpu="sparc" ;;
! 308: v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
! 309: target_cpu="sparc"; cpu="sparc" ;;
! 310: v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
! 311: target_cpu="sparc64"; cpu="sparc64" ;;
! 312: *) echo "undefined SPARC architecture. Exiting";exit 1;;
! 313: esac
! 314: ;;
! 315: --enable-werror) werror="yes"
! 316: ;;
! 317: --disable-werror) werror="no"
! 318: ;;
! 319: *) echo "ERROR: unknown option $opt"; show_help="yes"
! 320: ;;
1.1 root 321: esac
322: done
323:
1.1.1.6 ! root 324: if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
! 325: AIOLIBS=
! 326: else
! 327: # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
! 328: AIOLIBS="-lrt -lpthread"
! 329: fi
! 330:
1.1.1.5 root 331: # default flags for all hosts
332: CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
333: LDFLAGS="$LDFLAGS -g"
1.1.1.6 ! root 334: if test "$werror" = "yes" ; then
! 335: CFLAGS="$CFLAGS -Werror"
! 336: fi
! 337:
! 338: #
! 339: # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
! 340: # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
! 341: #
! 342: case $cpu in
! 343: sparc) if test -z "$sparc_cpu" ; then
! 344: ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
! 345: ARCH_LDFLAGS="-m32"
! 346: else
! 347: ARCH_CFLAGS="${SP_CFLAGS}"
! 348: ARCH_LDFLAGS="${SP_LDFLAGS}"
! 349: fi
! 350: ;;
! 351: sparc64) if test -z "$sparc_cpu" ; then
! 352: ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
! 353: ARCH_LDFLAGS="-m64"
! 354: else
! 355: ARCH_CFLAGS="${SP_CFLAGS}"
! 356: ARCH_LDFLAGS="${SP_LDFLAGS}"
! 357: fi
! 358: ;;
! 359: s390)
! 360: ARCH_CFLAGS="-march=z900"
! 361: ;;
! 362: esac
! 363:
! 364: if [ "$solaris" = "yes" -a "$cpu" = "x86_64" ] ; then
! 365: CFLAGS="${CFLAGS} -m64"
! 366: OS_CFLAGS="${OS_CFLAGS} -m64"
! 367: OS_LDFLAGS="${OS_LDFLAGS} -m64"
! 368: fi
! 369:
! 370: if [ "$solaris" = "yes" -a "$cpu" = "i386" ] ; then
! 371: CFLAGS="${CFLAGS} -m32"
! 372: OS_CFLAGS="${OS_CFLAGS} -m32"
! 373: fi
1.1 root 374:
1.1.1.3 root 375: if test x"$show_help" = x"yes" ; then
376: cat << EOF
377:
378: Usage: configure [options]
379: Options: [defaults in brackets after descriptions]
380:
381: EOF
382: echo "Standard options:"
383: echo " --help print this message"
384: echo " --prefix=PREFIX install in PREFIX [$prefix]"
385: echo " --interp-prefix=PREFIX where to find shared libraries, etc."
386: echo " use %M for cpu name [$interp_prefix]"
387: echo " --target-list=LIST set target list [$target_list]"
388: echo ""
389: echo "kqemu kernel acceleration support:"
390: echo " --disable-kqemu disable kqemu support"
391: echo ""
392: echo "Advanced options (experts only):"
393: echo " --source-path=PATH path of source code [$source_path]"
394: echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
395: echo " --cc=CC use C compiler CC [$cc]"
396: echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
397: echo " --make=MAKE use specified make [$make]"
398: echo " --install=INSTALL use specified install [$install]"
399: echo " --static enable static build [$static]"
1.1.1.6 ! root 400: echo " --disable-werror disable compilation abort on warning"
! 401: echo " --disable-sdl disable SDL"
1.1.1.3 root 402: echo " --enable-cocoa enable COCOA (Mac OS X only)"
403: echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
404: echo " --enable-adlib enable Adlib emulation"
405: echo " --enable-coreaudio enable Coreaudio audio driver"
406: echo " --enable-alsa enable ALSA audio driver"
407: echo " --enable-fmod enable FMOD audio driver"
1.1.1.6 ! root 408: echo " --enable-dsound enable DirectSound audio driver"
! 409: echo " --disable-vnc-tls disable TLS encryption for VNC server"
1.1.1.3 root 410: echo " --enable-system enable all system emulation targets"
411: echo " --disable-system disable all system emulation targets"
1.1.1.5 root 412: echo " --enable-linux-user enable all linux usermode emulation targets"
413: echo " --disable-linux-user disable all linux usermode emulation targets"
414: echo " --enable-darwin-user enable all darwin usermode emulation targets"
415: echo " --disable-darwin-user disable all darwin usermode emulation targets"
1.1.1.3 root 416: echo " --fmod-lib path to FMOD library"
417: echo " --fmod-inc path to FMOD includes"
1.1.1.4 root 418: echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
1.1.1.6 ! root 419: echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
1.1.1.3 root 420: echo ""
1.1.1.5 root 421: echo "NOTE: The object files are built at the place where configure is launched"
1.1.1.3 root 422: exit 1
423: fi
424:
1.1 root 425: cc="${cross_prefix}${cc}"
426: ar="${cross_prefix}${ar}"
427: strip="${cross_prefix}${strip}"
428:
1.1.1.4 root 429: # check that the C compiler works.
430: cat > $TMPC <<EOF
431: int main(void) {}
432: EOF
433:
1.1.1.6 ! root 434: if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
1.1.1.4 root 435: : C compiler works ok
436: else
437: echo "ERROR: \"$cc\" either does not exist or does not work"
438: exit 1
1.1.1.3 root 439: fi
440:
1.1 root 441: if test "$mingw32" = "yes" ; then
442: linux="no"
443: EXESUF=".exe"
444: oss="no"
445: fi
446:
1.1.1.6 ! root 447: # Check for gcc4, error if pre-gcc4
1.1.1.5 root 448: if test "$check_gcc" = "yes" ; then
449: cat > $TMPC <<EOF
450: #if __GNUC__ < 4
451: #error gcc3
452: #endif
453: int main(){return 0;}
454: EOF
1.1.1.6 ! root 455: if "$cc" -o $TMPE $TMPC 2> /dev/null ; then
1.1.1.5 root 456: echo "WARNING: \"$cc\" looks like gcc 4.x"
457: found_compat_cc="no"
458: if test "$gcc3_search" = "yes" ; then
459: echo "Looking for gcc 3.x"
460: for compat_cc in $gcc3_list ; do
1.1.1.6 ! root 461: if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
1.1.1.5 root 462: echo "Found \"$compat_cc\""
1.1.1.6 ! root 463: cc="$cross_prefix$compat_cc"
1.1.1.5 root 464: found_compat_cc="yes"
465: break
466: fi
467: done
468: if test "$found_compat_cc" = "no" ; then
469: echo "gcc 3.x not found!"
470: fi
471: fi
472: if test "$found_compat_cc" = "no" ; then
473: echo "QEMU is known to have problems when compiled with gcc 4.x"
474: echo "It is recommended that you use gcc 3.x to build QEMU"
475: echo "To use this compiler anyway, configure with --disable-gcc-check"
476: exit 1;
477: fi
478: fi
479: fi
480:
1.1.1.3 root 481: #
482: # Solaris specific configure tool chain decisions
483: #
484: if test "$solaris" = "yes" ; then
485: #
486: # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
487: # override the check with --disable-gcc-check
1.1.1.6 ! root 488: #
1.1.1.3 root 489: if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
490: solgcc=`which $cc`
491: if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
492: echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
493: echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
494: echo "or get the latest patch from SunSolve for gcc"
495: exit 1
496: fi
497: fi
498: solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
499: if test -z "$solinst" ; then
500: echo "Solaris install program not found. Use --install=/usr/ucb/install or"
501: echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
502: echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
503: exit 1
504: fi
505: if test "$solinst" = "/usr/sbin/install" ; then
506: echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
507: echo "try ginstall from the GNU fileutils available from www.blastwave.org"
508: echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
509: exit 1
510: fi
511: sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
512: if test -z "$sol_ar" ; then
513: echo "Error: No path includes ar"
514: if test -f /usr/ccs/bin/ar ; then
515: echo "Add /usr/ccs/bin to your path and rerun configure"
516: fi
517: exit 1
518: fi
1.1.1.6 ! root 519: fi
1.1.1.3 root 520:
521:
1.1 root 522: if test -z "$target_list" ; then
523: # these targets are portable
1.1.1.3 root 524: if [ "$softmmu" = "yes" ] ; then
1.1.1.6 ! root 525: target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu sh4eb-softmmu cris-softmmu"
1.1.1.3 root 526: fi
1.1 root 527: # the following are Linux specific
1.1.1.5 root 528: if [ "$linux_user" = "yes" ] ; then
1.1.1.6 ! root 529: target_list="i386-linux-user arm-linux-user armeb-linux-user sparc-linux-user sparc64-linux-user sparc32plus-linux-user mips-linux-user mipsel-linux-user m68k-linux-user alpha-linux-user sh4-linux-user sh4eb-linux-user ppc-linux-user ppc64-linux-user ppc64abi32-linux-user x86_64-linux-user cris-linux-user $target_list"
1.1.1.5 root 530: fi
531: # the following are Darwin specific
532: if [ "$darwin_user" = "yes" ] ; then
533: target_list="i386-darwin-user ppc-darwin-user $target_list"
1.1 root 534: fi
535: else
1.1.1.3 root 536: target_list=`echo "$target_list" | sed -e 's/,/ /g'`
537: fi
538: if test -z "$target_list" ; then
539: echo "No targets enabled"
540: exit 1
1.1 root 541: fi
542:
543: if test -z "$cross_prefix" ; then
544:
545: # ---
546: # big/little endian test
547: cat > $TMPC << EOF
548: #include <inttypes.h>
549: int main(int argc, char ** argv){
1.1.1.2 root 550: volatile uint32_t i=0x01234567;
551: return (*((uint8_t*)(&i))) == 0x67;
1.1 root 552: }
553: EOF
554:
1.1.1.6 ! root 555: if $cc -o $TMPE $TMPC 2> /dev/null ; then
1.1 root 556: $TMPE && bigendian="yes"
557: else
558: echo big/little test failed
559: fi
560:
561: else
562:
563: # if cross compiling, cannot launch a program, so make a static guess
1.1.1.6 ! root 564: if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "mips64" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
1.1 root 565: bigendian="yes"
566: fi
567:
568: fi
569:
570: # host long bits test
571: hostlongbits="32"
572: if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
573: hostlongbits="64"
574: fi
575:
576: # check gcc options support
577: cat > $TMPC <<EOF
578: int main(void) {
579: }
580: EOF
581:
582: ##########################################
583: # SDL probe
584:
585: sdl_too_old=no
586:
587: if test -z "$sdl" ; then
1.1.1.6 ! root 588: sdl_config="sdl-config"
! 589: sdl=no
! 590: sdl_static=no
! 591:
! 592: if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
! 593: # win32 cross compilation case
! 594: sdl_config="i386-mingw32msvc-sdl-config"
! 595: sdl=yes
! 596: else
! 597: # normal SDL probe
1.1 root 598: cat > $TMPC << EOF
599: #include <SDL.h>
600: #undef main /* We don't want SDL to override our main() */
601: int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
602: EOF
1.1.1.6 ! root 603: if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
! 604: _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
! 605: if test "$_sdlversion" -lt 121 ; then
! 606: sdl_too_old=yes
! 607: else
! 608: if test "$cocoa" = "no" ; then
! 609: sdl=yes
! 610: fi
! 611: fi
! 612:
! 613: # static link with sdl ?
! 614: if test "$sdl" = "yes" ; then
! 615: aa="no"
! 616: `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
! 617: sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
! 618: if [ "$aa" = "yes" ] ; then
! 619: sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
! 620: fi
! 621:
! 622: if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
! 623: sdl_static=yes
! 624: fi
! 625: fi # static link
! 626: fi # sdl compile test
! 627: fi # cross compilation
1.1 root 628: else
1.1.1.6 ! root 629: # Make sure to disable cocoa if sdl was set
! 630: if test "$sdl" = "yes" ; then
! 631: cocoa="no"
! 632: coreaudio="no"
! 633: fi
! 634: fi # -z $sdl
1.1 root 635:
1.1.1.6 ! root 636: ##########################################
! 637: # VNC TLS detection
! 638: if test "$vnc_tls" = "yes" ; then
! 639: `pkg-config gnutls` || vnc_tls="no"
! 640: fi
! 641: if test "$vnc_tls" = "yes" ; then
! 642: vnc_tls_cflags=`pkg-config --cflags gnutls`
! 643: vnc_tls_libs=`pkg-config --libs gnutls`
1.1 root 644: fi
645:
1.1.1.5 root 646: ##########################################
647: # alsa sound support libraries
648:
649: if test "$alsa" = "yes" ; then
650: cat > $TMPC << EOF
651: #include <alsa/asoundlib.h>
652: int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
653: EOF
654: if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
655: :
656: else
657: echo
658: echo "Error: Could not find alsa"
659: echo "Make sure to have the alsa libs and headers installed."
660: echo
661: exit 1
662: fi
663: fi
664:
1.1.1.3 root 665: # Check if tools are available to build documentation.
1.1.1.6 ! root 666: if [ -x "`which texi2html 2>/dev/null`" ] && \
! 667: [ -x "`which pod2man 2>/dev/null`" ]; then
1.1.1.3 root 668: build_docs="yes"
1.1 root 669: fi
670:
671: if test "$mingw32" = "yes" ; then
1.1.1.6 ! root 672: if test -z "$prefix" ; then
! 673: prefix="/c/Program Files/Qemu"
! 674: fi
! 675: mansuffix=""
! 676: datasuffix=""
! 677: docsuffix=""
! 678: binsuffix=""
! 679: else
! 680: if test -z "$prefix" ; then
! 681: prefix="/usr/local"
! 682: fi
! 683: mansuffix="/share/man"
! 684: datasuffix="/share/qemu"
! 685: docsuffix="/share/doc/qemu"
! 686: binsuffix="/bin"
1.1 root 687: fi
688:
689: echo "Install prefix $prefix"
1.1.1.6 ! root 690: echo "BIOS directory $prefix$datasuffix"
! 691: echo "binary directory $prefix$binsuffix"
1.1 root 692: if test "$mingw32" = "no" ; then
1.1.1.6 ! root 693: echo "Manual directory $prefix$mansuffix"
1.1 root 694: echo "ELF interp prefix $interp_prefix"
695: fi
696: echo "Source path $source_path"
697: echo "C compiler $cc"
698: echo "Host C compiler $host_cc"
699: echo "make $make"
1.1.1.3 root 700: echo "install $install"
1.1 root 701: echo "host CPU $cpu"
702: echo "host big endian $bigendian"
703: echo "target list $target_list"
704: echo "gprof enabled $gprof"
1.1.1.3 root 705: echo "profiler $profiler"
1.1 root 706: echo "static build $static"
1.1.1.6 ! root 707: echo "-Werror enabled $werror"
1.1 root 708: if test "$darwin" = "yes" ; then
709: echo "Cocoa support $cocoa"
710: fi
711: echo "SDL support $sdl"
712: if test "$sdl" != "no" ; then
713: echo "SDL static link $sdl_static"
714: fi
715: echo "mingw32 support $mingw32"
716: echo "Adlib support $adlib"
1.1.1.2 root 717: echo "CoreAudio support $coreaudio"
718: echo "ALSA support $alsa"
719: echo "DSound support $dsound"
720: if test "$fmod" = "yes"; then
721: if test -z $fmod_lib || test -z $fmod_inc; then
722: echo
723: echo "Error: You must specify path to FMOD library and headers"
724: echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
725: echo
726: exit 1
727: fi
1.1.1.3 root 728: fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
1.1 root 729: else
1.1.1.3 root 730: fmod_support=""
1.1 root 731: fi
1.1.1.3 root 732: echo "FMOD support $fmod $fmod_support"
1.1.1.6 ! root 733: echo "OSS support $oss"
! 734: echo "VNC TLS support $vnc_tls"
! 735: if test "$vnc_tls" = "yes" ; then
! 736: echo " TLS CFLAGS $vnc_tls_cflags"
! 737: echo " TLS LIBS $vnc_tls_libs"
! 738: fi
! 739: if test -n "$sparc_cpu"; then
! 740: echo "Target Sparc Arch $sparc_cpu"
! 741: fi
1.1.1.3 root 742: echo "kqemu support $kqemu"
743: echo "Documentation $build_docs"
1.1.1.4 root 744: [ ! -z "$uname_release" ] && \
745: echo "uname -r $uname_release"
1.1 root 746:
747: if test $sdl_too_old = "yes"; then
748: echo "-> Your SDL version is too old - please upgrade to have SDL support"
749: fi
1.1.1.6 ! root 750: if [ -s /tmp/qemu-$$-sdl-config.log ]; then
! 751: echo "The error log from compiling the libSDL test is: "
! 752: cat /tmp/qemu-$$-sdl-config.log
! 753: fi
! 754: rm -f /tmp/qemu-$$-sdl-config.log
1.1 root 755: #if test "$sdl_static" = "no"; then
756: # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
757: #fi
758: config_mak="config-host.mak"
759: config_h="config-host.h"
760:
761: #echo "Creating $config_mak and $config_h"
762:
1.1.1.6 ! root 763: test -f $config_h && mv $config_h ${config_h}~
! 764:
1.1 root 765: echo "# Automatically generated by configure - do not modify" > $config_mak
1.1.1.3 root 766: echo "# Configured with: $0 $@" >> $config_mak
1.1 root 767: echo "/* Automatically generated by configure - do not modify */" > $config_h
768:
769: echo "prefix=$prefix" >> $config_mak
1.1.1.6 ! root 770: echo "bindir=\${prefix}$binsuffix" >> $config_mak
! 771: echo "mandir=\${prefix}$mansuffix" >> $config_mak
! 772: echo "datadir=\${prefix}$datasuffix" >> $config_mak
! 773: echo "docdir=\${prefix}$docsuffix" >> $config_mak
! 774: echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
1.1 root 775: echo "MAKE=$make" >> $config_mak
1.1.1.3 root 776: echo "INSTALL=$install" >> $config_mak
1.1 root 777: echo "CC=$cc" >> $config_mak
778: echo "HOST_CC=$host_cc" >> $config_mak
779: echo "AR=$ar" >> $config_mak
780: echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
1.1.1.5 root 781: echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
1.1.1.6 ! root 782: echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
! 783: echo "VL_OS_LDFLAGS=$VL_OS_LDFLAGS" >> $config_mak
! 784: echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
! 785: echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
1.1 root 786: echo "CFLAGS=$CFLAGS" >> $config_mak
787: echo "LDFLAGS=$LDFLAGS" >> $config_mak
788: echo "EXESUF=$EXESUF" >> $config_mak
1.1.1.6 ! root 789: echo "AIOLIBS=$AIOLIBS" >> $config_mak
1.1 root 790: if test "$cpu" = "i386" ; then
791: echo "ARCH=i386" >> $config_mak
792: echo "#define HOST_I386 1" >> $config_h
793: elif test "$cpu" = "x86_64" ; then
794: echo "ARCH=x86_64" >> $config_mak
795: echo "#define HOST_X86_64 1" >> $config_h
796: elif test "$cpu" = "armv4b" ; then
797: echo "ARCH=arm" >> $config_mak
798: echo "#define HOST_ARM 1" >> $config_h
799: elif test "$cpu" = "armv4l" ; then
800: echo "ARCH=arm" >> $config_mak
801: echo "#define HOST_ARM 1" >> $config_h
802: elif test "$cpu" = "powerpc" ; then
803: echo "ARCH=ppc" >> $config_mak
804: echo "#define HOST_PPC 1" >> $config_h
805: elif test "$cpu" = "mips" ; then
806: echo "ARCH=mips" >> $config_mak
807: echo "#define HOST_MIPS 1" >> $config_h
1.1.1.6 ! root 808: elif test "$cpu" = "mips64" ; then
! 809: echo "ARCH=mips64" >> $config_mak
! 810: echo "#define HOST_MIPS64 1" >> $config_h
! 811: elif test "$cpu" = "cris" ; then
! 812: echo "ARCH=cris" >> $config_mak
! 813: echo "#define HOST_CRIS 1" >> $config_h
1.1 root 814: elif test "$cpu" = "s390" ; then
815: echo "ARCH=s390" >> $config_mak
816: echo "#define HOST_S390 1" >> $config_h
817: elif test "$cpu" = "alpha" ; then
818: echo "ARCH=alpha" >> $config_mak
819: echo "#define HOST_ALPHA 1" >> $config_h
820: elif test "$cpu" = "sparc" ; then
821: echo "ARCH=sparc" >> $config_mak
822: echo "#define HOST_SPARC 1" >> $config_h
823: elif test "$cpu" = "sparc64" ; then
824: echo "ARCH=sparc64" >> $config_mak
825: echo "#define HOST_SPARC64 1" >> $config_h
826: elif test "$cpu" = "ia64" ; then
827: echo "ARCH=ia64" >> $config_mak
828: echo "#define HOST_IA64 1" >> $config_h
829: elif test "$cpu" = "m68k" ; then
830: echo "ARCH=m68k" >> $config_mak
831: echo "#define HOST_M68K 1" >> $config_h
832: else
1.1.1.6 ! root 833: echo "Unsupported CPU = $cpu"
1.1 root 834: exit 1
835: fi
836: if test "$bigendian" = "yes" ; then
837: echo "WORDS_BIGENDIAN=yes" >> $config_mak
838: echo "#define WORDS_BIGENDIAN 1" >> $config_h
839: fi
840: echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
841: if test "$mingw32" = "yes" ; then
842: echo "CONFIG_WIN32=yes" >> $config_mak
843: echo "#define CONFIG_WIN32 1" >> $config_h
1.1.1.6 ! root 844: else
! 845: cat > $TMPC << EOF
! 846: #include <byteswap.h>
! 847: int main(void) { return bswap_32(0); }
! 848: EOF
! 849: if $cc -o $TMPE $TMPC 2> /dev/null ; then
! 850: echo "#define HAVE_BYTESWAP_H 1" >> $config_h
! 851: fi
1.1 root 852: fi
853: if test "$darwin" = "yes" ; then
854: echo "CONFIG_DARWIN=yes" >> $config_mak
855: echo "#define CONFIG_DARWIN 1" >> $config_h
856: fi
1.1.1.3 root 857: if test "$solaris" = "yes" ; then
858: echo "CONFIG_SOLARIS=yes" >> $config_mak
859: echo "#define HOST_SOLARIS $solarisrev" >> $config_h
1.1.1.6 ! root 860: if test "$needs_libsunmath" = "yes" ; then
! 861: echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
! 862: echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
! 863: fi
! 864: fi
! 865: if test -n "$sparc_cpu"; then
! 866: echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
! 867: echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1.1.1.3 root 868: fi
1.1 root 869: if test "$gdbstub" = "yes" ; then
870: echo "CONFIG_GDBSTUB=yes" >> $config_mak
871: echo "#define CONFIG_GDBSTUB 1" >> $config_h
872: fi
873: if test "$gprof" = "yes" ; then
874: echo "TARGET_GPROF=yes" >> $config_mak
875: echo "#define HAVE_GPROF 1" >> $config_h
876: fi
877: if test "$static" = "yes" ; then
878: echo "CONFIG_STATIC=yes" >> $config_mak
879: echo "#define CONFIG_STATIC 1" >> $config_h
880: fi
1.1.1.3 root 881: if test $profiler = "yes" ; then
882: echo "#define CONFIG_PROFILER 1" >> $config_h
883: fi
1.1 root 884: if test "$slirp" = "yes" ; then
885: echo "CONFIG_SLIRP=yes" >> $config_mak
886: echo "#define CONFIG_SLIRP 1" >> $config_h
887: fi
888: if test "$adlib" = "yes" ; then
889: echo "CONFIG_ADLIB=yes" >> $config_mak
890: echo "#define CONFIG_ADLIB 1" >> $config_h
891: fi
892: if test "$oss" = "yes" ; then
893: echo "CONFIG_OSS=yes" >> $config_mak
894: echo "#define CONFIG_OSS 1" >> $config_h
895: fi
1.1.1.2 root 896: if test "$coreaudio" = "yes" ; then
897: echo "CONFIG_COREAUDIO=yes" >> $config_mak
898: echo "#define CONFIG_COREAUDIO 1" >> $config_h
899: fi
900: if test "$alsa" = "yes" ; then
901: echo "CONFIG_ALSA=yes" >> $config_mak
902: echo "#define CONFIG_ALSA 1" >> $config_h
903: fi
904: if test "$dsound" = "yes" ; then
905: echo "CONFIG_DSOUND=yes" >> $config_mak
906: echo "#define CONFIG_DSOUND 1" >> $config_h
907: fi
1.1 root 908: if test "$fmod" = "yes" ; then
909: echo "CONFIG_FMOD=yes" >> $config_mak
910: echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
911: echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
912: echo "#define CONFIG_FMOD 1" >> $config_h
913: fi
1.1.1.6 ! root 914: if test "$vnc_tls" = "yes" ; then
! 915: echo "CONFIG_VNC_TLS=yes" >> $config_mak
! 916: echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
! 917: echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
! 918: echo "#define CONFIG_VNC_TLS 1" >> $config_h
! 919: fi
1.1.1.3 root 920: qemu_version=`head $source_path/VERSION`
921: echo "VERSION=$qemu_version" >>$config_mak
922: echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
923:
1.1 root 924: echo "SRC_PATH=$source_path" >> $config_mak
1.1.1.3 root 925: if [ "$source_path_used" = "yes" ]; then
926: echo "VPATH=$source_path" >> $config_mak
927: fi
1.1 root 928: echo "TARGET_DIRS=$target_list" >> $config_mak
1.1.1.3 root 929: if [ "$build_docs" = "yes" ] ; then
930: echo "BUILD_DOCS=yes" >> $config_mak
931: fi
1.1.1.6 ! root 932: if test "$static" = "yes"; then
! 933: sdl1=$sdl_static
! 934: else
! 935: sdl1=$sdl
! 936: fi
! 937: if test "$sdl1" = "yes" ; then
! 938: echo "#define CONFIG_SDL 1" >> $config_h
! 939: echo "CONFIG_SDL=yes" >> $config_mak
! 940: if test "$target_softmmu" = "no" -o "$static" = "yes"; then
! 941: echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
! 942: else
! 943: echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
! 944: fi
! 945: if [ "${aa}" = "yes" ] ; then
! 946: echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
! 947: else
! 948: echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
! 949: fi
! 950: fi
! 951: if test "$cocoa" = "yes" ; then
! 952: echo "#define CONFIG_COCOA 1" >> $config_h
! 953: echo "CONFIG_COCOA=yes" >> $config_mak
! 954: fi
1.1 root 955:
956: # XXX: suppress that
957: if [ "$bsd" = "yes" ] ; then
958: echo "#define O_LARGEFILE 0" >> $config_h
959: echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
960: echo "#define _BSD 1" >> $config_h
961: fi
962:
1.1.1.4 root 963: echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
964:
1.1.1.6 ! root 965: tools=
! 966: if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
! 967: tools="qemu-img\$(EXESUF) $tools"
! 968: fi
! 969: echo "TOOLS=$tools" >> $config_mak
! 970:
! 971: test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
! 972:
1.1.1.2 root 973: for target in $target_list; do
1.1 root 974: target_dir="$target"
975: config_mak=$target_dir/config.mak
976: config_h=$target_dir/config.h
977: target_cpu=`echo $target | cut -d '-' -f 1`
978: target_bigendian="no"
979: [ "$target_cpu" = "armeb" ] && target_bigendian=yes
980: [ "$target_cpu" = "sparc" ] && target_bigendian=yes
981: [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
1.1.1.6 ! root 982: [ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
1.1 root 983: [ "$target_cpu" = "ppc" ] && target_bigendian=yes
1.1.1.6 ! root 984: [ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
1.1 root 985: [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
1.1.1.6 ! root 986: [ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
1.1 root 987: [ "$target_cpu" = "mips" ] && target_bigendian=yes
1.1.1.6 ! root 988: [ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
! 989: [ "$target_cpu" = "mips64" ] && target_bigendian=yes
1.1.1.4 root 990: [ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
1.1.1.5 root 991: [ "$target_cpu" = "m68k" ] && target_bigendian=yes
1.1 root 992: target_softmmu="no"
993: target_user_only="no"
1.1.1.5 root 994: target_linux_user="no"
995: target_darwin_user="no"
1.1.1.6 ! root 996: case "$target" in
! 997: ${target_cpu}-softmmu)
! 998: target_softmmu="yes"
! 999: ;;
! 1000: ${target_cpu}-linux-user)
! 1001: target_user_only="yes"
! 1002: target_linux_user="yes"
! 1003: ;;
! 1004: ${target_cpu}-darwin-user)
! 1005: target_user_only="yes"
! 1006: target_darwin_user="yes"
! 1007: ;;
! 1008: *)
! 1009: echo "ERROR: Target '$target' not recognised"
! 1010: exit 1
! 1011: ;;
! 1012: esac
1.1.1.5 root 1013:
1.1 root 1014: if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1.1.1.2 root 1015: -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1.1 root 1016: echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1.1.1.3 root 1017: echo "To build QEMU without graphical output configure with --disable-gfx-check"
1.1 root 1018: echo "Note that this will disable all output from the virtual graphics card."
1019: exit 1;
1020: fi
1021:
1022: #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1023:
1.1.1.6 ! root 1024: test -f $config_h && mv $config_h ${config_h}~
! 1025:
1.1 root 1026: mkdir -p $target_dir
1027: mkdir -p $target_dir/fpu
1.1.1.5 root 1028: if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
1.1 root 1029: mkdir -p $target_dir/nwfpe
1030: fi
1031:
1.1.1.3 root 1032: #
1033: # don't use ln -sf as not all "ln -sf" over write the file/link
1034: #
1035: rm -f $target_dir/Makefile
1036: ln -s $source_path/Makefile.target $target_dir/Makefile
1037:
1.1 root 1038:
1039: echo "# Automatically generated by configure - do not modify" > $config_mak
1040: echo "/* Automatically generated by configure - do not modify */" > $config_h
1041:
1042:
1043: echo "include ../config-host.mak" >> $config_mak
1044: echo "#include \"../config-host.h\"" >> $config_h
1045:
1.1.1.4 root 1046: bflt="no"
1.1.1.6 ! root 1047: elfload32="no"
1.1 root 1048: interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1049: echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1050:
1051: if test "$target_cpu" = "i386" ; then
1052: echo "TARGET_ARCH=i386" >> $config_mak
1053: echo "#define TARGET_ARCH \"i386\"" >> $config_h
1054: echo "#define TARGET_I386 1" >> $config_h
1055: if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
1056: echo "#define USE_KQEMU 1" >> $config_h
1057: fi
1058: elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
1059: echo "TARGET_ARCH=arm" >> $config_mak
1060: echo "#define TARGET_ARCH \"arm\"" >> $config_h
1061: echo "#define TARGET_ARM 1" >> $config_h
1.1.1.4 root 1062: bflt="yes"
1.1 root 1063: elif test "$target_cpu" = "sparc" ; then
1064: echo "TARGET_ARCH=sparc" >> $config_mak
1065: echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1066: echo "#define TARGET_SPARC 1" >> $config_h
1067: elif test "$target_cpu" = "sparc64" ; then
1068: echo "TARGET_ARCH=sparc64" >> $config_mak
1069: echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1070: echo "#define TARGET_SPARC 1" >> $config_h
1071: echo "#define TARGET_SPARC64 1" >> $config_h
1.1.1.6 ! root 1072: elfload32="yes"
! 1073: elif test "$target_cpu" = "sparc32plus" ; then
! 1074: echo "TARGET_ARCH=sparc64" >> $config_mak
! 1075: echo "TARGET_ABI_DIR=sparc" >> $config_mak
! 1076: echo "TARGET_ARCH2=sparc32plus" >> $config_mak
! 1077: echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
! 1078: echo "#define TARGET_SPARC 1" >> $config_h
! 1079: echo "#define TARGET_SPARC64 1" >> $config_h
! 1080: echo "#define TARGET_ABI32 1" >> $config_h
1.1 root 1081: elif test "$target_cpu" = "ppc" ; then
1082: echo "TARGET_ARCH=ppc" >> $config_mak
1083: echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1084: echo "#define TARGET_PPC 1" >> $config_h
1.1.1.6 ! root 1085: elif test "$target_cpu" = "ppcemb" ; then
! 1086: echo "TARGET_ARCH=ppcemb" >> $config_mak
! 1087: echo "TARGET_ABI_DIR=ppc" >> $config_mak
! 1088: echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
! 1089: echo "#define TARGET_PPC 1" >> $config_h
! 1090: echo "#define TARGET_PPCEMB 1" >> $config_h
1.1 root 1091: elif test "$target_cpu" = "ppc64" ; then
1092: echo "TARGET_ARCH=ppc64" >> $config_mak
1.1.1.6 ! root 1093: echo "TARGET_ABI_DIR=ppc" >> $config_mak
1.1 root 1094: echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1095: echo "#define TARGET_PPC 1" >> $config_h
1096: echo "#define TARGET_PPC64 1" >> $config_h
1.1.1.6 ! root 1097: elif test "$target_cpu" = "ppc64abi32" ; then
! 1098: echo "TARGET_ARCH=ppc64" >> $config_mak
! 1099: echo "TARGET_ABI_DIR=ppc" >> $config_mak
! 1100: echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
! 1101: echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
! 1102: echo "#define TARGET_PPC 1" >> $config_h
! 1103: echo "#define TARGET_PPC64 1" >> $config_h
! 1104: echo "#define TARGET_ABI32 1" >> $config_h
1.1 root 1105: elif test "$target_cpu" = "x86_64" ; then
1106: echo "TARGET_ARCH=x86_64" >> $config_mak
1107: echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1108: echo "#define TARGET_I386 1" >> $config_h
1109: echo "#define TARGET_X86_64 1" >> $config_h
1110: if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
1111: echo "#define USE_KQEMU 1" >> $config_h
1112: fi
1.1.1.2 root 1113: elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
1.1 root 1114: echo "TARGET_ARCH=mips" >> $config_mak
1115: echo "#define TARGET_ARCH \"mips\"" >> $config_h
1116: echo "#define TARGET_MIPS 1" >> $config_h
1.1.1.6 ! root 1117: echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
! 1118: elif test "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" ; then
! 1119: echo "TARGET_ARCH=mipsn32" >> $config_mak
! 1120: echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
! 1121: echo "#define TARGET_MIPS 1" >> $config_h
! 1122: echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
! 1123: elif test "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el" ; then
! 1124: echo "TARGET_ARCH=mips64" >> $config_mak
! 1125: echo "#define TARGET_ARCH \"mips64\"" >> $config_h
! 1126: echo "#define TARGET_MIPS 1" >> $config_h
! 1127: echo "#define TARGET_MIPS64 1" >> $config_h
! 1128: echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
! 1129: elif test "$target_cpu" = "cris" ; then
! 1130: echo "TARGET_ARCH=cris" >> $config_mak
! 1131: echo "#define TARGET_ARCH \"cris\"" >> $config_h
! 1132: echo "#define TARGET_CRIS 1" >> $config_h
1.1.1.4 root 1133: echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1134: echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1135: elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then
1.1.1.3 root 1136: echo "TARGET_ARCH=sh4" >> $config_mak
1137: echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1138: echo "#define TARGET_SH4 1" >> $config_h
1.1.1.4 root 1139: bflt="yes"
1.1.1.5 root 1140: elif test "$target_cpu" = "m68k" ; then
1141: echo "TARGET_ARCH=m68k" >> $config_mak
1142: echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1143: echo "#define TARGET_M68K 1" >> $config_h
1144: bflt="yes"
1.1.1.6 ! root 1145: elif test "$target_cpu" = "alpha" ; then
! 1146: echo "TARGET_ARCH=alpha" >> $config_mak
! 1147: echo "#define TARGET_ARCH \"alpha\"" >> $config_h
! 1148: echo "#define TARGET_ALPHA 1" >> $config_h
1.1 root 1149: else
1150: echo "Unsupported target CPU"
1151: exit 1
1152: fi
1153: if test "$target_bigendian" = "yes" ; then
1154: echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1155: echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1156: fi
1157: if test "$target_softmmu" = "yes" ; then
1158: echo "CONFIG_SOFTMMU=yes" >> $config_mak
1159: echo "#define CONFIG_SOFTMMU 1" >> $config_h
1160: fi
1161: if test "$target_user_only" = "yes" ; then
1162: echo "CONFIG_USER_ONLY=yes" >> $config_mak
1163: echo "#define CONFIG_USER_ONLY 1" >> $config_h
1164: fi
1.1.1.5 root 1165: if test "$target_linux_user" = "yes" ; then
1166: echo "CONFIG_LINUX_USER=yes" >> $config_mak
1167: echo "#define CONFIG_LINUX_USER 1" >> $config_h
1168: fi
1169: if test "$target_darwin_user" = "yes" ; then
1170: echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1171: echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1172: fi
1.1 root 1173:
1.1.1.6 ! root 1174: if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64" -o "$target_cpu" = "sparc32plus" -o "$target_cpu" = "m68k" -o "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" -o "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" -o "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el"; then
1.1 root 1175: echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1176: echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1177: fi
1.1.1.4 root 1178: if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1179: echo "TARGET_HAS_BFLT=yes" >> $config_mak
1180: echo "#define TARGET_HAS_BFLT 1" >> $config_h
1181: fi
1.1.1.6 ! root 1182: # 32 bit ELF loader in addition to native 64 bit loader?
! 1183: if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
! 1184: echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
! 1185: echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1.1 root 1186: fi
1187:
1.1.1.6 ! root 1188: test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1.1 root 1189:
1190: done # for target in $targets
1191:
1192: # build tree in object directory if source path is different from current one
1193: if test "$source_path_used" = "yes" ; then
1.1.1.6 ! root 1194: DIRS="tests tests/cris slirp audio"
1.1 root 1195: FILES="Makefile tests/Makefile"
1.1.1.6 ! root 1196: FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1.1 root 1197: for dir in $DIRS ; do
1198: mkdir -p $dir
1199: done
1.1.1.3 root 1200: # remove the link and recreate it, as not all "ln -sf" overwrite the link
1.1 root 1201: for f in $FILES ; do
1.1.1.3 root 1202: rm -f $f
1203: ln -s $source_path/$f $f
1.1 root 1204: done
1205: fi
1206:
1207: rm -f $TMPO $TMPC $TMPE $TMPS
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.