3 # qemu configure script (c) 2003 Fabrice Bellard
5 # set temporary file name
6 if test ! -z "$TMPDIR" ; then
8 elif test ! -z "$TEMPDIR" ; then
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 TMPI
="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
22 interp_prefix
="/usr/gnemul/qemu-%M"
27 gcc3_list
="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
35 cpu
=`test $(uname -s) = AIX && uname -p || uname -m`
38 i386|i486|i586|i686|i86pc|BePC
)
71 "Power Macintosh"|ppc|ppc64|powerpc
)
127 OS_CFLAGS
="-mno-cygwin"
128 if [ "$cpu" = "i386" ] ; then
131 audio_possible_drivers
="sdl"
135 if [ "$cpu" = "i386" ] ; then
138 audio_possible_drivers
="dsound sdl fmod"
142 audio_possible_drivers
="oss sdl esd pa"
143 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
150 audio_possible_drivers
="oss sdl esd pa"
152 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
159 audio_possible_drivers
="oss sdl esd"
161 aio_lib
="-lrt -lpthread"
167 audio_possible_drivers
="oss sdl esd"
176 audio_drv_list
="coreaudio"
177 audio_possible_drivers
="coreaudio sdl fmod"
178 OS_CFLAGS
="-mdynamic-no-pic"
179 OS_LDFLAGS
="-framework CoreFoundation -framework IOKit"
186 needs_libsunmath
="no"
187 solarisrev
=`uname -r | cut -f2 -d.`
188 # have to select again, because `uname -m` returns i86pc
189 # even on an x86_64 box.
190 solariscpu
=`isainfo -k`
191 if test "${solariscpu}" = "amd64" ; then
194 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
195 if test "$solarisrev" -le 9 ; then
196 if test -f /opt
/SUNWspro
/prod
/lib
/libsunmath.so
.1; then
197 needs_libsunmath
="yes"
199 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
200 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
201 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
202 echo "Studio 11 can be downloaded from www.sun.com."
206 if test "$solarisrev" -ge 9 ; then
210 if test -f /usr
/include
/sys
/soundcard.h
; then
213 audio_possible_drivers
="oss sdl"
221 audio_possible_drivers
="oss alsa sdl esd pa"
225 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
227 audio_possible_drivers
="$audio_possible_drivers fmod"
232 if [ "$bsd" = "yes" ] ; then
233 if [ "$darwin" != "yes" ] ; then
241 source_path
=`dirname "$0"`
242 source_path_used
="no"
244 if [ -z "$source_path" ]; then
247 source_path
=`cd "$source_path"; pwd`
249 [ -f "$workdir/vl.c" ] || source_path_used
="yes"
252 # generate compile errors on warnings for development builds
253 #if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
258 optarg
=`expr "x$opt" : 'x[^=]*=\(.*\)'`
260 --help|
-h) show_help
=yes
262 --prefix=*) prefix
="$optarg"
264 --interp-prefix=*) interp_prefix
="$optarg"
266 --source-path=*) source_path
="$optarg"
267 source_path_used
="yes"
269 --cross-prefix=*) cross_prefix
="$optarg"
274 --host-cc=*) host_cc
="$optarg"
276 --make=*) make="$optarg"
278 --install=*) install="$optarg"
280 --extra-cflags=*) CFLAGS
="$optarg"
282 --extra-ldflags=*) LDFLAGS
="$optarg"
284 --cpu=*) cpu
="$optarg"
286 --target-list=*) target_list
="$optarg"
288 --enable-gprof) gprof
="yes"
290 --static) static
="yes"
292 --disable-sdl) sdl
="no"
294 --fmod-lib=*) fmod_lib
="$optarg"
296 --fmod-inc=*) fmod_inc
="$optarg"
298 --oss-lib=*) oss_lib
="$optarg"
300 --audio-card-list=*) audio_card_list
=`echo "$optarg" | sed -e 's/,/ /g'`
302 --audio-drv-list=*) audio_drv_list
="$optarg"
304 --enable-sparse) sparse
="yes"
306 --disable-sparse) sparse
="no"
308 --disable-vnc-tls) vnc_tls
="no"
310 --disable-slirp) slirp
="no"
312 --disable-vde) vde
="no"
314 --disable-kqemu) kqemu
="no"
316 --disable-brlapi) brlapi
="no"
318 --disable-bluez) bluez
="no"
320 --disable-kvm) kvm
="no"
322 --enable-profiler) profiler
="yes"
327 audio_drv_list
="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
329 --disable-gfx-check) check_gfx
="no"
331 --disable-gcc-check) check_gcc
="no"
333 --disable-system) softmmu
="no"
335 --enable-system) softmmu
="yes"
337 --disable-linux-user) linux_user
="no"
339 --enable-linux-user) linux_user
="yes"
341 --disable-darwin-user) darwin_user
="no"
343 --enable-darwin-user) darwin_user
="yes"
345 --disable-bsd-user) bsd_user
="no"
347 --enable-bsd-user) bsd_user
="yes"
349 --enable-uname-release=*) uname_release
="$optarg"
354 v7|v8
) SP_CFLAGS
="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS
="-m32"
355 target_cpu
="sparc"; cpu
="sparc" ;;
356 v8plus|v8plusa
) SP_CFLAGS
="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS
="-m32"
357 target_cpu
="sparc"; cpu
="sparc" ;;
358 v9
) SP_CFLAGS
="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS
="-m64"
359 target_cpu
="sparc64"; cpu
="sparc64" ;;
360 *) echo "undefined SPARC architecture. Exiting";exit 1;;
363 --enable-werror) werror
="yes"
365 --disable-werror) werror
="no"
367 --disable-curses) curses
="no"
369 --disable-nptl) nptl
="no"
371 --enable-mixemu) mixemu
="yes"
373 --disable-aio) aio
="no"
375 --kerneldir=*) kerneldir
="$optarg"
377 *) echo "ERROR: unknown option $opt"; show_help
="yes"
382 # default flags for all hosts
383 CFLAGS
="$CFLAGS -O2 -g -fno-strict-aliasing"
384 CFLAGS
="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings"
385 LDFLAGS
="$LDFLAGS -g"
386 if test "$werror" = "yes" ; then
387 CFLAGS
="$CFLAGS -Werror"
390 if test "$solaris" = "no" ; then
391 if ld
--version 2>/dev
/null |
grep "GNU ld" >/dev
/null
2>/dev
/null
; then
392 LDFLAGS
="$LDFLAGS -Wl,--warn-common"
397 # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
398 # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
401 sparc
) if test -z "$sparc_cpu" ; then
402 ARCH_CFLAGS
="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
405 ARCH_CFLAGS
="${SP_CFLAGS}"
406 ARCH_LDFLAGS
="${SP_LDFLAGS}"
409 sparc64
) if test -z "$sparc_cpu" ; then
410 ARCH_CFLAGS
="-m64 -mcpu=ultrasparc -D__sparc_v9__"
413 ARCH_CFLAGS
="${SP_CFLAGS}"
414 ARCH_LDFLAGS
="${SP_LDFLAGS}"
418 ARCH_CFLAGS
="-march=z900"
430 if test x
"$show_help" = x
"yes" ; then
433 Usage: configure [options]
434 Options: [defaults in brackets after descriptions]
437 echo "Standard options:"
438 echo " --help print this message"
439 echo " --prefix=PREFIX install in PREFIX [$prefix]"
440 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
441 echo " use %M for cpu name [$interp_prefix]"
442 echo " --target-list=LIST set target list [$target_list]"
444 echo "kqemu kernel acceleration support:"
445 echo " --disable-kqemu disable kqemu support"
447 echo "Advanced options (experts only):"
448 echo " --source-path=PATH path of source code [$source_path]"
449 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
450 echo " --cc=CC use C compiler CC [$cc]"
451 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
452 echo " --make=MAKE use specified make [$make]"
453 echo " --install=INSTALL use specified install [$install]"
454 echo " --static enable static build [$static]"
455 echo " --enable-sparse enable sparse checker"
456 echo " --disable-sparse disable sparse checker (default)"
457 echo " --disable-werror disable compilation abort on warning"
458 echo " --disable-sdl disable SDL"
459 echo " --enable-cocoa enable COCOA (Mac OS X only)"
460 echo " --audio-drv-list=LIST set audio drivers list:"
461 echo " Available drivers: $audio_possible_drivers"
462 echo " --audio-card-list=LIST set list of additional emulated audio cards"
463 echo " Available cards: ac97 adlib cs4231a gus"
464 echo " --enable-mixemu enable mixer emulation"
465 echo " --disable-brlapi disable BrlAPI"
466 echo " --disable-vnc-tls disable TLS encryption for VNC server"
467 echo " --disable-curses disable curses output"
468 echo " --disable-bluez disable bluez stack connectivity"
469 echo " --disable-kvm disable KVM acceleration support"
470 echo " --disable-nptl disable usermode NPTL support"
471 echo " --enable-system enable all system emulation targets"
472 echo " --disable-system disable all system emulation targets"
473 echo " --enable-linux-user enable all linux usermode emulation targets"
474 echo " --disable-linux-user disable all linux usermode emulation targets"
475 echo " --enable-darwin-user enable all darwin usermode emulation targets"
476 echo " --disable-darwin-user disable all darwin usermode emulation targets"
477 echo " --enable-bsd-user enable all BSD usermode emulation targets"
478 echo " --disable-bsd-user disable all BSD usermode emulation targets"
479 echo " --fmod-lib path to FMOD library"
480 echo " --fmod-inc path to FMOD includes"
481 echo " --oss-lib path to OSS library"
482 echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
483 echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
484 echo " --disable-vde disable support for vde network"
485 echo " --disable-aio disable AIO support"
486 echo " --kerneldir=PATH look for kernel includes in PATH"
488 echo "NOTE: The object files are built at the place where configure is launched"
492 cc
="${cross_prefix}${cc}"
493 ar="${cross_prefix}${ar}"
494 strip
="${cross_prefix}${strip}"
496 # check that the C compiler works.
501 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev
/null
; then
502 : C compiler works ok
504 echo "ERROR: \"$cc\" either does not exist or does not work"
508 # check compiler to see if we're on mingw32
517 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev
/null
; then
521 if test "$mingw32" = "yes" ; then
529 if [ "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
531 elif [ "$bsd" = "yes" ]; then
534 # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
535 AIOLIBS
="-lrt -lpthread"
538 # Check for gcc4, error if pre-gcc4
539 if test "$check_gcc" = "yes" ; then
544 int main(){return 0;}
546 if "$cc" $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev
/null
; then
547 echo "WARNING: \"$cc\" looks like gcc 4.x"
549 if test "$gcc3_search" = "yes" ; then
550 echo "Looking for gcc 3.x"
551 for compat_cc
in $gcc3_list ; do
552 if "$cross_prefix$compat_cc" --version 2> /dev
/null | fgrep
'(GCC) 3.' > /dev
/null
2>&1 ; then
553 echo "Found \"$compat_cc\""
554 cc
="$cross_prefix$compat_cc"
555 found_compat_cc
="yes"
559 if test "$found_compat_cc" = "no" ; then
560 echo "gcc 3.x not found!"
563 if test "$found_compat_cc" = "no" ; then
564 echo "QEMU is known to have problems when compiled with gcc 4.x"
565 echo "It is recommended that you use gcc 3.x to build QEMU"
566 echo "To use this compiler anyway, configure with --disable-gcc-check"
572 if test ! -x "$(which cgcc 2>/dev/null)"; then
577 # Solaris specific configure tool chain decisions
579 if test "$solaris" = "yes" ; then
581 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
582 # override the check with --disable-gcc-check
584 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
586 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
587 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
588 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
589 echo "or get the latest patch from SunSolve for gcc"
593 solinst
=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
594 if test -z "$solinst" ; then
595 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
596 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
597 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
600 if test "$solinst" = "/usr/sbin/install" ; then
601 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
602 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
603 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
606 sol_ar
=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
607 if test -z "$sol_ar" ; then
608 echo "Error: No path includes ar"
609 if test -f /usr
/ccs
/bin
/ar ; then
610 echo "Add /usr/ccs/bin to your path and rerun configure"
617 if test -z "$target_list" ; then
618 # these targets are portable
619 if [ "$softmmu" = "yes" ] ; then
638 # the following are Linux specific
639 if [ "$linux_user" = "yes" ] ; then
640 target_list
="${target_list}\
652 ppc64abi32-linux-user \
657 sparc32plus-linux-user \
660 # the following are Darwin specific
661 if [ "$darwin_user" = "yes" ] ; then
662 target_list
="$target_list i386-darwin-user ppc-darwin-user"
664 # the following are BSD specific
665 if [ "$bsd_user" = "yes" ] ; then
666 target_list
="${target_list}\
671 target_list
=`echo "$target_list" | sed -e 's/,/ /g'`
673 if test -z "$target_list" ; then
674 echo "No targets enabled"
678 if test -z "$cross_prefix" ; then
681 # big/little endian test
683 #include <inttypes.h>
684 int main(int argc, char ** argv){
685 volatile uint32_t i=0x01234567;
686 return (*((uint8_t*)(&i))) == 0x67;
690 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev
/null
; then
691 $TMPE && bigendian
="yes"
693 echo big
/little
test failed
698 # if cross compiling, cannot launch a program, so make a static guess
699 if test "$cpu" = "armv4b" \
703 -o "$cpu" = "mips64" \
704 -o "$cpu" = "powerpc" \
706 -o "$cpu" = "sparc" \
707 -o "$cpu" = "sparc64"; then
713 # host long bits test
715 if test "$cpu" = "x86_64" \
716 -o "$cpu" = "alpha" \
718 -o "$cpu" = "sparc64"; then
722 # ppc specific hostlongbits selection
723 if test "$cpu" = "powerpc" ; then
724 if $cc $ARCH_CFLAGS -dM -E - -o $TMPI 2>/dev
/null
</dev
/null
; then
725 grep -q __powerpc64__
$TMPI && hostlongbits
=64
727 echo hostlongbits
test failed
732 # check gcc options support
738 # Check host NPTL support
741 #include <linux/futex.h>
744 #if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
750 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev
/null
; then
756 ##########################################
761 int main(void) { zlibVersion(); return 0; }
763 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz 2> /dev
/null
; then
767 echo "Error: zlib check failed"
768 echo "Make sure to have the zlib libs and headers installed."
773 ##########################################
778 if test -z "$sdl" ; then
779 sdl_config
="sdl-config"
785 #undef main /* We don't want SDL to override our main() */
786 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
788 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
789 _sdlversion
=`$sdl_config --version | sed 's/[^0-9]//g'`
790 if test "$_sdlversion" -lt 121 ; then
793 if test "$cocoa" = "no" ; then
798 # static link with sdl ?
799 if test "$sdl" = "yes" ; then
801 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa
="yes"
802 sdl_static_libs
=`$sdl_config --static-libs 2>/dev/null`
803 if [ "$aa" = "yes" ] ; then
804 sdl_static_libs
="$sdl_static_libs `aalib-config --static-libs`"
807 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev
/null
; then
811 fi # sdl compile test
813 # Make sure to disable cocoa if sdl was set
814 if test "$sdl" = "yes" ; then
816 audio_drv_list
="`echo $audio_drv_list | sed s,coreaudio,,g`"
820 ##########################################
822 if test "$vnc_tls" = "yes" ; then
824 #include <gnutls/gnutls.h>
825 int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
827 vnc_tls_cflags
=`pkg-config --cflags gnutls 2> /dev/null`
828 vnc_tls_libs
=`pkg-config --libs gnutls 2> /dev/null`
829 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \
830 $vnc_tls_libs 2> /dev
/null
; then
837 ##########################################
838 # vde libraries probe
839 if test "$vde" = "yes" ; then
841 #include <libvdeplug.h>
844 struct vde_open_args a = {0, 0, 0};
845 vde_open("", "", &a);
849 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug 2> /dev
/null
; then
856 ##########################################
857 # Sound support libraries probe
868 int main(void) { $exp }
870 if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib 2> /dev
/null
; then
874 echo "Error: $drv check failed"
875 echo "Make sure to have the $drv libs and headers installed."
881 audio_drv_list
=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
882 for drv
in $audio_drv_list; do
885 audio_drv_probe
$drv alsa
/asoundlib.h
-lasound \
886 "snd_pcm_t **handle; return snd_pcm_close(*handle);"
890 if test -z $fmod_lib ||
test -z $fmod_inc; then
892 echo "Error: You must specify path to FMOD library and headers"
893 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
897 audio_drv_probe
$drv fmod.h
$fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
901 audio_drv_probe
$drv esd.h
-lesd 'return esd_play_stream(0, 0, "", 0);'
905 audio_drv_probe
$drv pulse
/simple.h
-lpulse-simple \
906 "pa_simple *s = NULL; pa_simple_free(s); return 0;"
909 oss|sdl|core|wav|dsound
)
910 # XXX: Probes for CoreAudio, DirectSound, SDL(?)
914 echo "$audio_possible_drivers" |
grep -q "\<$drv\>" ||
{
916 echo "Error: Unknown driver '$drv' selected"
917 echo "Possible drivers are: $audio_possible_drivers"
925 ##########################################
928 if test -z "$brlapi" ; then
932 int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
934 if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi 2> /dev
/null
; then
936 fi # brlapi compile test
939 ##########################################
942 if test "$curses" = "yes" ; then
946 int main(void) { return curses_version(); }
948 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses 2> /dev
/null
; then
953 ##########################################
954 # bluez support probe
955 if test "$bluez" = "yes" ; then
956 `pkg-config bluez` || bluez
="no"
958 if test "$bluez" = "yes" ; then
960 #include <bluetooth/bluetooth.h>
961 int main(void) { return bt_error(0); }
963 bluez_cflags
=`pkg-config --cflags bluez`
964 bluez_libs
=`pkg-config --libs bluez`
965 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \
966 $bluez_libs 2> /dev
/null
; then
973 ##########################################
975 if test "$kvm" = "yes" ; then
977 #include <linux/kvm.h>
978 #if !defined(KVM_API_VERSION) || \
979 KVM_API_VERSION < 12 || \
980 KVM_API_VERSION > 12 || \
981 !defined(KVM_CAP_USER_MEMORY) || \
982 !defined(KVM_CAP_SET_TSS_ADDR)
983 #error Invalid KVM version
985 int main(void) { return 0; }
987 if test "$kerneldir" != "" ; then
988 kvm_cflags
=-I"$kerneldir"/include
992 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC \
1000 ##########################################
1002 if test "$aio" = "yes" ; then
1006 int main(void) { return aio_write(NULL); }
1008 if $cc $ARCH_CFLAGS -o $TMPE $AIOLIBS $TMPC 2> /dev
/null
; then
1013 # Check if tools are available to build documentation.
1014 if [ -x "`which texi2html 2>/dev/null`" ] && \
1015 [ -x "`which pod2man 2>/dev/null`" ]; then
1019 if test "$mingw32" = "yes" ; then
1020 if test -z "$prefix" ; then
1021 prefix
="c:\\\\Program Files\\\\Qemu"
1028 if test -z "$prefix" ; then
1031 mansuffix
="/share/man"
1032 datasuffix
="/share/qemu"
1033 docsuffix
="/share/doc/qemu"
1037 echo "Install prefix $prefix"
1038 echo "BIOS directory $prefix$datasuffix"
1039 echo "binary directory $prefix$binsuffix"
1040 if test "$mingw32" = "no" ; then
1041 echo "Manual directory $prefix$mansuffix"
1042 echo "ELF interp prefix $interp_prefix"
1044 echo "Source path $source_path"
1045 echo "C compiler $cc"
1046 echo "Host C compiler $host_cc"
1047 echo "ARCH_CFLAGS $ARCH_CFLAGS"
1049 echo "install $install"
1050 echo "host CPU $cpu"
1051 echo "host big endian $bigendian"
1052 echo "target list $target_list"
1053 echo "gprof enabled $gprof"
1054 echo "sparse enabled $sparse"
1055 echo "profiler $profiler"
1056 echo "static build $static"
1057 echo "-Werror enabled $werror"
1058 if test "$darwin" = "yes" ; then
1059 echo "Cocoa support $cocoa"
1061 echo "SDL support $sdl"
1062 if test "$sdl" != "no" ; then
1063 echo "SDL static link $sdl_static"
1065 echo "curses support $curses"
1066 echo "mingw32 support $mingw32"
1067 echo "Audio drivers $audio_drv_list"
1068 echo "Extra audio cards $audio_card_list"
1069 echo "Mixer emulation $mixemu"
1070 echo "VNC TLS support $vnc_tls"
1071 if test "$vnc_tls" = "yes" ; then
1072 echo " TLS CFLAGS $vnc_tls_cflags"
1073 echo " TLS LIBS $vnc_tls_libs"
1075 if test -n "$sparc_cpu"; then
1076 echo "Target Sparc Arch $sparc_cpu"
1078 echo "kqemu support $kqemu"
1079 echo "brlapi support $brlapi"
1080 echo "Documentation $build_docs"
1081 [ ! -z "$uname_release" ] && \
1082 echo "uname -r $uname_release"
1083 echo "NPTL support $nptl"
1084 echo "vde support $vde"
1085 echo "AIO support $aio"
1086 echo "KVM support $kvm"
1088 if test $sdl_too_old = "yes"; then
1089 echo "-> Your SDL version is too old - please upgrade to have SDL support"
1091 if [ -s /tmp
/qemu-$$
-sdl-config.log
]; then
1092 echo "The error log from compiling the libSDL test is: "
1093 cat /tmp
/qemu-$$
-sdl-config.log
1095 rm -f /tmp
/qemu-$$
-sdl-config.log
1096 #if test "$sdl_static" = "no"; then
1097 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
1099 config_mak
="config-host.mak"
1100 config_h
="config-host.h"
1102 #echo "Creating $config_mak and $config_h"
1104 test -f $config_h && mv $config_h ${config_h}~
1106 echo "# Automatically generated by configure - do not modify" > $config_mak
1107 echo "# Configured with: $0 $@" >> $config_mak
1108 echo "/* Automatically generated by configure - do not modify */" > $config_h
1110 echo "prefix=$prefix" >> $config_mak
1111 echo "bindir=\${prefix}$binsuffix" >> $config_mak
1112 echo "mandir=\${prefix}$mansuffix" >> $config_mak
1113 echo "datadir=\${prefix}$datasuffix" >> $config_mak
1114 echo "docdir=\${prefix}$docsuffix" >> $config_mak
1115 echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
1116 echo "MAKE=$make" >> $config_mak
1117 echo "INSTALL=$install" >> $config_mak
1118 echo "CC=$cc" >> $config_mak
1119 echo "HOST_CC=$host_cc" >> $config_mak
1120 echo "AR=$ar" >> $config_mak
1121 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
1122 # XXX: only use CFLAGS and LDFLAGS ?
1123 # XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
1124 # compilation of dyngen tool (useful for win32 build on Linux host)
1125 echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
1126 echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
1127 echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
1128 echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
1129 echo "CFLAGS=$CFLAGS" >> $config_mak
1130 echo "LDFLAGS=$LDFLAGS" >> $config_mak
1131 echo "EXESUF=$EXESUF" >> $config_mak
1132 echo "AIOLIBS=$AIOLIBS" >> $config_mak
1135 echo "ARCH=i386" >> $config_mak
1136 echo "#define HOST_I386 1" >> $config_h
1139 echo "ARCH=x86_64" >> $config_mak
1140 echo "#define HOST_X86_64 1" >> $config_h
1143 echo "ARCH=alpha" >> $config_mak
1144 echo "#define HOST_ALPHA 1" >> $config_h
1147 echo "ARCH=arm" >> $config_mak
1148 echo "#define HOST_ARM 1" >> $config_h
1151 echo "ARCH=arm" >> $config_mak
1152 echo "#define HOST_ARM 1" >> $config_h
1155 echo "ARCH=cris" >> $config_mak
1156 echo "#define HOST_CRIS 1" >> $config_h
1159 echo "ARCH=hppa" >> $config_mak
1160 echo "#define HOST_HPPA 1" >> $config_h
1163 echo "ARCH=ia64" >> $config_mak
1164 echo "#define HOST_IA64 1" >> $config_h
1167 echo "ARCH=m68k" >> $config_mak
1168 echo "#define HOST_M68K 1" >> $config_h
1171 echo "ARCH=mips" >> $config_mak
1172 echo "#define HOST_MIPS 1" >> $config_h
1175 echo "ARCH=mips64" >> $config_mak
1176 echo "#define HOST_MIPS64 1" >> $config_h
1179 if test "$hostlongbits" = "32"; then
1180 echo "ARCH=ppc" >> $config_mak
1181 echo "#define HOST_PPC 1" >> $config_h
1183 echo "ARCH=ppc64" >> $config_mak
1184 echo "#define HOST_PPC64 1" >> $config_h
1188 echo "ARCH=s390" >> $config_mak
1189 echo "#define HOST_S390 1" >> $config_h
1192 echo "ARCH=sparc" >> $config_mak
1193 echo "#define HOST_SPARC 1" >> $config_h
1196 echo "ARCH=sparc64" >> $config_mak
1197 echo "#define HOST_SPARC64 1" >> $config_h
1200 echo "Unsupported CPU = $cpu"
1204 if test "$sparse" = "yes" ; then
1205 echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak
1206 echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak
1207 echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak
1209 if test "$bigendian" = "yes" ; then
1210 echo "WORDS_BIGENDIAN=yes" >> $config_mak
1211 echo "#define WORDS_BIGENDIAN 1" >> $config_h
1213 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
1214 if test "$mingw32" = "yes" ; then
1215 echo "CONFIG_WIN32=yes" >> $config_mak
1216 echo "#define CONFIG_WIN32 1" >> $config_h
1219 #include <byteswap.h>
1220 int main(void) { return bswap_32(0); }
1222 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev
/null
; then
1223 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
1227 if [ "$openbsd" = "yes" ] ; then
1228 echo "#define ENOTSUP 4096" >> $config_h
1231 if test "$darwin" = "yes" ; then
1232 echo "CONFIG_DARWIN=yes" >> $config_mak
1233 echo "#define CONFIG_DARWIN 1" >> $config_h
1236 if test "$aix" = "yes" ; then
1237 echo "CONFIG_AIX=yes" >> $config_mak
1238 echo "#define CONFIG_AIX 1" >> $config_h
1241 if test "$solaris" = "yes" ; then
1242 echo "CONFIG_SOLARIS=yes" >> $config_mak
1243 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
1244 if test "$needs_libsunmath" = "yes" ; then
1245 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
1246 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
1249 if test -n "$sparc_cpu"; then
1250 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
1251 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1253 if test "$gdbstub" = "yes" ; then
1254 echo "CONFIG_GDBSTUB=yes" >> $config_mak
1255 echo "#define CONFIG_GDBSTUB 1" >> $config_h
1257 if test "$gprof" = "yes" ; then
1258 echo "TARGET_GPROF=yes" >> $config_mak
1259 echo "#define HAVE_GPROF 1" >> $config_h
1261 if test "$static" = "yes" ; then
1262 echo "CONFIG_STATIC=yes" >> $config_mak
1263 echo "#define CONFIG_STATIC 1" >> $config_h
1265 if test $profiler = "yes" ; then
1266 echo "#define CONFIG_PROFILER 1" >> $config_h
1268 if test "$slirp" = "yes" ; then
1269 echo "CONFIG_SLIRP=yes" >> $config_mak
1270 echo "#define CONFIG_SLIRP 1" >> $config_h
1272 if test "$vde" = "yes" ; then
1273 echo "CONFIG_VDE=yes" >> $config_mak
1274 echo "#define CONFIG_VDE 1" >> $config_h
1275 echo "VDE_LIBS=-lvdeplug" >> $config_mak
1277 for card
in $audio_card_list; do
1278 def
=CONFIG_
`echo $card | tr '[:lower:]' '[:upper:]'`
1279 echo "$def=yes" >> $config_mak
1280 echo "#define $def 1" >> $config_h
1282 echo "#define AUDIO_DRIVERS \\" >> $config_h
1283 for drv
in $audio_drv_list; do
1284 echo " &${drv}_audio_driver, \\" >>$config_h
1285 def
=CONFIG_
`echo $drv | tr '[:lower:]' '[:upper:]'`
1286 echo "$def=yes" >> $config_mak
1287 if test "$drv" = "fmod"; then
1288 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
1289 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
1290 elif test "$drv" = "oss"; then
1291 echo "CONFIG_OSS_LIB=$oss_lib" >> $config_mak
1295 if test "$mixemu" = "yes" ; then
1296 echo "CONFIG_MIXEMU=yes" >> $config_mak
1297 echo "#define CONFIG_MIXEMU 1" >> $config_h
1299 if test "$vnc_tls" = "yes" ; then
1300 echo "CONFIG_VNC_TLS=yes" >> $config_mak
1301 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
1302 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
1303 echo "#define CONFIG_VNC_TLS 1" >> $config_h
1305 qemu_version
=`head $source_path/VERSION`
1306 echo "VERSION=$qemu_version" >>$config_mak
1307 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
1309 echo "SRC_PATH=$source_path" >> $config_mak
1310 if [ "$source_path_used" = "yes" ]; then
1311 echo "VPATH=$source_path" >> $config_mak
1313 echo "TARGET_DIRS=$target_list" >> $config_mak
1314 if [ "$build_docs" = "yes" ] ; then
1315 echo "BUILD_DOCS=yes" >> $config_mak
1317 if test "$static" = "yes"; then
1322 if test "$sdl1" = "yes" ; then
1323 echo "#define CONFIG_SDL 1" >> $config_h
1324 echo "CONFIG_SDL=yes" >> $config_mak
1325 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1326 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1328 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1330 if [ "${aa}" = "yes" ] ; then
1331 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1333 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1336 if test "$cocoa" = "yes" ; then
1337 echo "#define CONFIG_COCOA 1" >> $config_h
1338 echo "CONFIG_COCOA=yes" >> $config_mak
1340 if test "$curses" = "yes" ; then
1341 echo "#define CONFIG_CURSES 1" >> $config_h
1342 echo "CONFIG_CURSES=yes" >> $config_mak
1343 echo "CURSES_LIBS=-lcurses" >> $config_mak
1345 if test "$brlapi" = "yes" ; then
1346 echo "CONFIG_BRLAPI=yes" >> $config_mak
1347 echo "#define CONFIG_BRLAPI 1" >> $config_h
1348 echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak
1350 if test "$bluez" = "yes" ; then
1351 echo "CONFIG_BLUEZ=yes" >> $config_mak
1352 echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_mak
1353 echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_mak
1354 echo "#define CONFIG_BLUEZ 1" >> $config_h
1356 if test "$aio" = "yes" ; then
1357 echo "#define CONFIG_AIO 1" >> $config_h
1358 echo "CONFIG_AIO=yes" >> $config_mak
1361 # XXX: suppress that
1362 if [ "$bsd" = "yes" ] ; then
1363 echo "#define O_LARGEFILE 0" >> $config_h
1364 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
1365 echo "#define _BSD 1" >> $config_h
1368 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
1373 echo "HOST_USB=linux" >> $config_mak
1376 echo "HOST_USB=bsd" >> $config_mak
1379 echo "HOST_USB=stub" >> $config_mak
1384 if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
1385 tools
="qemu-img\$(EXESUF) $tools"
1386 if [ "$linux" = "yes" ] ; then
1387 tools
="qemu-nbd\$(EXESUF) $tools"
1390 echo "TOOLS=$tools" >> $config_mak
1392 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~
$config_h
1394 for target
in $target_list; do
1395 target_dir
="$target"
1396 config_mak
=$target_dir/config.mak
1397 config_h
=$target_dir/config.h
1398 target_cpu
=`echo $target | cut -d '-' -f 1`
1399 target_bigendian
="no"
1400 [ "$target_cpu" = "armeb" ] && target_bigendian
=yes
1401 [ "$target_cpu" = "m68k" ] && target_bigendian
=yes
1402 [ "$target_cpu" = "mips" ] && target_bigendian
=yes
1403 [ "$target_cpu" = "mipsn32" ] && target_bigendian
=yes
1404 [ "$target_cpu" = "mips64" ] && target_bigendian
=yes
1405 [ "$target_cpu" = "ppc" ] && target_bigendian
=yes
1406 [ "$target_cpu" = "ppcemb" ] && target_bigendian
=yes
1407 [ "$target_cpu" = "ppc64" ] && target_bigendian
=yes
1408 [ "$target_cpu" = "ppc64abi32" ] && target_bigendian
=yes
1409 [ "$target_cpu" = "sh4eb" ] && target_bigendian
=yes
1410 [ "$target_cpu" = "sparc" ] && target_bigendian
=yes
1411 [ "$target_cpu" = "sparc64" ] && target_bigendian
=yes
1412 [ "$target_cpu" = "sparc32plus" ] && target_bigendian
=yes
1414 target_user_only
="no"
1415 target_linux_user
="no"
1416 target_darwin_user
="no"
1417 target_bsd_user
="no"
1419 ${target_cpu}-softmmu)
1420 target_softmmu
="yes"
1422 ${target_cpu}-linux-user)
1423 target_user_only
="yes"
1424 target_linux_user
="yes"
1426 ${target_cpu}-darwin-user)
1427 target_user_only
="yes"
1428 target_darwin_user
="yes"
1430 ${target_cpu}-bsd-user)
1431 target_user_only
="yes"
1432 target_bsd_user
="yes"
1435 echo "ERROR: Target '$target' not recognised"
1440 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1441 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1442 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1443 echo "To build QEMU without graphical output configure with --disable-gfx-check"
1444 echo "Note that this will disable all output from the virtual graphics card"
1445 echo "except through VNC or curses."
1449 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1451 test -f $config_h && mv $config_h ${config_h}~
1453 mkdir
-p $target_dir
1454 mkdir
-p $target_dir/fpu
1455 mkdir
-p $target_dir/tcg
1456 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
1457 mkdir
-p $target_dir/nwfpe
1461 # don't use ln -sf as not all "ln -sf" over write the file/link
1463 rm -f $target_dir/Makefile
1464 ln -s $source_path/Makefile.target
$target_dir/Makefile
1467 echo "# Automatically generated by configure - do not modify" > $config_mak
1468 echo "/* Automatically generated by configure - do not modify */" > $config_h
1471 echo "include ../config-host.mak" >> $config_mak
1472 echo "#include \"../config-host.h\"" >> $config_h
1477 interp_prefix1
=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1478 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1481 # Make sure the target and host cpus are compatible
1482 if test "$kvm" = "yes" -a ! \
( "$target_cpu" = "$cpu" -o \
1483 \
( "$target_cpu" = "x86_64" -a "$cpu" = "i386" \
) -o \
1484 \
( "$target_cpu" = "i386" -a "$cpu" = "x86_64" \
) \
) ; then
1487 # Disable KVM for linux-user
1488 if test "$kvm" = "yes" -a "$target_softmmu" = "no" ; then
1492 case "$target_cpu" in
1494 echo "TARGET_ARCH=i386" >> $config_mak
1495 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1496 echo "#define TARGET_I386 1" >> $config_h
1497 if test $kqemu = "yes" -a "$target_softmmu" = "yes"
1499 echo "#define USE_KQEMU 1" >> $config_h
1501 if test "$kvm" = "yes" ; then
1502 echo "CONFIG_KVM=yes" >> $config_mak
1503 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1504 echo "#define CONFIG_KVM 1" >> $config_h
1506 gcc3minver
=`$cc --version 2> /dev/null| fgrep "(GCC) 3." | awk '{ print $3 }' | cut -f2 -d.`
1507 if test -n "$gcc3minver" && test $gcc3minver -gt 3
1509 echo "HAVE_GT_GCC_3_3=true" >> $config_mak
1511 echo "HAVE_GT_GCC_3_3=false" >> $config_mak
1515 echo "TARGET_ARCH=x86_64" >> $config_mak
1516 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1517 echo "#define TARGET_I386 1" >> $config_h
1518 echo "#define TARGET_X86_64 1" >> $config_h
1519 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
1521 echo "#define USE_KQEMU 1" >> $config_h
1523 if test "$kvm" = "yes" ; then
1524 echo "CONFIG_KVM=yes" >> $config_mak
1525 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1526 echo "#define CONFIG_KVM 1" >> $config_h
1530 echo "TARGET_ARCH=alpha" >> $config_mak
1531 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1532 echo "#define TARGET_ALPHA 1" >> $config_h
1535 echo "TARGET_ARCH=arm" >> $config_mak
1536 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1537 echo "#define TARGET_ARM 1" >> $config_h
1540 gdb_xml_files
="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
1543 echo "TARGET_ARCH=cris" >> $config_mak
1544 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1545 echo "#define TARGET_CRIS 1" >> $config_h
1548 echo "TARGET_ARCH=m68k" >> $config_mak
1549 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1550 echo "#define TARGET_M68K 1" >> $config_h
1552 gdb_xml_files
="cf-core.xml cf-fp.xml"
1555 echo "TARGET_ARCH=mips" >> $config_mak
1556 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1557 echo "#define TARGET_MIPS 1" >> $config_h
1558 echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1561 echo "TARGET_ARCH=mipsn32" >> $config_mak
1562 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1563 echo "#define TARGET_MIPS 1" >> $config_h
1564 echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1567 echo "TARGET_ARCH=mips64" >> $config_mak
1568 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1569 echo "#define TARGET_MIPS 1" >> $config_h
1570 echo "#define TARGET_MIPS64 1" >> $config_h
1571 echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1574 echo "TARGET_ARCH=ppc" >> $config_mak
1575 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1576 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1577 echo "#define TARGET_PPC 1" >> $config_h
1578 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1581 echo "TARGET_ARCH=ppcemb" >> $config_mak
1582 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1583 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1584 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1585 echo "#define TARGET_PPC 1" >> $config_h
1586 echo "#define TARGET_PPCEMB 1" >> $config_h
1587 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1590 echo "TARGET_ARCH=ppc64" >> $config_mak
1591 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1592 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1593 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1594 echo "#define TARGET_PPC 1" >> $config_h
1595 echo "#define TARGET_PPC64 1" >> $config_h
1596 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1599 echo "TARGET_ARCH=ppc64" >> $config_mak
1600 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1601 echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
1602 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1603 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1604 echo "#define TARGET_PPC 1" >> $config_h
1605 echo "#define TARGET_PPC64 1" >> $config_h
1606 echo "#define TARGET_ABI32 1" >> $config_h
1607 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1610 echo "TARGET_ARCH=sh4" >> $config_mak
1611 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1612 echo "#define TARGET_SH4 1" >> $config_h
1617 echo "TARGET_ARCH=sparc" >> $config_mak
1618 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1619 echo "#define TARGET_SPARC 1" >> $config_h
1622 echo "TARGET_ARCH=sparc64" >> $config_mak
1623 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1624 echo "#define TARGET_SPARC 1" >> $config_h
1625 echo "#define TARGET_SPARC64 1" >> $config_h
1629 echo "TARGET_ARCH=sparc64" >> $config_mak
1630 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1631 echo "TARGET_ARCH2=sparc32plus" >> $config_mak
1632 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1633 echo "#define TARGET_SPARC 1" >> $config_h
1634 echo "#define TARGET_SPARC64 1" >> $config_h
1635 echo "#define TARGET_ABI32 1" >> $config_h
1638 echo "Unsupported target CPU"
1642 if test "$target_bigendian" = "yes" ; then
1643 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1644 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1646 if test "$target_softmmu" = "yes" ; then
1647 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1648 echo "#define CONFIG_SOFTMMU 1" >> $config_h
1650 if test "$target_user_only" = "yes" ; then
1651 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1652 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1654 if test "$target_linux_user" = "yes" ; then
1655 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1656 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1658 if test "$target_darwin_user" = "yes" ; then
1659 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1660 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1663 if test ! -z "$gdb_xml_files" ; then
1664 for x
in $gdb_xml_files; do
1665 list
="$list $source_path/gdb-xml/$x"
1668 echo "TARGET_XML_FILES=$list" >> $config_mak
1670 if test "$target_cpu" = "arm" \
1671 -o "$target_cpu" = "armeb" \
1672 -o "$target_cpu" = "m68k" \
1673 -o "$target_cpu" = "mips" \
1674 -o "$target_cpu" = "mipsel" \
1675 -o "$target_cpu" = "mipsn32" \
1676 -o "$target_cpu" = "mipsn32el" \
1677 -o "$target_cpu" = "mips64" \
1678 -o "$target_cpu" = "mips64el" \
1679 -o "$target_cpu" = "sparc" \
1680 -o "$target_cpu" = "sparc64" \
1681 -o "$target_cpu" = "sparc32plus"; then
1682 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1683 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1685 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1686 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1687 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1689 if test "$target_user_only" = "yes" \
1690 -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1691 echo "#define USE_NPTL 1" >> $config_h
1693 # 32 bit ELF loader in addition to native 64 bit loader?
1694 if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1695 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1696 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1698 if test "$target_bsd_user" = "yes" ; then
1699 echo "CONFIG_BSD_USER=yes" >> $config_mak
1700 echo "#define CONFIG_BSD_USER 1" >> $config_h
1703 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~
$config_h
1705 done # for target in $targets
1707 # build tree in object directory if source path is different from current one
1708 if test "$source_path_used" = "yes" ; then
1709 DIRS
="tests tests/cris slirp audio"
1710 FILES
="Makefile tests/Makefile"
1711 FILES
="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1712 FILES
="$FILES tests/test-mmap.c"
1713 for dir
in $DIRS ; do
1716 # remove the link and recreate it, as not all "ln -sf" overwrite the link
1717 for f
in $FILES ; do
1719 ln -s $source_path/$f $f
1723 rm -f $TMPO $TMPC $TMPE $TMPS $TMPI