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