Allow user to specify "install" utility.
[qemu/mini2440.git] / configure
blob6e5073b6f94d60cb860354875aece6ce9b1224be
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 install="install"
29 strip="strip"
30 cpu=`uname -m`
31 target_list=""
32 case "$cpu" in
33 i386|i486|i586|i686|i86pc|BePC)
34 cpu="i386"
36 armv*b)
37 cpu="armv4b"
39 armv*l)
40 cpu="armv4l"
42 alpha)
43 cpu="alpha"
45 "Power Macintosh"|ppc|ppc64)
46 cpu="powerpc"
48 mips)
49 cpu="mips"
51 s390)
52 cpu="s390"
54 sparc)
55 cpu="sparc"
57 sparc64)
58 cpu="sparc64"
60 ia64)
61 cpu="ia64"
63 m68k)
64 cpu="m68k"
66 x86_64|amd64)
67 cpu="x86_64"
70 cpu="unknown"
72 esac
73 gprof="no"
74 bigendian="no"
75 mingw32="no"
76 EXESUF=""
77 gdbstub="yes"
78 slirp="yes"
79 adlib="no"
80 oss="no"
81 dsound="no"
82 coreaudio="no"
83 alsa="no"
84 fmod="no"
85 fmod_lib=""
86 fmod_inc=""
87 bsd="no"
88 linux="no"
89 kqemu="no"
90 profiler="no"
91 kernel_path=""
92 cocoa="no"
93 check_gfx="yes"
94 check_gcc="yes"
95 softmmu="yes"
96 user="no"
98 # OS specific
99 targetos=`uname -s`
100 case $targetos in
101 CYGWIN*)
102 mingw32="yes"
103 CFLAGS="-O2 -mno-cygwin"
105 MINGW32*)
106 mingw32="yes"
108 FreeBSD)
109 bsd="yes"
110 oss="yes"
111 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
112 kqemu="yes"
115 NetBSD)
116 bsd="yes"
117 oss="yes"
119 OpenBSD)
120 bsd="yes"
121 oss="yes"
123 Darwin)
124 bsd="yes"
125 darwin="yes"
128 oss="yes"
129 linux="yes"
130 user="yes"
131 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
132 kqemu="yes"
135 esac
137 if [ "$bsd" = "yes" ] ; then
138 if [ "$darwin" != "yes" ] ; then
139 make="gmake"
143 # find source path
144 source_path=`dirname "$0"`
145 if [ -z "$source_path" ]; then
146 source_path=`pwd`
147 else
148 source_path=`cd "$source_path"; pwd`
150 if test "$source_path" = `pwd` ; then
151 source_path_used="no"
152 else
153 source_path_used="yes"
156 for opt do
157 optarg=`expr "$opt" : '[^=]*=\(.*\)'`
158 case "$opt" in
159 --help|-h) show_help=yes
161 --prefix=*) prefix="$optarg"
163 --interp-prefix=*) interp_prefix="$optarg"
165 --source-path=*) source_path="$optarg"
166 source_path_used="yes"
168 --cross-prefix=*) cross_prefix="$optarg"
170 --cc=*) cc="$optarg"
172 --host-cc=*) host_cc="$optarg"
174 --make=*) make="$optarg"
176 --install=*) install="$optarg"
178 --extra-cflags=*) CFLAGS="$optarg"
180 --extra-ldflags=*) LDFLAGS="$optarg"
182 --cpu=*) cpu="$optarg"
184 --target-list=*) target_list="$optarg"
186 --enable-gprof) gprof="yes"
188 --static) static="yes"
190 --disable-sdl) sdl="no"
192 --enable-coreaudio) coreaudio="yes"
194 --enable-alsa) alsa="yes"
196 --enable-dsound) dsound="yes"
198 --enable-fmod) fmod="yes"
200 --fmod-lib=*) fmod_lib="$optarg"
202 --fmod-inc=*) fmod_inc="$optarg"
204 --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
206 --disable-slirp) slirp="no"
208 --enable-adlib) adlib="yes"
210 --disable-kqemu) kqemu="no"
212 --enable-profiler) profiler="yes"
214 --kernel-path=*) kernel_path="$optarg"
216 --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
218 --disable-gfx-check) check_gfx="no"
220 --disable-gcc-check) check_gcc="no"
222 --disable-system) softmmu="no"
224 --enable-system) softmmu="yes"
226 --disable-user) user="no"
228 --enable-user) user="yes"
230 esac
231 done
233 # Checking for CFLAGS
234 if test -z "$CFLAGS"; then
235 CFLAGS="-O2"
238 if test x"$show_help" = x"yes" ; then
239 cat << EOF
241 Usage: configure [options]
242 Options: [defaults in brackets after descriptions]
245 echo "Standard options:"
246 echo " --help print this message"
247 echo " --prefix=PREFIX install in PREFIX [$prefix]"
248 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
249 echo " use %M for cpu name [$interp_prefix]"
250 echo " --target-list=LIST set target list [$target_list]"
251 echo ""
252 echo "kqemu kernel acceleration support:"
253 echo " --disable-kqemu disable kqemu support"
254 echo " --kernel-path=PATH set the kernel path (configure probes it)"
255 echo ""
256 echo "Advanced options (experts only):"
257 echo " --source-path=PATH path of source code [$source_path]"
258 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
259 echo " --cc=CC use C compiler CC [$cc]"
260 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
261 echo " --make=MAKE use specified make [$make]"
262 echo " --install=INSTALL use specified install [$install]"
263 echo " --static enable static build [$static]"
264 echo " --enable-cocoa enable COCOA (Mac OS X only)"
265 echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
266 echo " --enable-adlib enable Adlib emulation"
267 echo " --enable-coreaudio enable Coreaudio audio driver"
268 echo " --enable-alsa enable ALSA audio driver"
269 echo " --enable-fmod enable FMOD audio driver"
270 echo " --enabled-dsound enable DirectSound audio driver"
271 echo " --enable-system enable all system emulation targets"
272 echo " --disable-system disable all system emulation targets"
273 echo " --enable-user enable all linux usermode emulation targets"
274 echo " --disable-user disable all linux usermode emulation targets"
275 echo " --fmod-lib path to FMOD library"
276 echo " --fmod-inc path to FMOD includes"
277 echo ""
278 echo "NOTE: The object files are build at the place where configure is launched"
279 exit 1
282 cc="${cross_prefix}${cc}"
283 ar="${cross_prefix}${ar}"
284 strip="${cross_prefix}${strip}"
286 if test "$mingw32" = "yes" ; then
287 linux="no"
288 EXESUF=".exe"
289 gdbstub="no"
290 oss="no"
291 if [ "$cpu" = "i386" ] ; then
292 kqemu="yes"
296 if test -z "$target_list" ; then
297 # these targets are portable
298 if [ "$softmmu" = "yes" ] ; then
299 target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"
301 # the following are Linux specific
302 if [ "$user" = "yes" ] ; then
303 target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
305 else
306 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
308 if test -z "$target_list" ; then
309 echo "No targets enabled"
310 exit 1
313 if test -z "$cross_prefix" ; then
315 # ---
316 # big/little endian test
317 cat > $TMPC << EOF
318 #include <inttypes.h>
319 int main(int argc, char ** argv){
320 volatile uint32_t i=0x01234567;
321 return (*((uint8_t*)(&i))) == 0x67;
325 if $cc -o $TMPE $TMPC 2>/dev/null ; then
326 $TMPE && bigendian="yes"
327 else
328 echo big/little test failed
331 else
333 # if cross compiling, cannot launch a program, so make a static guess
334 if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
335 bigendian="yes"
340 # host long bits test
341 hostlongbits="32"
342 if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
343 hostlongbits="64"
346 # check gcc options support
347 cat > $TMPC <<EOF
348 int main(void) {
352 have_gcc3_options="no"
353 if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
354 have_gcc3_options="yes"
357 # Check for gcc4, error if pre-gcc4
358 if test "$check_gcc" = "yes" ; then
359 cat > $TMPC <<EOF
360 #if __GNUC__ < 4
361 #error gcc3
362 #endif
363 int main(){return 0;}
365 if $cc -o $TMPO $TMPC 2>/dev/null ; then
366 echo "ERROR: \"$cc\" looks like gcc 4.x"
367 echo "QEMU is known to have problems when compiled with gcc 4.x"
368 echo "It is recommended that you use gcc 3.x to build QEMU"
369 echo "To use this compiler anyway, configure with --disable-gcc-check"
370 exit 1;
374 ##########################################
375 # SDL probe
377 sdl_too_old=no
379 if test -z "$sdl" ; then
381 sdl_config="sdl-config"
382 sdl=no
383 sdl_static=no
385 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
386 # win32 cross compilation case
387 sdl_config="i386-mingw32msvc-sdl-config"
388 sdl=yes
389 else
390 # normal SDL probe
391 cat > $TMPC << EOF
392 #include <SDL.h>
393 #undef main /* We don't want SDL to override our main() */
394 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
397 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
398 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
399 if test "$_sdlversion" -lt 121 ; then
400 sdl_too_old=yes
401 else
402 sdl=yes
405 # static link with sdl ?
406 if test "$sdl" = "yes" ; then
407 aa="no"
408 `$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
409 sdl_static_libs=`$sdl_config --static-libs`
410 if [ "$aa" = "yes" ] ; then
411 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
414 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
415 sdl_static=yes
418 fi # static link
420 fi # sdl compile test
422 fi # cross compilation
423 fi # -z $sdl
425 if test "$mingw32" = "yes" ; then
426 if test -z "$prefix" ; then
427 prefix="/c/Program Files/Qemu"
429 mandir="$prefix"
430 datadir="$prefix"
431 docdir="$prefix"
432 bindir="$prefix"
433 else
434 if test -z "$prefix" ; then
435 prefix="/usr/local"
437 mandir="$prefix/share/man"
438 datadir="$prefix/share/qemu"
439 docdir="$prefix/share/doc/qemu"
440 bindir="$prefix/bin"
443 echo "Install prefix $prefix"
444 echo "BIOS directory $datadir"
445 echo "binary directory $bindir"
446 if test "$mingw32" = "no" ; then
447 echo "Manual directory $mandir"
448 echo "ELF interp prefix $interp_prefix"
450 echo "Source path $source_path"
451 echo "C compiler $cc"
452 echo "Host C compiler $host_cc"
453 echo "make $make"
454 echo "install $install"
455 echo "host CPU $cpu"
456 echo "host big endian $bigendian"
457 echo "target list $target_list"
458 echo "gprof enabled $gprof"
459 echo "profiler $profiler"
460 echo "static build $static"
461 if test "$darwin" = "yes" ; then
462 echo "Cocoa support $cocoa"
464 echo "SDL support $sdl"
465 if test "$sdl" != "no" ; then
466 echo "SDL static link $sdl_static"
468 echo "mingw32 support $mingw32"
469 echo "Adlib support $adlib"
470 echo "CoreAudio support $coreaudio"
471 echo "ALSA support $alsa"
472 echo "DSound support $dsound"
473 if test "$fmod" = "yes"; then
474 if test -z $fmod_lib || test -z $fmod_inc; then
475 echo
476 echo "Error: You must specify path to FMOD library and headers"
477 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
478 echo
479 exit 1
481 fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
482 else
483 fmod_support=""
485 echo "FMOD support $fmod $fmod_support"
486 echo "kqemu support $kqemu"
488 if test $sdl_too_old = "yes"; then
489 echo "-> Your SDL version is too old - please upgrade to have SDL support"
491 #if test "$sdl_static" = "no"; then
492 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
494 config_mak="config-host.mak"
495 config_h="config-host.h"
497 #echo "Creating $config_mak and $config_h"
499 echo "# Automatically generated by configure - do not modify" > $config_mak
500 echo "# Configured with: $0 $@" >> $config_mak
501 echo "/* Automatically generated by configure - do not modify */" > $config_h
503 echo "prefix=$prefix" >> $config_mak
504 echo "bindir=$bindir" >> $config_mak
505 echo "mandir=$mandir" >> $config_mak
506 echo "datadir=$datadir" >> $config_mak
507 echo "docdir=$docdir" >> $config_mak
508 echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
509 echo "MAKE=$make" >> $config_mak
510 echo "INSTALL=$install" >> $config_mak
511 echo "CC=$cc" >> $config_mak
512 if test "$have_gcc3_options" = "yes" ; then
513 echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
515 echo "HOST_CC=$host_cc" >> $config_mak
516 echo "AR=$ar" >> $config_mak
517 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
518 echo "CFLAGS=$CFLAGS" >> $config_mak
519 echo "LDFLAGS=$LDFLAGS" >> $config_mak
520 echo "EXESUF=$EXESUF" >> $config_mak
521 if test "$cpu" = "i386" ; then
522 echo "ARCH=i386" >> $config_mak
523 echo "#define HOST_I386 1" >> $config_h
524 elif test "$cpu" = "x86_64" ; then
525 echo "ARCH=x86_64" >> $config_mak
526 echo "#define HOST_X86_64 1" >> $config_h
527 elif test "$cpu" = "armv4b" ; then
528 echo "ARCH=arm" >> $config_mak
529 echo "#define HOST_ARM 1" >> $config_h
530 elif test "$cpu" = "armv4l" ; then
531 echo "ARCH=arm" >> $config_mak
532 echo "#define HOST_ARM 1" >> $config_h
533 elif test "$cpu" = "powerpc" ; then
534 echo "ARCH=ppc" >> $config_mak
535 echo "#define HOST_PPC 1" >> $config_h
536 elif test "$cpu" = "mips" ; then
537 echo "ARCH=mips" >> $config_mak
538 echo "#define HOST_MIPS 1" >> $config_h
539 elif test "$cpu" = "s390" ; then
540 echo "ARCH=s390" >> $config_mak
541 echo "#define HOST_S390 1" >> $config_h
542 elif test "$cpu" = "alpha" ; then
543 echo "ARCH=alpha" >> $config_mak
544 echo "#define HOST_ALPHA 1" >> $config_h
545 elif test "$cpu" = "sparc" ; then
546 echo "ARCH=sparc" >> $config_mak
547 echo "#define HOST_SPARC 1" >> $config_h
548 elif test "$cpu" = "sparc64" ; then
549 echo "ARCH=sparc64" >> $config_mak
550 echo "#define HOST_SPARC64 1" >> $config_h
551 elif test "$cpu" = "ia64" ; then
552 echo "ARCH=ia64" >> $config_mak
553 echo "#define HOST_IA64 1" >> $config_h
554 elif test "$cpu" = "m68k" ; then
555 echo "ARCH=m68k" >> $config_mak
556 echo "#define HOST_M68K 1" >> $config_h
557 else
558 echo "Unsupported CPU"
559 exit 1
561 if test "$bigendian" = "yes" ; then
562 echo "WORDS_BIGENDIAN=yes" >> $config_mak
563 echo "#define WORDS_BIGENDIAN 1" >> $config_h
565 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
566 if test "$mingw32" = "yes" ; then
567 echo "CONFIG_WIN32=yes" >> $config_mak
568 echo "#define CONFIG_WIN32 1" >> $config_h
569 elif test -f "/usr/include/byteswap.h" ; then
570 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
572 if test "$darwin" = "yes" ; then
573 echo "CONFIG_DARWIN=yes" >> $config_mak
574 echo "#define CONFIG_DARWIN 1" >> $config_h
576 if test "$gdbstub" = "yes" ; then
577 echo "CONFIG_GDBSTUB=yes" >> $config_mak
578 echo "#define CONFIG_GDBSTUB 1" >> $config_h
580 if test "$gprof" = "yes" ; then
581 echo "TARGET_GPROF=yes" >> $config_mak
582 echo "#define HAVE_GPROF 1" >> $config_h
584 if test "$static" = "yes" ; then
585 echo "CONFIG_STATIC=yes" >> $config_mak
586 echo "#define CONFIG_STATIC 1" >> $config_h
588 if test $profiler = "yes" ; then
589 echo "#define CONFIG_PROFILER 1" >> $config_h
591 if test "$slirp" = "yes" ; then
592 echo "CONFIG_SLIRP=yes" >> $config_mak
593 echo "#define CONFIG_SLIRP 1" >> $config_h
595 if test "$adlib" = "yes" ; then
596 echo "CONFIG_ADLIB=yes" >> $config_mak
597 echo "#define CONFIG_ADLIB 1" >> $config_h
599 if test "$oss" = "yes" ; then
600 echo "CONFIG_OSS=yes" >> $config_mak
601 echo "#define CONFIG_OSS 1" >> $config_h
603 if test "$coreaudio" = "yes" ; then
604 echo "CONFIG_COREAUDIO=yes" >> $config_mak
605 echo "#define CONFIG_COREAUDIO 1" >> $config_h
607 if test "$alsa" = "yes" ; then
608 echo "CONFIG_ALSA=yes" >> $config_mak
609 echo "#define CONFIG_ALSA 1" >> $config_h
611 if test "$dsound" = "yes" ; then
612 echo "CONFIG_DSOUND=yes" >> $config_mak
613 echo "#define CONFIG_DSOUND 1" >> $config_h
615 if test "$fmod" = "yes" ; then
616 echo "CONFIG_FMOD=yes" >> $config_mak
617 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
618 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
619 echo "#define CONFIG_FMOD 1" >> $config_h
621 qemu_version=`head $source_path/VERSION`
622 echo "VERSION=$qemu_version" >>$config_mak
623 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
625 echo "SRC_PATH=$source_path" >> $config_mak
626 if [ "$source_path_used" = "yes" ]; then
627 echo "VPATH=$source_path" >> $config_mak
629 echo "TARGET_DIRS=$target_list" >> $config_mak
631 # XXX: suppress that
632 if [ "$bsd" = "yes" ] ; then
633 echo "#define O_LARGEFILE 0" >> $config_h
634 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
635 echo "#define _BSD 1" >> $config_h
638 for target in $target_list; do
639 target_dir="$target"
640 config_mak=$target_dir/config.mak
641 config_h=$target_dir/config.h
642 target_cpu=`echo $target | cut -d '-' -f 1`
643 target_bigendian="no"
644 [ "$target_cpu" = "armeb" ] && target_bigendian=yes
645 [ "$target_cpu" = "sparc" ] && target_bigendian=yes
646 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
647 [ "$target_cpu" = "ppc" ] && target_bigendian=yes
648 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
649 [ "$target_cpu" = "mips" ] && target_bigendian=yes
650 target_softmmu="no"
651 if expr $target : '.*-softmmu' > /dev/null ; then
652 target_softmmu="yes"
654 target_user_only="no"
655 if expr $target : '.*-user' > /dev/null ; then
656 target_user_only="yes"
659 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
660 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
661 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
662 echo "To build QEMU without graphical output configure with --disable-gfx-check"
663 echo "Note that this will disable all output from the virtual graphics card."
664 exit 1;
667 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
669 mkdir -p $target_dir
670 mkdir -p $target_dir/fpu
671 if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
672 mkdir -p $target_dir/nwfpe
674 if test "$target_user_only" = "no" ; then
675 mkdir -p $target_dir/slirp
678 ln -sf $source_path/Makefile.target $target_dir/Makefile
680 echo "# Automatically generated by configure - do not modify" > $config_mak
681 echo "/* Automatically generated by configure - do not modify */" > $config_h
684 echo "include ../config-host.mak" >> $config_mak
685 echo "#include \"../config-host.h\"" >> $config_h
687 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
688 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
690 if test "$target_cpu" = "i386" ; then
691 echo "TARGET_ARCH=i386" >> $config_mak
692 echo "#define TARGET_ARCH \"i386\"" >> $config_h
693 echo "#define TARGET_I386 1" >> $config_h
694 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
695 echo "#define USE_KQEMU 1" >> $config_h
697 elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
698 echo "TARGET_ARCH=arm" >> $config_mak
699 echo "#define TARGET_ARCH \"arm\"" >> $config_h
700 echo "#define TARGET_ARM 1" >> $config_h
701 elif test "$target_cpu" = "sparc" ; then
702 echo "TARGET_ARCH=sparc" >> $config_mak
703 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
704 echo "#define TARGET_SPARC 1" >> $config_h
705 elif test "$target_cpu" = "sparc64" ; then
706 echo "TARGET_ARCH=sparc64" >> $config_mak
707 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
708 echo "#define TARGET_SPARC 1" >> $config_h
709 echo "#define TARGET_SPARC64 1" >> $config_h
710 elif test "$target_cpu" = "ppc" ; then
711 echo "TARGET_ARCH=ppc" >> $config_mak
712 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
713 echo "#define TARGET_PPC 1" >> $config_h
714 elif test "$target_cpu" = "ppc64" ; then
715 echo "TARGET_ARCH=ppc64" >> $config_mak
716 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
717 echo "#define TARGET_PPC 1" >> $config_h
718 echo "#define TARGET_PPC64 1" >> $config_h
719 elif test "$target_cpu" = "x86_64" ; then
720 echo "TARGET_ARCH=x86_64" >> $config_mak
721 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
722 echo "#define TARGET_I386 1" >> $config_h
723 echo "#define TARGET_X86_64 1" >> $config_h
724 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
725 echo "#define USE_KQEMU 1" >> $config_h
727 elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
728 echo "TARGET_ARCH=mips" >> $config_mak
729 echo "#define TARGET_ARCH \"mips\"" >> $config_h
730 echo "#define TARGET_MIPS 1" >> $config_h
731 else
732 echo "Unsupported target CPU"
733 exit 1
735 if test "$target_bigendian" = "yes" ; then
736 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
737 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
739 if test "$target_softmmu" = "yes" ; then
740 echo "CONFIG_SOFTMMU=yes" >> $config_mak
741 echo "#define CONFIG_SOFTMMU 1" >> $config_h
743 if test "$target_user_only" = "yes" ; then
744 echo "CONFIG_USER_ONLY=yes" >> $config_mak
745 echo "#define CONFIG_USER_ONLY 1" >> $config_h
748 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
749 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
750 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
752 # sdl defines
754 if test "$target_user_only" = "no"; then
755 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
756 sdl1=$sdl_static
757 else
758 sdl1=$sdl
760 if test "$sdl1" = "yes" ; then
761 echo "#define CONFIG_SDL 1" >> $config_h
762 echo "CONFIG_SDL=yes" >> $config_mak
763 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
764 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
765 else
766 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
768 if [ "${aa}" = "yes" ] ; then
769 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
770 else
771 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
776 if test "$cocoa" = "yes" ; then
777 echo "#define CONFIG_COCOA 1" >> $config_h
778 echo "CONFIG_COCOA=yes" >> $config_mak
781 done # for target in $targets
783 # build tree in object directory if source path is different from current one
784 if test "$source_path_used" = "yes" ; then
785 DIRS="tests"
786 FILES="Makefile tests/Makefile"
787 for dir in $DIRS ; do
788 mkdir -p $dir
789 done
790 for f in $FILES ; do
791 ln -sf $source_path/$f $f
792 done
795 rm -f $TMPO $TMPC $TMPE $TMPS