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
)
128 OS_CFLAGS
="-mno-cygwin"
129 if [ "$cpu" = "i386" ] ; then
132 audio_possible_drivers
="sdl"
136 if [ "$cpu" = "i386" ] ; then
139 audio_possible_drivers
="dsound sdl fmod"
143 audio_possible_drivers
="oss sdl esd pa"
144 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
151 audio_possible_drivers
="oss sdl esd pa"
153 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
160 audio_possible_drivers
="oss sdl esd"
162 aio_lib
="-lrt -lpthread"
168 audio_possible_drivers
="oss sdl esd"
177 audio_drv_list
="coreaudio"
178 audio_possible_drivers
="coreaudio sdl fmod"
179 OS_CFLAGS
="-mdynamic-no-pic"
180 OS_LDFLAGS
="-framework CoreFoundation -framework IOKit"
187 needs_libsunmath
="no"
188 solarisrev
=`uname -r | cut -f2 -d.`
189 # have to select again, because `uname -m` returns i86pc
190 # even on an x86_64 box.
191 solariscpu
=`isainfo -k`
192 if test "${solariscpu}" = "amd64" ; then
195 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
196 if test "$solarisrev" -le 9 ; then
197 if test -f /opt
/SUNWspro
/prod
/lib
/libsunmath.so
.1; then
198 needs_libsunmath
="yes"
200 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
201 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
202 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
203 echo "Studio 11 can be downloaded from www.sun.com."
207 if test "$solarisrev" -ge 9 ; then
211 if test -f /usr
/include
/sys
/soundcard.h
; then
214 audio_possible_drivers
="oss sdl"
222 audio_possible_drivers
="oss alsa sdl esd pa"
226 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
228 audio_possible_drivers
="$audio_possible_drivers fmod"
233 if [ "$bsd" = "yes" ] ; then
234 if [ "$darwin" != "yes" ] ; then
242 source_path
=`dirname "$0"`
243 source_path_used
="no"
245 if [ -z "$source_path" ]; then
248 source_path
=`cd "$source_path"; pwd`
250 [ -f "$workdir/vl.c" ] || source_path_used
="yes"
253 # generate compile errors on warnings for development builds
254 #if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
259 optarg
=`expr "x$opt" : 'x[^=]*=\(.*\)'`
261 --help|
-h) show_help
=yes
263 --prefix=*) prefix
="$optarg"
265 --interp-prefix=*) interp_prefix
="$optarg"
267 --source-path=*) source_path
="$optarg"
268 source_path_used
="yes"
270 --cross-prefix=*) cross_prefix
="$optarg"
275 --host-cc=*) host_cc
="$optarg"
277 --make=*) make="$optarg"
279 --install=*) install="$optarg"
281 --extra-cflags=*) CFLAGS
="$optarg"
283 --extra-ldflags=*) LDFLAGS
="$optarg"
285 --cpu=*) cpu
="$optarg"
287 --target-list=*) target_list
="$optarg"
289 --enable-gprof) gprof
="yes"
291 --static) static
="yes"
293 --disable-sdl) sdl
="no"
295 --fmod-lib=*) fmod_lib
="$optarg"
297 --fmod-inc=*) fmod_inc
="$optarg"
299 --oss-lib=*) oss_lib
="$optarg"
301 --audio-card-list=*) audio_card_list
=`echo "$optarg" | sed -e 's/,/ /g'`
303 --audio-drv-list=*) audio_drv_list
="$optarg"
305 --enable-sparse) sparse
="yes"
307 --disable-sparse) sparse
="no"
309 --disable-vnc-tls) vnc_tls
="no"
311 --disable-slirp) slirp
="no"
313 --disable-vde) vde
="no"
315 --disable-kqemu) kqemu
="no"
317 --disable-brlapi) brlapi
="no"
319 --disable-bluez) bluez
="no"
321 --disable-kvm) kvm
="no"
323 --enable-profiler) profiler
="yes"
328 audio_drv_list
="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
330 --disable-gfx-check) check_gfx
="no"
332 --disable-gcc-check) check_gcc
="no"
334 --disable-system) softmmu
="no"
336 --enable-system) softmmu
="yes"
338 --disable-linux-user) linux_user
="no"
340 --enable-linux-user) linux_user
="yes"
342 --disable-darwin-user) darwin_user
="no"
344 --enable-darwin-user) darwin_user
="yes"
346 --disable-bsd-user) bsd_user
="no"
348 --enable-bsd-user) bsd_user
="yes"
350 --enable-uname-release=*) uname_release
="$optarg"
355 v7|v8
) SP_CFLAGS
="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS
="-m32"
356 target_cpu
="sparc"; cpu
="sparc" ;;
357 v8plus|v8plusa
) SP_CFLAGS
="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS
="-m32"
358 target_cpu
="sparc"; cpu
="sparc" ;;
359 v9
) SP_CFLAGS
="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS
="-m64"
360 target_cpu
="sparc64"; cpu
="sparc64" ;;
361 *) echo "undefined SPARC architecture. Exiting";exit 1;;
364 --enable-werror) werror
="yes"
366 --disable-werror) werror
="no"
368 --disable-curses) curses
="no"
370 --disable-nptl) nptl
="no"
372 --enable-mixemu) mixemu
="yes"
374 --disable-aio) aio
="no"
376 --disable-blobs) blobs
="no"
378 --kerneldir=*) kerneldir
="$optarg"
380 *) echo "ERROR: unknown option $opt"; show_help
="yes"
385 # default flags for all hosts
386 CFLAGS
="$CFLAGS -O2 -g -fno-strict-aliasing"
387 CFLAGS
="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings"
388 LDFLAGS
="$LDFLAGS -g"
389 if test "$werror" = "yes" ; then
390 CFLAGS
="$CFLAGS -Werror"
393 if test "$solaris" = "no" ; then
394 if ld
--version 2>/dev
/null |
grep "GNU ld" >/dev
/null
2>/dev
/null
; then
395 LDFLAGS
="$LDFLAGS -Wl,--warn-common"
400 # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
401 # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
404 sparc
) if test -z "$sparc_cpu" ; then
405 ARCH_CFLAGS
="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
408 ARCH_CFLAGS
="${SP_CFLAGS}"
409 ARCH_LDFLAGS
="${SP_LDFLAGS}"
412 sparc64
) if test -z "$sparc_cpu" ; then
413 ARCH_CFLAGS
="-m64 -mcpu=ultrasparc -D__sparc_v9__"
416 ARCH_CFLAGS
="${SP_CFLAGS}"
417 ARCH_LDFLAGS
="${SP_LDFLAGS}"
421 ARCH_CFLAGS
="-march=z900"
433 if test x
"$show_help" = x
"yes" ; then
436 Usage: configure [options]
437 Options: [defaults in brackets after descriptions]
440 echo "Standard options:"
441 echo " --help print this message"
442 echo " --prefix=PREFIX install in PREFIX [$prefix]"
443 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
444 echo " use %M for cpu name [$interp_prefix]"
445 echo " --target-list=LIST set target list [$target_list]"
447 echo "kqemu kernel acceleration support:"
448 echo " --disable-kqemu disable kqemu support"
450 echo "Advanced options (experts only):"
451 echo " --source-path=PATH path of source code [$source_path]"
452 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
453 echo " --cc=CC use C compiler CC [$cc]"
454 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
455 echo " --make=MAKE use specified make [$make]"
456 echo " --install=INSTALL use specified install [$install]"
457 echo " --static enable static build [$static]"
458 echo " --enable-sparse enable sparse checker"
459 echo " --disable-sparse disable sparse checker (default)"
460 echo " --disable-werror disable compilation abort on warning"
461 echo " --disable-sdl disable SDL"
462 echo " --enable-cocoa enable COCOA (Mac OS X only)"
463 echo " --audio-drv-list=LIST set audio drivers list:"
464 echo " Available drivers: $audio_possible_drivers"
465 echo " --audio-card-list=LIST set list of additional emulated audio cards"
466 echo " Available cards: ac97 adlib cs4231a gus"
467 echo " --enable-mixemu enable mixer emulation"
468 echo " --disable-brlapi disable BrlAPI"
469 echo " --disable-vnc-tls disable TLS encryption for VNC server"
470 echo " --disable-curses disable curses output"
471 echo " --disable-bluez disable bluez stack connectivity"
472 echo " --disable-kvm disable KVM acceleration support"
473 echo " --disable-nptl disable usermode NPTL support"
474 echo " --enable-system enable all system emulation targets"
475 echo " --disable-system disable all system emulation targets"
476 echo " --enable-linux-user enable all linux usermode emulation targets"
477 echo " --disable-linux-user disable all linux usermode emulation targets"
478 echo " --enable-darwin-user enable all darwin usermode emulation targets"
479 echo " --disable-darwin-user disable all darwin usermode emulation targets"
480 echo " --enable-bsd-user enable all BSD usermode emulation targets"
481 echo " --disable-bsd-user disable all BSD usermode emulation targets"
482 echo " --fmod-lib path to FMOD library"
483 echo " --fmod-inc path to FMOD includes"
484 echo " --oss-lib path to OSS library"
485 echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
486 echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
487 echo " --disable-vde disable support for vde network"
488 echo " --disable-aio disable AIO support"
489 echo " --disable-blobs disable installing provided firmware blobs"
490 echo " --kerneldir=PATH look for kernel includes in PATH"
492 echo "NOTE: The object files are built at the place where configure is launched"
496 cc
="${cross_prefix}${cc}"
497 ar="${cross_prefix}${ar}"
498 strip
="${cross_prefix}${strip}"
500 # check that the C compiler works.
505 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev
/null
; then
506 : C compiler works ok
508 echo "ERROR: \"$cc\" either does not exist or does not work"
512 # check compiler to see if we're on mingw32
521 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev
/null
; then
525 if test "$mingw32" = "yes" ; then
533 if [ "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
535 elif [ "$bsd" = "yes" ]; then
538 # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
539 AIOLIBS
="-lrt -lpthread"
542 # Check for gcc4, error if pre-gcc4
543 if test "$check_gcc" = "yes" ; then
548 int main(){return 0;}
550 if "$cc" $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev
/null
; then
551 echo "WARNING: \"$cc\" looks like gcc 4.x"
553 if test "$gcc3_search" = "yes" ; then
554 echo "Looking for gcc 3.x"
555 for compat_cc
in $gcc3_list ; do
556 if "$cross_prefix$compat_cc" --version 2> /dev
/null | fgrep
'(GCC) 3.' > /dev
/null
2>&1 ; then
557 echo "Found \"$compat_cc\""
558 cc
="$cross_prefix$compat_cc"
559 found_compat_cc
="yes"
563 if test "$found_compat_cc" = "no" ; then
564 echo "gcc 3.x not found!"
567 if test "$found_compat_cc" = "no" ; then
568 echo "QEMU is known to have problems when compiled with gcc 4.x"
569 echo "It is recommended that you use gcc 3.x to build QEMU"
570 echo "To use this compiler anyway, configure with --disable-gcc-check"
576 if test ! -x "$(which cgcc 2>/dev/null)"; then
581 # Solaris specific configure tool chain decisions
583 if test "$solaris" = "yes" ; then
585 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
586 # override the check with --disable-gcc-check
588 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
590 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
591 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
592 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
593 echo "or get the latest patch from SunSolve for gcc"
597 solinst
=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
598 if test -z "$solinst" ; then
599 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
600 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
601 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
604 if test "$solinst" = "/usr/sbin/install" ; then
605 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
606 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
607 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
610 sol_ar
=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
611 if test -z "$sol_ar" ; then
612 echo "Error: No path includes ar"
613 if test -f /usr
/ccs
/bin
/ar ; then
614 echo "Add /usr/ccs/bin to your path and rerun configure"
621 if test -z "$target_list" ; then
622 # these targets are portable
623 if [ "$softmmu" = "yes" ] ; then
642 # the following are Linux specific
643 if [ "$linux_user" = "yes" ] ; then
644 target_list
="${target_list}\
656 ppc64abi32-linux-user \
661 sparc32plus-linux-user \
664 # the following are Darwin specific
665 if [ "$darwin_user" = "yes" ] ; then
666 target_list
="$target_list i386-darwin-user ppc-darwin-user"
668 # the following are BSD specific
669 if [ "$bsd_user" = "yes" ] ; then
670 target_list
="${target_list}\
675 target_list
=`echo "$target_list" | sed -e 's/,/ /g'`
677 if test -z "$target_list" ; then
678 echo "No targets enabled"
682 if test -z "$cross_prefix" ; then
685 # big/little endian test
687 #include <inttypes.h>
688 int main(int argc, char ** argv){
689 volatile uint32_t i=0x01234567;
690 return (*((uint8_t*)(&i))) == 0x67;
694 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev
/null
; then
695 $TMPE && bigendian
="yes"
697 echo big
/little
test failed
702 # if cross compiling, cannot launch a program, so make a static guess
703 if test "$cpu" = "armv4b" \
707 -o "$cpu" = "mips64" \
708 -o "$cpu" = "powerpc" \
710 -o "$cpu" = "sparc" \
711 -o "$cpu" = "sparc64"; then
717 # host long bits test
719 if test "$cpu" = "x86_64" \
720 -o "$cpu" = "alpha" \
722 -o "$cpu" = "sparc64"; then
726 # ppc specific hostlongbits selection
727 if test "$cpu" = "powerpc" ; then
728 if $cc $ARCH_CFLAGS -dM -E - -o $TMPI 2>/dev
/null
</dev
/null
; then
729 grep -q __powerpc64__
$TMPI && hostlongbits
=64
731 echo hostlongbits
test failed
736 # check gcc options support
742 # Check host NPTL support
745 #include <linux/futex.h>
748 #if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
754 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev
/null
; then
760 ##########################################
765 int main(void) { zlibVersion(); return 0; }
767 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz 2> /dev
/null
; then
771 echo "Error: zlib check failed"
772 echo "Make sure to have the zlib libs and headers installed."
777 ##########################################
782 if test -z "$sdl" ; then
783 sdl_config
="sdl-config"
789 #undef main /* We don't want SDL to override our main() */
790 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
792 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
793 _sdlversion
=`$sdl_config --version | sed 's/[^0-9]//g'`
794 if test "$_sdlversion" -lt 121 ; then
797 if test "$cocoa" = "no" ; then
802 # static link with sdl ?
803 if test "$sdl" = "yes" ; then
805 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa
="yes"
806 sdl_static_libs
=`$sdl_config --static-libs 2>/dev/null`
807 if [ "$aa" = "yes" ] ; then
808 sdl_static_libs
="$sdl_static_libs `aalib-config --static-libs`"
811 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev
/null
; then
815 fi # sdl compile test
817 # Make sure to disable cocoa if sdl was set
818 if test "$sdl" = "yes" ; then
820 audio_drv_list
="`echo $audio_drv_list | sed s,coreaudio,,g`"
824 ##########################################
826 if test "$vnc_tls" = "yes" ; then
828 #include <gnutls/gnutls.h>
829 int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
831 vnc_tls_cflags
=`pkg-config --cflags gnutls 2> /dev/null`
832 vnc_tls_libs
=`pkg-config --libs gnutls 2> /dev/null`
833 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \
834 $vnc_tls_libs 2> /dev
/null
; then
841 ##########################################
842 # vde libraries probe
843 if test "$vde" = "yes" ; then
845 #include <libvdeplug.h>
848 struct vde_open_args a = {0, 0, 0};
849 vde_open("", "", &a);
853 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug 2> /dev
/null
; then
860 ##########################################
861 # Sound support libraries probe
872 int main(void) { $exp }
874 if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib 2> /dev
/null
; then
878 echo "Error: $drv check failed"
879 echo "Make sure to have the $drv libs and headers installed."
885 audio_drv_list
=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
886 for drv
in $audio_drv_list; do
889 audio_drv_probe
$drv alsa
/asoundlib.h
-lasound \
890 "snd_pcm_t **handle; return snd_pcm_close(*handle);"
894 if test -z $fmod_lib ||
test -z $fmod_inc; then
896 echo "Error: You must specify path to FMOD library and headers"
897 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
901 audio_drv_probe
$drv fmod.h
$fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
905 audio_drv_probe
$drv esd.h
-lesd 'return esd_play_stream(0, 0, "", 0);'
909 audio_drv_probe
$drv pulse
/simple.h
-lpulse-simple \
910 "pa_simple *s = NULL; pa_simple_free(s); return 0;"
913 oss|sdl|core|wav|dsound
)
914 # XXX: Probes for CoreAudio, DirectSound, SDL(?)
918 echo "$audio_possible_drivers" |
grep -q "\<$drv\>" ||
{
920 echo "Error: Unknown driver '$drv' selected"
921 echo "Possible drivers are: $audio_possible_drivers"
929 ##########################################
932 if test -z "$brlapi" ; then
936 int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
938 if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi 2> /dev
/null
; then
940 fi # brlapi compile test
943 ##########################################
946 if test "$curses" = "yes" ; then
950 int main(void) { return curses_version(); }
952 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses 2> /dev
/null
; then
957 ##########################################
958 # bluez support probe
959 if test "$bluez" = "yes" ; then
960 `pkg-config bluez` || bluez
="no"
962 if test "$bluez" = "yes" ; then
964 #include <bluetooth/bluetooth.h>
965 int main(void) { return bt_error(0); }
967 bluez_cflags
=`pkg-config --cflags bluez`
968 bluez_libs
=`pkg-config --libs bluez`
969 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \
970 $bluez_libs 2> /dev
/null
; then
977 ##########################################
979 if test "$kvm" = "yes" ; then
981 #include <linux/kvm.h>
982 #if !defined(KVM_API_VERSION) || \
983 KVM_API_VERSION < 12 || \
984 KVM_API_VERSION > 12 || \
985 !defined(KVM_CAP_USER_MEMORY) || \
986 !defined(KVM_CAP_SET_TSS_ADDR)
987 #error Invalid KVM version
989 int main(void) { return 0; }
991 if test "$kerneldir" != "" ; then
992 kvm_cflags
=-I"$kerneldir"/include
996 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC \
1004 ##########################################
1006 if test "$aio" = "yes" ; then
1010 int main(void) { return aio_write(NULL); }
1012 if $cc $ARCH_CFLAGS -o $TMPE $AIOLIBS $TMPC 2> /dev
/null
; then
1017 # Check if tools are available to build documentation.
1018 if [ -x "`which texi2html 2>/dev/null`" ] && \
1019 [ -x "`which pod2man 2>/dev/null`" ]; then
1023 if test "$mingw32" = "yes" ; then
1024 if test -z "$prefix" ; then
1025 prefix
="c:\\\\Program Files\\\\Qemu"
1032 if test -z "$prefix" ; then
1035 mansuffix
="/share/man"
1036 datasuffix
="/share/qemu"
1037 docsuffix
="/share/doc/qemu"
1041 echo "Install prefix $prefix"
1042 echo "BIOS directory $prefix$datasuffix"
1043 echo "binary directory $prefix$binsuffix"
1044 if test "$mingw32" = "no" ; then
1045 echo "Manual directory $prefix$mansuffix"
1046 echo "ELF interp prefix $interp_prefix"
1048 echo "Source path $source_path"
1049 echo "C compiler $cc"
1050 echo "Host C compiler $host_cc"
1051 echo "ARCH_CFLAGS $ARCH_CFLAGS"
1053 echo "install $install"
1054 echo "host CPU $cpu"
1055 echo "host big endian $bigendian"
1056 echo "target list $target_list"
1057 echo "gprof enabled $gprof"
1058 echo "sparse enabled $sparse"
1059 echo "profiler $profiler"
1060 echo "static build $static"
1061 echo "-Werror enabled $werror"
1062 if test "$darwin" = "yes" ; then
1063 echo "Cocoa support $cocoa"
1065 echo "SDL support $sdl"
1066 if test "$sdl" != "no" ; then
1067 echo "SDL static link $sdl_static"
1069 echo "curses support $curses"
1070 echo "mingw32 support $mingw32"
1071 echo "Audio drivers $audio_drv_list"
1072 echo "Extra audio cards $audio_card_list"
1073 echo "Mixer emulation $mixemu"
1074 echo "VNC TLS support $vnc_tls"
1075 if test "$vnc_tls" = "yes" ; then
1076 echo " TLS CFLAGS $vnc_tls_cflags"
1077 echo " TLS LIBS $vnc_tls_libs"
1079 if test -n "$sparc_cpu"; then
1080 echo "Target Sparc Arch $sparc_cpu"
1082 echo "kqemu support $kqemu"
1083 echo "brlapi support $brlapi"
1084 echo "Documentation $build_docs"
1085 [ ! -z "$uname_release" ] && \
1086 echo "uname -r $uname_release"
1087 echo "NPTL support $nptl"
1088 echo "vde support $vde"
1089 echo "AIO support $aio"
1090 echo "Install blobs $blobs"
1091 echo "KVM support $kvm"
1093 if test $sdl_too_old = "yes"; then
1094 echo "-> Your SDL version is too old - please upgrade to have SDL support"
1096 if [ -s /tmp
/qemu-$$
-sdl-config.log
]; then
1097 echo "The error log from compiling the libSDL test is: "
1098 cat /tmp
/qemu-$$
-sdl-config.log
1100 rm -f /tmp
/qemu-$$
-sdl-config.log
1101 #if test "$sdl_static" = "no"; then
1102 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
1104 config_mak
="config-host.mak"
1105 config_h
="config-host.h"
1107 #echo "Creating $config_mak and $config_h"
1109 test -f $config_h && mv $config_h ${config_h}~
1111 echo "# Automatically generated by configure - do not modify" > $config_mak
1112 echo "# Configured with: $0 $@" >> $config_mak
1113 echo "/* Automatically generated by configure - do not modify */" > $config_h
1115 echo "prefix=$prefix" >> $config_mak
1116 echo "bindir=\${prefix}$binsuffix" >> $config_mak
1117 echo "mandir=\${prefix}$mansuffix" >> $config_mak
1118 echo "datadir=\${prefix}$datasuffix" >> $config_mak
1119 echo "docdir=\${prefix}$docsuffix" >> $config_mak
1120 echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
1121 echo "MAKE=$make" >> $config_mak
1122 echo "INSTALL=$install" >> $config_mak
1123 echo "CC=$cc" >> $config_mak
1124 echo "HOST_CC=$host_cc" >> $config_mak
1125 echo "AR=$ar" >> $config_mak
1126 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
1127 # XXX: only use CFLAGS and LDFLAGS ?
1128 # XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
1129 # compilation of dyngen tool (useful for win32 build on Linux host)
1130 echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
1131 echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
1132 echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
1133 echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
1134 echo "CFLAGS=$CFLAGS" >> $config_mak
1135 echo "LDFLAGS=$LDFLAGS" >> $config_mak
1136 echo "EXESUF=$EXESUF" >> $config_mak
1137 echo "AIOLIBS=$AIOLIBS" >> $config_mak
1140 echo "ARCH=i386" >> $config_mak
1141 echo "#define HOST_I386 1" >> $config_h
1144 echo "ARCH=x86_64" >> $config_mak
1145 echo "#define HOST_X86_64 1" >> $config_h
1148 echo "ARCH=alpha" >> $config_mak
1149 echo "#define HOST_ALPHA 1" >> $config_h
1152 echo "ARCH=arm" >> $config_mak
1153 echo "#define HOST_ARM 1" >> $config_h
1156 echo "ARCH=arm" >> $config_mak
1157 echo "#define HOST_ARM 1" >> $config_h
1160 echo "ARCH=cris" >> $config_mak
1161 echo "#define HOST_CRIS 1" >> $config_h
1164 echo "ARCH=hppa" >> $config_mak
1165 echo "#define HOST_HPPA 1" >> $config_h
1168 echo "ARCH=ia64" >> $config_mak
1169 echo "#define HOST_IA64 1" >> $config_h
1172 echo "ARCH=m68k" >> $config_mak
1173 echo "#define HOST_M68K 1" >> $config_h
1176 echo "ARCH=mips" >> $config_mak
1177 echo "#define HOST_MIPS 1" >> $config_h
1180 echo "ARCH=mips64" >> $config_mak
1181 echo "#define HOST_MIPS64 1" >> $config_h
1184 if test "$hostlongbits" = "32"; then
1185 echo "ARCH=ppc" >> $config_mak
1186 echo "#define HOST_PPC 1" >> $config_h
1188 echo "ARCH=ppc64" >> $config_mak
1189 echo "#define HOST_PPC64 1" >> $config_h
1193 echo "ARCH=s390" >> $config_mak
1194 echo "#define HOST_S390 1" >> $config_h
1197 echo "ARCH=sparc" >> $config_mak
1198 echo "#define HOST_SPARC 1" >> $config_h
1201 echo "ARCH=sparc64" >> $config_mak
1202 echo "#define HOST_SPARC64 1" >> $config_h
1205 echo "Unsupported CPU = $cpu"
1209 if test "$sparse" = "yes" ; then
1210 echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak
1211 echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak
1212 echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak
1214 if test "$bigendian" = "yes" ; then
1215 echo "WORDS_BIGENDIAN=yes" >> $config_mak
1216 echo "#define WORDS_BIGENDIAN 1" >> $config_h
1218 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
1219 if test "$mingw32" = "yes" ; then
1220 echo "CONFIG_WIN32=yes" >> $config_mak
1221 echo "#define CONFIG_WIN32 1" >> $config_h
1224 #include <byteswap.h>
1225 int main(void) { return bswap_32(0); }
1227 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev
/null
; then
1228 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
1232 if [ "$openbsd" = "yes" ] ; then
1233 echo "#define ENOTSUP 4096" >> $config_h
1236 if test "$darwin" = "yes" ; then
1237 echo "CONFIG_DARWIN=yes" >> $config_mak
1238 echo "#define CONFIG_DARWIN 1" >> $config_h
1241 if test "$aix" = "yes" ; then
1242 echo "CONFIG_AIX=yes" >> $config_mak
1243 echo "#define CONFIG_AIX 1" >> $config_h
1246 if test "$solaris" = "yes" ; then
1247 echo "CONFIG_SOLARIS=yes" >> $config_mak
1248 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
1249 if test "$needs_libsunmath" = "yes" ; then
1250 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
1251 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
1254 if test -n "$sparc_cpu"; then
1255 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
1256 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1258 if test "$gdbstub" = "yes" ; then
1259 echo "CONFIG_GDBSTUB=yes" >> $config_mak
1260 echo "#define CONFIG_GDBSTUB 1" >> $config_h
1262 if test "$gprof" = "yes" ; then
1263 echo "TARGET_GPROF=yes" >> $config_mak
1264 echo "#define HAVE_GPROF 1" >> $config_h
1266 if test "$static" = "yes" ; then
1267 echo "CONFIG_STATIC=yes" >> $config_mak
1268 echo "#define CONFIG_STATIC 1" >> $config_h
1270 if test $profiler = "yes" ; then
1271 echo "#define CONFIG_PROFILER 1" >> $config_h
1273 if test "$slirp" = "yes" ; then
1274 echo "CONFIG_SLIRP=yes" >> $config_mak
1275 echo "#define CONFIG_SLIRP 1" >> $config_h
1277 if test "$vde" = "yes" ; then
1278 echo "CONFIG_VDE=yes" >> $config_mak
1279 echo "#define CONFIG_VDE 1" >> $config_h
1280 echo "VDE_LIBS=-lvdeplug" >> $config_mak
1282 for card
in $audio_card_list; do
1283 def
=CONFIG_
`echo $card | tr '[:lower:]' '[:upper:]'`
1284 echo "$def=yes" >> $config_mak
1285 echo "#define $def 1" >> $config_h
1287 echo "#define AUDIO_DRIVERS \\" >> $config_h
1288 for drv
in $audio_drv_list; do
1289 echo " &${drv}_audio_driver, \\" >>$config_h
1290 def
=CONFIG_
`echo $drv | tr '[:lower:]' '[:upper:]'`
1291 echo "$def=yes" >> $config_mak
1292 if test "$drv" = "fmod"; then
1293 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
1294 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
1295 elif test "$drv" = "oss"; then
1296 echo "CONFIG_OSS_LIB=$oss_lib" >> $config_mak
1300 if test "$mixemu" = "yes" ; then
1301 echo "CONFIG_MIXEMU=yes" >> $config_mak
1302 echo "#define CONFIG_MIXEMU 1" >> $config_h
1304 if test "$vnc_tls" = "yes" ; then
1305 echo "CONFIG_VNC_TLS=yes" >> $config_mak
1306 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
1307 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
1308 echo "#define CONFIG_VNC_TLS 1" >> $config_h
1310 qemu_version
=`head $source_path/VERSION`
1311 echo "VERSION=$qemu_version" >>$config_mak
1312 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
1314 echo "SRC_PATH=$source_path" >> $config_mak
1315 if [ "$source_path_used" = "yes" ]; then
1316 echo "VPATH=$source_path" >> $config_mak
1318 echo "TARGET_DIRS=$target_list" >> $config_mak
1319 if [ "$build_docs" = "yes" ] ; then
1320 echo "BUILD_DOCS=yes" >> $config_mak
1322 if test "$static" = "yes"; then
1327 if test "$sdl1" = "yes" ; then
1328 echo "#define CONFIG_SDL 1" >> $config_h
1329 echo "CONFIG_SDL=yes" >> $config_mak
1330 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1331 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1333 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1335 if [ "${aa}" = "yes" ] ; then
1336 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1338 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1341 if test "$cocoa" = "yes" ; then
1342 echo "#define CONFIG_COCOA 1" >> $config_h
1343 echo "CONFIG_COCOA=yes" >> $config_mak
1345 if test "$curses" = "yes" ; then
1346 echo "#define CONFIG_CURSES 1" >> $config_h
1347 echo "CONFIG_CURSES=yes" >> $config_mak
1348 echo "CURSES_LIBS=-lcurses" >> $config_mak
1350 if test "$brlapi" = "yes" ; then
1351 echo "CONFIG_BRLAPI=yes" >> $config_mak
1352 echo "#define CONFIG_BRLAPI 1" >> $config_h
1353 echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak
1355 if test "$bluez" = "yes" ; then
1356 echo "CONFIG_BLUEZ=yes" >> $config_mak
1357 echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_mak
1358 echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_mak
1359 echo "#define CONFIG_BLUEZ 1" >> $config_h
1361 if test "$aio" = "yes" ; then
1362 echo "#define CONFIG_AIO 1" >> $config_h
1363 echo "CONFIG_AIO=yes" >> $config_mak
1365 if test "$blobs" = "yes" ; then
1366 echo "INSTALL_BLOBS=yes" >> $config_mak
1369 # XXX: suppress that
1370 if [ "$bsd" = "yes" ] ; then
1371 echo "#define O_LARGEFILE 0" >> $config_h
1372 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
1373 echo "#define _BSD 1" >> $config_h
1376 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
1381 echo "HOST_USB=linux" >> $config_mak
1384 echo "HOST_USB=bsd" >> $config_mak
1387 echo "HOST_USB=stub" >> $config_mak
1392 if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
1393 tools
="qemu-img\$(EXESUF) $tools"
1394 if [ "$linux" = "yes" ] ; then
1395 tools
="qemu-nbd\$(EXESUF) $tools"
1398 echo "TOOLS=$tools" >> $config_mak
1400 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~
$config_h
1402 for target
in $target_list; do
1403 target_dir
="$target"
1404 config_mak
=$target_dir/config.mak
1405 config_h
=$target_dir/config.h
1406 target_cpu
=`echo $target | cut -d '-' -f 1`
1407 target_bigendian
="no"
1408 [ "$target_cpu" = "armeb" ] && target_bigendian
=yes
1409 [ "$target_cpu" = "m68k" ] && target_bigendian
=yes
1410 [ "$target_cpu" = "mips" ] && target_bigendian
=yes
1411 [ "$target_cpu" = "mipsn32" ] && target_bigendian
=yes
1412 [ "$target_cpu" = "mips64" ] && target_bigendian
=yes
1413 [ "$target_cpu" = "ppc" ] && target_bigendian
=yes
1414 [ "$target_cpu" = "ppcemb" ] && target_bigendian
=yes
1415 [ "$target_cpu" = "ppc64" ] && target_bigendian
=yes
1416 [ "$target_cpu" = "ppc64abi32" ] && target_bigendian
=yes
1417 [ "$target_cpu" = "sh4eb" ] && target_bigendian
=yes
1418 [ "$target_cpu" = "sparc" ] && target_bigendian
=yes
1419 [ "$target_cpu" = "sparc64" ] && target_bigendian
=yes
1420 [ "$target_cpu" = "sparc32plus" ] && target_bigendian
=yes
1422 target_user_only
="no"
1423 target_linux_user
="no"
1424 target_darwin_user
="no"
1425 target_bsd_user
="no"
1427 ${target_cpu}-softmmu)
1428 target_softmmu
="yes"
1430 ${target_cpu}-linux-user)
1431 target_user_only
="yes"
1432 target_linux_user
="yes"
1434 ${target_cpu}-darwin-user)
1435 target_user_only
="yes"
1436 target_darwin_user
="yes"
1438 ${target_cpu}-bsd-user)
1439 target_user_only
="yes"
1440 target_bsd_user
="yes"
1443 echo "ERROR: Target '$target' not recognised"
1448 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1449 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1450 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1451 echo "To build QEMU without graphical output configure with --disable-gfx-check"
1452 echo "Note that this will disable all output from the virtual graphics card"
1453 echo "except through VNC or curses."
1457 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1459 test -f $config_h && mv $config_h ${config_h}~
1461 mkdir
-p $target_dir
1462 mkdir
-p $target_dir/fpu
1463 mkdir
-p $target_dir/tcg
1464 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
1465 mkdir
-p $target_dir/nwfpe
1469 # don't use ln -sf as not all "ln -sf" over write the file/link
1471 rm -f $target_dir/Makefile
1472 ln -s $source_path/Makefile.target
$target_dir/Makefile
1475 echo "# Automatically generated by configure - do not modify" > $config_mak
1476 echo "/* Automatically generated by configure - do not modify */" > $config_h
1479 echo "include ../config-host.mak" >> $config_mak
1480 echo "#include \"../config-host.h\"" >> $config_h
1485 interp_prefix1
=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1486 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1489 # Make sure the target and host cpus are compatible
1490 if test "$kvm" = "yes" -a ! \
( "$target_cpu" = "$cpu" -o \
1491 \
( "$target_cpu" = "x86_64" -a "$cpu" = "i386" \
) -o \
1492 \
( "$target_cpu" = "i386" -a "$cpu" = "x86_64" \
) \
) ; then
1495 # Disable KVM for linux-user
1496 if test "$kvm" = "yes" -a "$target_softmmu" = "no" ; then
1500 case "$target_cpu" in
1502 echo "TARGET_ARCH=i386" >> $config_mak
1503 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1504 echo "#define TARGET_I386 1" >> $config_h
1505 if test $kqemu = "yes" -a "$target_softmmu" = "yes"
1507 echo "#define USE_KQEMU 1" >> $config_h
1509 if test "$kvm" = "yes" ; then
1510 echo "CONFIG_KVM=yes" >> $config_mak
1511 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1512 echo "#define CONFIG_KVM 1" >> $config_h
1514 gcc3minver
=`$cc --version 2> /dev/null| fgrep "(GCC) 3." | awk '{ print $3 }' | cut -f2 -d.`
1515 if test -n "$gcc3minver" && test $gcc3minver -gt 3
1517 echo "HAVE_GT_GCC_3_3=true" >> $config_mak
1519 echo "HAVE_GT_GCC_3_3=false" >> $config_mak
1523 echo "TARGET_ARCH=x86_64" >> $config_mak
1524 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1525 echo "#define TARGET_I386 1" >> $config_h
1526 echo "#define TARGET_X86_64 1" >> $config_h
1527 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
1529 echo "#define USE_KQEMU 1" >> $config_h
1531 if test "$kvm" = "yes" ; then
1532 echo "CONFIG_KVM=yes" >> $config_mak
1533 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1534 echo "#define CONFIG_KVM 1" >> $config_h
1538 echo "TARGET_ARCH=alpha" >> $config_mak
1539 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1540 echo "#define TARGET_ALPHA 1" >> $config_h
1543 echo "TARGET_ARCH=arm" >> $config_mak
1544 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1545 echo "#define TARGET_ARM 1" >> $config_h
1548 gdb_xml_files
="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
1551 echo "TARGET_ARCH=cris" >> $config_mak
1552 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1553 echo "#define TARGET_CRIS 1" >> $config_h
1556 echo "TARGET_ARCH=m68k" >> $config_mak
1557 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1558 echo "#define TARGET_M68K 1" >> $config_h
1560 gdb_xml_files
="cf-core.xml cf-fp.xml"
1563 echo "TARGET_ARCH=mips" >> $config_mak
1564 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1565 echo "#define TARGET_MIPS 1" >> $config_h
1566 echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1569 echo "TARGET_ARCH=mipsn32" >> $config_mak
1570 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1571 echo "#define TARGET_MIPS 1" >> $config_h
1572 echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1575 echo "TARGET_ARCH=mips64" >> $config_mak
1576 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1577 echo "#define TARGET_MIPS 1" >> $config_h
1578 echo "#define TARGET_MIPS64 1" >> $config_h
1579 echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1582 echo "TARGET_ARCH=ppc" >> $config_mak
1583 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1584 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1585 echo "#define TARGET_PPC 1" >> $config_h
1586 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1589 echo "TARGET_ARCH=ppcemb" >> $config_mak
1590 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1591 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1592 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1593 echo "#define TARGET_PPC 1" >> $config_h
1594 echo "#define TARGET_PPCEMB 1" >> $config_h
1595 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1598 echo "TARGET_ARCH=ppc64" >> $config_mak
1599 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1600 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1601 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1602 echo "#define TARGET_PPC 1" >> $config_h
1603 echo "#define TARGET_PPC64 1" >> $config_h
1604 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1607 echo "TARGET_ARCH=ppc64" >> $config_mak
1608 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1609 echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
1610 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1611 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1612 echo "#define TARGET_PPC 1" >> $config_h
1613 echo "#define TARGET_PPC64 1" >> $config_h
1614 echo "#define TARGET_ABI32 1" >> $config_h
1615 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1618 echo "TARGET_ARCH=sh4" >> $config_mak
1619 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1620 echo "#define TARGET_SH4 1" >> $config_h
1625 echo "TARGET_ARCH=sparc" >> $config_mak
1626 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1627 echo "#define TARGET_SPARC 1" >> $config_h
1630 echo "TARGET_ARCH=sparc64" >> $config_mak
1631 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1632 echo "#define TARGET_SPARC 1" >> $config_h
1633 echo "#define TARGET_SPARC64 1" >> $config_h
1637 echo "TARGET_ARCH=sparc64" >> $config_mak
1638 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1639 echo "TARGET_ARCH2=sparc32plus" >> $config_mak
1640 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1641 echo "#define TARGET_SPARC 1" >> $config_h
1642 echo "#define TARGET_SPARC64 1" >> $config_h
1643 echo "#define TARGET_ABI32 1" >> $config_h
1646 echo "Unsupported target CPU"
1650 if test "$target_bigendian" = "yes" ; then
1651 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1652 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1654 if test "$target_softmmu" = "yes" ; then
1655 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1656 echo "#define CONFIG_SOFTMMU 1" >> $config_h
1658 if test "$target_user_only" = "yes" ; then
1659 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1660 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1662 if test "$target_linux_user" = "yes" ; then
1663 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1664 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1666 if test "$target_darwin_user" = "yes" ; then
1667 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1668 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1671 if test ! -z "$gdb_xml_files" ; then
1672 for x
in $gdb_xml_files; do
1673 list
="$list $source_path/gdb-xml/$x"
1676 echo "TARGET_XML_FILES=$list" >> $config_mak
1678 if test "$target_cpu" = "arm" \
1679 -o "$target_cpu" = "armeb" \
1680 -o "$target_cpu" = "m68k" \
1681 -o "$target_cpu" = "mips" \
1682 -o "$target_cpu" = "mipsel" \
1683 -o "$target_cpu" = "mipsn32" \
1684 -o "$target_cpu" = "mipsn32el" \
1685 -o "$target_cpu" = "mips64" \
1686 -o "$target_cpu" = "mips64el" \
1687 -o "$target_cpu" = "sparc" \
1688 -o "$target_cpu" = "sparc64" \
1689 -o "$target_cpu" = "sparc32plus"; then
1690 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1691 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1693 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1694 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1695 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1697 if test "$target_user_only" = "yes" \
1698 -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1699 echo "#define USE_NPTL 1" >> $config_h
1701 # 32 bit ELF loader in addition to native 64 bit loader?
1702 if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1703 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1704 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1706 if test "$target_bsd_user" = "yes" ; then
1707 echo "CONFIG_BSD_USER=yes" >> $config_mak
1708 echo "#define CONFIG_BSD_USER 1" >> $config_h
1711 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~
$config_h
1713 done # for target in $targets
1715 # build tree in object directory if source path is different from current one
1716 if test "$source_path_used" = "yes" ; then
1717 DIRS
="tests tests/cris slirp audio"
1718 FILES
="Makefile tests/Makefile"
1719 FILES
="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1720 FILES
="$FILES tests/test-mmap.c"
1721 for dir
in $DIRS ; do
1724 # remove the link and recreate it, as not all "ln -sf" overwrite the link
1725 for f
in $FILES ; do
1727 ln -s $source_path/$f $f
1731 rm -f $TMPO $TMPC $TMPE $TMPS $TMPI