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