Fix breakpoint TLB invalidation.
[qemu/mini2440.git] / configure
blobff504b2b3a02975285a7bb1047bba39ee5e4875c
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 host_cc="gcc"
26 ar="ar"
27 make="make"
28 strip="strip"
29 cpu=`uname -m`
30 target_list=""
31 case "$cpu" in
32 i386|i486|i586|i686|i86pc|BePC)
33 cpu="i386"
35 armv*b)
36 cpu="armv4b"
38 armv*l)
39 cpu="armv4l"
41 alpha)
42 cpu="alpha"
44 "Power Macintosh"|ppc|ppc64)
45 cpu="powerpc"
47 mips)
48 cpu="mips"
50 s390)
51 cpu="s390"
53 sparc)
54 cpu="sparc"
56 sparc64)
57 cpu="sparc64"
59 ia64)
60 cpu="ia64"
62 m68k)
63 cpu="m68k"
65 x86_64|amd64)
66 cpu="x86_64"
69 cpu="unknown"
71 esac
72 gprof="no"
73 bigendian="no"
74 mingw32="no"
75 EXESUF=""
76 gdbstub="yes"
77 slirp="yes"
78 adlib="no"
79 oss="no"
80 dsound="no"
81 coreaudio="no"
82 alsa="no"
83 fmod="no"
84 fmod_lib=""
85 fmod_inc=""
86 linux="no"
87 kqemu="no"
88 profiler="no"
89 kernel_path=""
90 cocoa="no"
91 check_gfx="yes"
92 check_gcc="yes"
93 softmmu="yes"
94 user="no"
96 # OS specific
97 targetos=`uname -s`
98 case $targetos in
99 CYGWIN*)
100 mingw32="yes"
101 CFLAGS="-O2 -mno-cygwin"
103 MINGW32*)
104 mingw32="yes"
106 FreeBSD)
107 bsd="yes"
108 oss="yes"
109 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
110 kqemu="yes"
113 NetBSD)
114 bsd="yes"
115 oss="yes"
117 OpenBSD)
118 bsd="yes"
119 oss="yes"
121 Darwin)
122 bsd="yes"
123 darwin="yes"
126 oss="yes"
127 linux="yes"
128 user="yes"
129 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
130 kqemu="yes"
133 esac
135 if [ "$bsd" = "yes" ] ; then
136 if [ ! "$darwin" = "yes" ] ; then
137 make="gmake"
141 # find source path
142 # XXX: we assume an absolute path is given when launching configure,
143 # except in './configure' case.
144 source_path=${0%configure}
145 source_path=${source_path%/}
146 source_path_used="yes"
147 if test -z "$source_path" -o "$source_path" = "." ; then
148 source_path=`pwd`
149 source_path_used="no"
152 for opt do
153 case "$opt" in
154 --help|-h) show_help=yes
156 --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
158 --interp-prefix=*) interp_prefix=`echo $opt | cut -d '=' -f 2`
160 --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
162 --cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
164 --cc=*) cc=`echo $opt | cut -d '=' -f 2`
166 --host-cc=*) host_cc=`echo $opt | cut -d '=' -f 2`
168 --make=*) make=`echo $opt | cut -d '=' -f 2`
170 --extra-cflags=*) CFLAGS="${opt#--extra-cflags=}"
172 --extra-ldflags=*) LDFLAGS="${opt#--extra-ldflags=}"
174 --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
176 --target-list=*) target_list=${opt#--target-list=}
178 --enable-gprof) gprof="yes"
180 --static) static="yes"
182 --disable-sdl) sdl="no"
184 --enable-coreaudio) coreaudio="yes"
186 --enable-alsa) alsa="yes"
188 --enable-dsound) dsound="yes"
190 --enable-fmod) fmod="yes"
192 --fmod-lib=*) fmod_lib=${opt#--fmod-lib=}
194 --fmod-inc=*) fmod_inc=${opt#--fmod-inc=}
196 --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
198 --disable-slirp) slirp="no"
200 --enable-adlib) adlib="yes"
202 --disable-kqemu) kqemu="no"
204 --enable-profiler) profiler="yes"
206 --kernel-path=*) kernel_path=${opt#--kernel-path=}
208 --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
210 --disable-gfx-check) check_gfx="no"
212 --disable-gcc-check) check_gcc="no"
214 --disable-system) softmmu="no"
216 --enable-system) softmmu="yes"
218 --disable-user) user="no"
220 --enable-user) user="yes"
222 esac
223 done
225 # Checking for CFLAGS
226 if test -z "$CFLAGS"; then
227 CFLAGS="-O2"
230 if test x"$show_help" = x"yes" ; then
231 cat << EOF
233 Usage: configure [options]
234 Options: [defaults in brackets after descriptions]
237 echo "Standard options:"
238 echo " --help print this message"
239 echo " --prefix=PREFIX install in PREFIX [$prefix]"
240 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
241 echo " use %M for cpu name [$interp_prefix]"
242 echo " --target-list=LIST set target list [$target_list]"
243 echo ""
244 echo "kqemu kernel acceleration support:"
245 echo " --disable-kqemu disable kqemu support"
246 echo " --kernel-path=PATH set the kernel path (configure probes it)"
247 echo ""
248 echo "Advanced options (experts only):"
249 echo " --source-path=PATH path of source code [$source_path]"
250 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
251 echo " --cc=CC use C compiler CC [$cc]"
252 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
253 echo " --make=MAKE use specified make [$make]"
254 echo " --static enable static build [$static]"
255 echo " --enable-cocoa enable COCOA (Mac OS X only)"
256 echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
257 echo " --enable-adlib enable Adlib emulation"
258 echo " --enable-coreaudio enable Coreaudio audio driver"
259 echo " --enable-alsa enable ALSA audio driver"
260 echo " --enable-fmod enable FMOD audio driver"
261 echo " --enabled-dsound enable DirectSound audio driver"
262 echo " --enable-system enable all system emulation targets"
263 echo " --disable-system disable all system emulation targets"
264 echo " --enable-user enable all linux usermode emulation targets"
265 echo " --disable-user disable all linux usermode emulation targets"
266 echo " --fmod-lib path to FMOD library"
267 echo " --fmod-inc path to FMOD includes"
268 echo ""
269 echo "NOTE: The object files are build at the place where configure is launched"
270 exit 1
273 cc="${cross_prefix}${cc}"
274 ar="${cross_prefix}${ar}"
275 strip="${cross_prefix}${strip}"
277 if test "$mingw32" = "yes" ; then
278 linux="no"
279 EXESUF=".exe"
280 gdbstub="no"
281 oss="no"
282 if [ "$cpu" = "i386" ] ; then
283 kqemu="yes"
287 if test -z "$target_list" ; then
288 # these targets are portable
289 if [ "$softmmu" = "yes" ] ; then
290 target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"
292 # the following are Linux specific
293 if [ "$user" = "yes" ] ; then
294 target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
296 else
297 target_list=$(echo "$target_list" | sed -e 's/,/ /g')
299 if test -z "$target_list" ; then
300 echo "No targets enabled"
301 exit 1
304 if test -z "$cross_prefix" ; then
306 # ---
307 # big/little endian test
308 cat > $TMPC << EOF
309 #include <inttypes.h>
310 int main(int argc, char ** argv){
311 volatile uint32_t i=0x01234567;
312 return (*((uint8_t*)(&i))) == 0x67;
316 if $cc -o $TMPE $TMPC 2>/dev/null ; then
317 $TMPE && bigendian="yes"
318 else
319 echo big/little test failed
322 else
324 # if cross compiling, cannot launch a program, so make a static guess
325 if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
326 bigendian="yes"
331 # host long bits test
332 hostlongbits="32"
333 if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
334 hostlongbits="64"
337 # check gcc options support
338 cat > $TMPC <<EOF
339 int main(void) {
343 have_gcc3_options="no"
344 if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
345 have_gcc3_options="yes"
348 # Check for gcc4
349 if test "$check_gcc" = "yes" ; then
350 cat > $TMPC <<EOF
351 #if __GNUC__ >= 4
352 #error gcc4
353 #endif
354 int main(){return 0;}
356 if ! $cc -o $TMPO $TMPC 2>/dev/null ; then
357 echo "ERROR: \"$cc\" looks like gcc 4.x"
358 echo "QEMU is known to have problems when compiled with gcc 4.x"
359 echo "It is recommended that you use gcc 3.x to build QEMU"
360 echo "To use this compiler anyway, configure with --disable-gcc-check"
361 exit 1;
365 ##########################################
366 # SDL probe
368 sdl_too_old=no
370 if test -z "$sdl" ; then
372 sdl_config="sdl-config"
373 sdl=no
374 sdl_static=no
376 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
377 # win32 cross compilation case
378 sdl_config="i386-mingw32msvc-sdl-config"
379 sdl=yes
380 else
381 # normal SDL probe
382 cat > $TMPC << EOF
383 #include <SDL.h>
384 #undef main /* We don't want SDL to override our main() */
385 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
388 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
389 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
390 if test "$_sdlversion" -lt 121 ; then
391 sdl_too_old=yes
392 else
393 sdl=yes
396 # static link with sdl ?
397 if test "$sdl" = "yes" ; then
398 aa="no"
399 `$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
400 sdl_static_libs=`$sdl_config --static-libs`
401 if [ "$aa" = "yes" ] ; then
402 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
405 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
406 sdl_static=yes
409 fi # static link
411 fi # sdl compile test
413 fi # cross compilation
414 fi # -z $sdl
416 if test "$mingw32" = "yes" ; then
417 if test -z "$prefix" ; then
418 prefix="/c/Program Files/Qemu"
420 mandir="$prefix"
421 datadir="$prefix"
422 docdir="$prefix"
423 bindir="$prefix"
424 else
425 if test -z "$prefix" ; then
426 prefix="/usr/local"
428 mandir="$prefix/share/man"
429 datadir="$prefix/share/qemu"
430 docdir="$prefix/share/doc/qemu"
431 bindir="$prefix/bin"
434 echo "Install prefix $prefix"
435 echo "BIOS directory $datadir"
436 echo "binary directory $bindir"
437 if test "$mingw32" = "no" ; then
438 echo "Manual directory $mandir"
439 echo "ELF interp prefix $interp_prefix"
441 echo "Source path $source_path"
442 echo "C compiler $cc"
443 echo "Host C compiler $host_cc"
444 echo "make $make"
445 echo "host CPU $cpu"
446 echo "host big endian $bigendian"
447 echo "target list $target_list"
448 echo "gprof enabled $gprof"
449 echo "profiler $profiler"
450 echo "static build $static"
451 if test "$darwin" = "yes" ; then
452 echo "Cocoa support $cocoa"
454 echo "SDL support $sdl"
455 if test "$sdl" != "no" ; then
456 echo "SDL static link $sdl_static"
458 echo "mingw32 support $mingw32"
459 echo "Adlib support $adlib"
460 echo "CoreAudio support $coreaudio"
461 echo "ALSA support $alsa"
462 echo "DSound support $dsound"
463 echo -n "FMOD support $fmod"
464 if test "$fmod" = "yes"; then
465 if test -z $fmod_lib || test -z $fmod_inc; then
466 echo
467 echo "Error: You must specify path to FMOD library and headers"
468 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
469 echo
470 exit 1
472 echo -n " (lib='$fmod_lib' include='$fmod_inc')"
474 echo ""
475 echo "kqemu support $kqemu"
477 if test $sdl_too_old = "yes"; then
478 echo "-> Your SDL version is too old - please upgrade to have SDL support"
480 #if test "$sdl_static" = "no"; then
481 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
484 config_mak="config-host.mak"
485 config_h="config-host.h"
487 #echo "Creating $config_mak and $config_h"
489 echo "# Automatically generated by configure - do not modify" > $config_mak
490 echo "# Configured with: $0 $@" >> $config_mak
491 echo "/* Automatically generated by configure - do not modify */" > $config_h
493 echo "prefix=$prefix" >> $config_mak
494 echo "bindir=$bindir" >> $config_mak
495 echo "mandir=$mandir" >> $config_mak
496 echo "datadir=$datadir" >> $config_mak
497 echo "docdir=$docdir" >> $config_mak
498 echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
499 echo "MAKE=$make" >> $config_mak
500 echo "CC=$cc" >> $config_mak
501 if test "$have_gcc3_options" = "yes" ; then
502 echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
504 echo "HOST_CC=$host_cc" >> $config_mak
505 echo "AR=$ar" >> $config_mak
506 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
507 echo "CFLAGS=$CFLAGS" >> $config_mak
508 echo "LDFLAGS=$LDFLAGS" >> $config_mak
509 echo "EXESUF=$EXESUF" >> $config_mak
510 if test "$cpu" = "i386" ; then
511 echo "ARCH=i386" >> $config_mak
512 echo "#define HOST_I386 1" >> $config_h
513 elif test "$cpu" = "x86_64" ; then
514 echo "ARCH=x86_64" >> $config_mak
515 echo "#define HOST_X86_64 1" >> $config_h
516 elif test "$cpu" = "armv4b" ; then
517 echo "ARCH=arm" >> $config_mak
518 echo "#define HOST_ARM 1" >> $config_h
519 elif test "$cpu" = "armv4l" ; then
520 echo "ARCH=arm" >> $config_mak
521 echo "#define HOST_ARM 1" >> $config_h
522 elif test "$cpu" = "powerpc" ; then
523 echo "ARCH=ppc" >> $config_mak
524 echo "#define HOST_PPC 1" >> $config_h
525 elif test "$cpu" = "mips" ; then
526 echo "ARCH=mips" >> $config_mak
527 echo "#define HOST_MIPS 1" >> $config_h
528 elif test "$cpu" = "s390" ; then
529 echo "ARCH=s390" >> $config_mak
530 echo "#define HOST_S390 1" >> $config_h
531 elif test "$cpu" = "alpha" ; then
532 echo "ARCH=alpha" >> $config_mak
533 echo "#define HOST_ALPHA 1" >> $config_h
534 elif test "$cpu" = "sparc" ; then
535 echo "ARCH=sparc" >> $config_mak
536 echo "#define HOST_SPARC 1" >> $config_h
537 elif test "$cpu" = "sparc64" ; then
538 echo "ARCH=sparc64" >> $config_mak
539 echo "#define HOST_SPARC64 1" >> $config_h
540 elif test "$cpu" = "ia64" ; then
541 echo "ARCH=ia64" >> $config_mak
542 echo "#define HOST_IA64 1" >> $config_h
543 elif test "$cpu" = "m68k" ; then
544 echo "ARCH=m68k" >> $config_mak
545 echo "#define HOST_M68K 1" >> $config_h
546 else
547 echo "Unsupported CPU"
548 exit 1
550 if test "$bigendian" = "yes" ; then
551 echo "WORDS_BIGENDIAN=yes" >> $config_mak
552 echo "#define WORDS_BIGENDIAN 1" >> $config_h
554 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
555 if test "$mingw32" = "yes" ; then
556 echo "CONFIG_WIN32=yes" >> $config_mak
557 echo "#define CONFIG_WIN32 1" >> $config_h
558 elif test -f "/usr/include/byteswap.h" ; then
559 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
561 if test "$darwin" = "yes" ; then
562 echo "CONFIG_DARWIN=yes" >> $config_mak
563 echo "#define CONFIG_DARWIN 1" >> $config_h
565 if test "$gdbstub" = "yes" ; then
566 echo "CONFIG_GDBSTUB=yes" >> $config_mak
567 echo "#define CONFIG_GDBSTUB 1" >> $config_h
569 if test "$gprof" = "yes" ; then
570 echo "TARGET_GPROF=yes" >> $config_mak
571 echo "#define HAVE_GPROF 1" >> $config_h
573 if test "$static" = "yes" ; then
574 echo "CONFIG_STATIC=yes" >> $config_mak
575 echo "#define CONFIG_STATIC 1" >> $config_h
577 if test $profiler = "yes" ; then
578 echo "#define CONFIG_PROFILER 1" >> $config_h
580 if test "$slirp" = "yes" ; then
581 echo "CONFIG_SLIRP=yes" >> $config_mak
582 echo "#define CONFIG_SLIRP 1" >> $config_h
584 if test "$adlib" = "yes" ; then
585 echo "CONFIG_ADLIB=yes" >> $config_mak
586 echo "#define CONFIG_ADLIB 1" >> $config_h
588 if test "$oss" = "yes" ; then
589 echo "CONFIG_OSS=yes" >> $config_mak
590 echo "#define CONFIG_OSS 1" >> $config_h
592 if test "$coreaudio" = "yes" ; then
593 echo "CONFIG_COREAUDIO=yes" >> $config_mak
594 echo "#define CONFIG_COREAUDIO 1" >> $config_h
596 if test "$alsa" = "yes" ; then
597 echo "CONFIG_ALSA=yes" >> $config_mak
598 echo "#define CONFIG_ALSA 1" >> $config_h
600 if test "$dsound" = "yes" ; then
601 echo "CONFIG_DSOUND=yes" >> $config_mak
602 echo "#define CONFIG_DSOUND 1" >> $config_h
604 if test "$fmod" = "yes" ; then
605 echo "CONFIG_FMOD=yes" >> $config_mak
606 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
607 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
608 echo "#define CONFIG_FMOD 1" >> $config_h
610 echo -n "VERSION=" >>$config_mak
611 head $source_path/VERSION >>$config_mak
612 echo "" >>$config_mak
613 echo -n "#define QEMU_VERSION \"" >> $config_h
614 head $source_path/VERSION >> $config_h
615 echo "\"" >> $config_h
617 echo "SRC_PATH=$source_path" >> $config_mak
618 echo "TARGET_DIRS=$target_list" >> $config_mak
620 # XXX: suppress that
621 if [ "$bsd" = "yes" ] ; then
622 echo "#define O_LARGEFILE 0" >> $config_h
623 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
624 echo "#define _BSD 1" >> $config_h
627 for target in $target_list; do
629 target_dir="$target"
630 config_mak=$target_dir/config.mak
631 config_h=$target_dir/config.h
632 target_cpu=`echo $target | cut -d '-' -f 1`
633 target_bigendian="no"
634 [ "$target_cpu" = "armeb" ] && target_bigendian=yes
635 [ "$target_cpu" = "sparc" ] && target_bigendian=yes
636 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
637 [ "$target_cpu" = "ppc" ] && target_bigendian=yes
638 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
639 [ "$target_cpu" = "mips" ] && target_bigendian=yes
640 target_softmmu="no"
641 if expr $target : '.*-softmmu' > /dev/null ; then
642 target_softmmu="yes"
644 target_user_only="no"
645 if expr $target : '.*-user' > /dev/null ; then
646 target_user_only="yes"
649 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
650 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
651 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
652 echo "To build QEMU with graphical output configure with --disable-gfx-check"
653 echo "Note that this will disable all output from the virtual graphics card."
654 exit 1;
657 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
659 mkdir -p $target_dir
660 mkdir -p $target_dir/fpu
661 if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
662 mkdir -p $target_dir/nwfpe
664 if test "$target_user_only" = "no" ; then
665 mkdir -p $target_dir/slirp
668 ln -sf $source_path/Makefile.target $target_dir/Makefile
670 echo "# Automatically generated by configure - do not modify" > $config_mak
671 echo "/* Automatically generated by configure - do not modify */" > $config_h
674 echo "include ../config-host.mak" >> $config_mak
675 echo "#include \"../config-host.h\"" >> $config_h
677 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
678 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
680 if test "$target_cpu" = "i386" ; then
681 echo "TARGET_ARCH=i386" >> $config_mak
682 echo "#define TARGET_ARCH \"i386\"" >> $config_h
683 echo "#define TARGET_I386 1" >> $config_h
684 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
685 echo "#define USE_KQEMU 1" >> $config_h
687 elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
688 echo "TARGET_ARCH=arm" >> $config_mak
689 echo "#define TARGET_ARCH \"arm\"" >> $config_h
690 echo "#define TARGET_ARM 1" >> $config_h
691 elif test "$target_cpu" = "sparc" ; then
692 echo "TARGET_ARCH=sparc" >> $config_mak
693 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
694 echo "#define TARGET_SPARC 1" >> $config_h
695 elif test "$target_cpu" = "sparc64" ; then
696 echo "TARGET_ARCH=sparc64" >> $config_mak
697 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
698 echo "#define TARGET_SPARC 1" >> $config_h
699 echo "#define TARGET_SPARC64 1" >> $config_h
700 elif test "$target_cpu" = "ppc" ; then
701 echo "TARGET_ARCH=ppc" >> $config_mak
702 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
703 echo "#define TARGET_PPC 1" >> $config_h
704 elif test "$target_cpu" = "ppc64" ; then
705 echo "TARGET_ARCH=ppc64" >> $config_mak
706 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
707 echo "#define TARGET_PPC 1" >> $config_h
708 echo "#define TARGET_PPC64 1" >> $config_h
709 elif test "$target_cpu" = "x86_64" ; then
710 echo "TARGET_ARCH=x86_64" >> $config_mak
711 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
712 echo "#define TARGET_I386 1" >> $config_h
713 echo "#define TARGET_X86_64 1" >> $config_h
714 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
715 echo "#define USE_KQEMU 1" >> $config_h
717 elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
718 echo "TARGET_ARCH=mips" >> $config_mak
719 echo "#define TARGET_ARCH \"mips\"" >> $config_h
720 echo "#define TARGET_MIPS 1" >> $config_h
721 else
722 echo "Unsupported target CPU"
723 exit 1
725 if test "$target_bigendian" = "yes" ; then
726 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
727 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
729 if test "$target_softmmu" = "yes" ; then
730 echo "CONFIG_SOFTMMU=yes" >> $config_mak
731 echo "#define CONFIG_SOFTMMU 1" >> $config_h
733 if test "$target_user_only" = "yes" ; then
734 echo "CONFIG_USER_ONLY=yes" >> $config_mak
735 echo "#define CONFIG_USER_ONLY 1" >> $config_h
738 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
739 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
740 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
742 # sdl defines
744 if test "$target_user_only" = "no"; then
745 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
746 sdl1=$sdl_static
747 else
748 sdl1=$sdl
750 if test "$sdl1" = "yes" ; then
751 echo "#define CONFIG_SDL 1" >> $config_h
752 echo "CONFIG_SDL=yes" >> $config_mak
753 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
754 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
755 else
756 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
758 echo -n "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
759 if [ "${aa}" = "yes" ] ; then
760 echo -n " `aalib-config --cflags`" >> $config_mak ;
762 echo "" >> $config_mak
766 if test "$cocoa" = "yes" ; then
767 echo "#define CONFIG_COCOA 1" >> $config_h
768 echo "CONFIG_COCOA=yes" >> $config_mak
771 done # for target in $targets
773 # build tree in object directory if source path is different from current one
774 if test "$source_path_used" = "yes" ; then
775 DIRS="tests"
776 FILES="Makefile tests/Makefile"
777 for dir in $DIRS ; do
778 mkdir -p $dir
779 done
780 for f in $FILES ; do
781 ln -sf $source_path/$f $f
782 done
785 rm -f $TMPO $TMPC $TMPE $TMPS