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"
38 i386|i486|i586|i686|i86pc|BePC)
71 "Power Macintosh"|ppc|ppc64)
125 OS_CFLAGS="-mno-cygwin"
126 if [ "$cpu" = "i386" ] ; then
129 audio_possible_drivers="sdl"
133 if [ "$cpu" = "i386" ] ; then
136 audio_possible_drivers="dsound sdl fmod"
140 audio_possible_drivers="oss sdl esd pa"
141 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
148 audio_possible_drivers="oss sdl esd pa"
149 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
156 audio_possible_drivers="oss sdl esd"
162 audio_possible_drivers="oss sdl esd"
170 audio_drv_list="coreaudio"
171 audio_possible_drivers="coreaudio sdl fmod"
172 OS_CFLAGS="-mdynamic-no-pic"
173 OS_LDFLAGS="-framework CoreFoundation -framework IOKit"
179 needs_libsunmath="no"
180 solarisrev=`uname -r | cut -f2 -d.`
181 # have to select again, because `uname -m` returns i86pc
182 # even on an x86_64 box.
183 solariscpu=`isainfo -k`
184 if test "${solariscpu}" = "amd64" ; then
187 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
188 if test "$solarisrev" -le 9 ; then
189 if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
190 needs_libsunmath="yes"
192 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
193 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
194 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
195 echo "Studio 11 can be downloaded from www.sun.com."
199 if test "$solarisrev" -ge 9 ; then
203 if test -f /usr/include/sys/soundcard.h ; then
206 audio_possible_drivers="oss sdl"
210 audio_possible_drivers="oss alsa sdl esd pa"
213 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
215 audio_possible_drivers="$audio_possible_drivers fmod"
220 if [ "$bsd" = "yes" ] ; then
221 if [ "$darwin" != "yes" ] ; then
228 source_path=`dirname "$0"`
229 source_path_used="no"
231 if [ -z "$source_path" ]; then
234 source_path=`cd "$source_path"; pwd`
236 [ -f "$workdir/vl.c" ] || source_path_used="yes"
239 # generate compile errors on warnings for development builds
240 #if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
245 optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
247 --help|-h) show_help=yes
249 --prefix=*) prefix="$optarg"
251 --interp-prefix=*) interp_prefix="$optarg"
253 --source-path=*) source_path="$optarg"
254 source_path_used="yes"
256 --cross-prefix=*) cross_prefix="$optarg"
261 --host-cc=*) host_cc="$optarg"
263 --make=*) make="$optarg"
265 --install=*) install="$optarg"
267 --extra-cflags=*) CFLAGS="$optarg"
269 --extra-ldflags=*) LDFLAGS="$optarg"
271 --cpu=*) cpu="$optarg"
273 --target-list=*) target_list="$optarg"
275 --enable-gprof) gprof="yes"
277 --static) static="yes"
279 --disable-sdl) sdl="no"
281 --fmod-lib=*) fmod_lib="$optarg"
283 --fmod-inc=*) fmod_inc="$optarg"
285 --oss-lib=*) oss_lib="$optarg"
287 --audio-card-list=*) audio_card_list=`echo "$optarg" | sed -e 's/,/ /g'`
289 --audio-drv-list=*) audio_drv_list="$optarg"
291 --enable-sparse) sparse="yes"
293 --disable-sparse) sparse="no"
295 --disable-vnc-tls) vnc_tls="no"
297 --disable-slirp) slirp="no"
299 --disable-vde) vde="no"
301 --disable-kqemu) kqemu="no"
303 --disable-brlapi) brlapi="no"
305 --disable-bluez) bluez="no"
307 --disable-kvm) kvm="no"
309 --enable-profiler) profiler="yes"
314 audio_drv_list="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
316 --disable-gfx-check) check_gfx="no"
318 --disable-gcc-check) check_gcc="no"
320 --disable-system) softmmu="no"
322 --enable-system) softmmu="yes"
324 --disable-linux-user) linux_user="no"
326 --enable-linux-user) linux_user="yes"
328 --disable-darwin-user) darwin_user="no"
330 --enable-darwin-user) darwin_user="yes"
332 --disable-bsd-user) bsd_user="no"
334 --enable-bsd-user) bsd_user="yes"
336 --enable-uname-release=*) uname_release="$optarg"
341 v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
342 target_cpu="sparc"; cpu="sparc" ;;
343 v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
344 target_cpu="sparc"; cpu="sparc" ;;
345 v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
346 target_cpu="sparc64"; cpu="sparc64" ;;
347 *) echo "undefined SPARC architecture. Exiting";exit 1;;
350 --enable-werror) werror="yes"
352 --disable-werror) werror="no"
354 --disable-curses) curses="no"
356 --disable-nptl) nptl="no"
358 --enable-mixemu) mixemu="yes"
360 --disable-aio) aio="no"
362 *) echo "ERROR: unknown option $opt"; show_help="yes"
367 # default flags for all hosts
368 CFLAGS="$CFLAGS -O2 -g -fno-strict-aliasing"
369 CFLAGS="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings"
370 LDFLAGS="$LDFLAGS -g"
371 if test "$werror" = "yes" ; then
372 CFLAGS="$CFLAGS -Werror"
375 if test "$solaris" = "no" ; then
376 if ld --version 2>/dev/null | grep "GNU ld" >/dev/null 2>/dev/null ; then
377 LDFLAGS="$LDFLAGS -Wl,--warn-common"
382 # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
383 # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
386 sparc) if test -z "$sparc_cpu" ; then
387 ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
390 ARCH_CFLAGS="${SP_CFLAGS}"
391 ARCH_LDFLAGS="${SP_LDFLAGS}"
394 sparc64) if test -z "$sparc_cpu" ; then
395 ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
398 ARCH_CFLAGS="${SP_CFLAGS}"
399 ARCH_LDFLAGS="${SP_LDFLAGS}"
403 ARCH_CFLAGS="-march=z900"
415 if test x"$show_help" = x"yes" ; then
418 Usage: configure [options]
419 Options: [defaults in brackets after descriptions]
422 echo "Standard options:"
423 echo " --help print this message"
424 echo " --prefix=PREFIX install in PREFIX [$prefix]"
425 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
426 echo " use %M for cpu name [$interp_prefix]"
427 echo " --target-list=LIST set target list [$target_list]"
429 echo "kqemu kernel acceleration support:"
430 echo " --disable-kqemu disable kqemu support"
432 echo "Advanced options (experts only):"
433 echo " --source-path=PATH path of source code [$source_path]"
434 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
435 echo " --cc=CC use C compiler CC [$cc]"
436 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
437 echo " --make=MAKE use specified make [$make]"
438 echo " --install=INSTALL use specified install [$install]"
439 echo " --static enable static build [$static]"
440 echo " --enable-sparse enable sparse checker"
441 echo " --disable-sparse disable sparse checker (default)"
442 echo " --disable-werror disable compilation abort on warning"
443 echo " --disable-sdl disable SDL"
444 echo " --enable-cocoa enable COCOA (Mac OS X only)"
445 echo " --audio-drv-list=LIST set audio drivers list:"
446 echo " Available drivers: $audio_possible_drivers"
447 echo " --audio-card-list=LIST set list of additional emulated audio cards"
448 echo " Available cards: ac97 adlib cs4231a gus"
449 echo " --enable-mixemu enable mixer emulation"
450 echo " --disable-brlapi disable BrlAPI"
451 echo " --disable-vnc-tls disable TLS encryption for VNC server"
452 echo " --disable-curses disable curses output"
453 echo " --disable-bluez disable bluez stack connectivity"
454 echo " --disable-kvm disable KVM acceleration support"
455 echo " --disable-nptl disable usermode NPTL support"
456 echo " --enable-system enable all system emulation targets"
457 echo " --disable-system disable all system emulation targets"
458 echo " --enable-linux-user enable all linux usermode emulation targets"
459 echo " --disable-linux-user disable all linux usermode emulation targets"
460 echo " --enable-darwin-user enable all darwin usermode emulation targets"
461 echo " --disable-darwin-user disable all darwin usermode emulation targets"
462 echo " --enable-bsd-user enable all BSD usermode emulation targets"
463 echo " --disable-bsd-user disable all BSD usermode emulation targets"
464 echo " --fmod-lib path to FMOD library"
465 echo " --fmod-inc path to FMOD includes"
466 echo " --oss-lib path to OSS library"
467 echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
468 echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
469 echo " --disable-vde disable support for vde network"
470 echo " --disable-aio disable AIO support"
472 echo "NOTE: The object files are built at the place where configure is launched"
476 cc="${cross_prefix}${cc}"
477 ar="${cross_prefix}${ar}"
478 strip="${cross_prefix}${strip}"
480 # check that the C compiler works.
485 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
486 : C compiler works ok
488 echo "ERROR: \"$cc\" either does not exist or does not work"
492 # check compiler to see if we're on mingw32
501 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
505 if test "$mingw32" = "yes" ; then
513 if [ "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
515 elif [ "$bsd" = "yes" ]; then
518 # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
519 AIOLIBS="-lrt -lpthread"
522 # Check for gcc4, error if pre-gcc4
523 if test "$check_gcc" = "yes" ; then
528 int main(){return 0;}
530 if "$cc" $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
531 echo "WARNING: \"$cc\" looks like gcc 4.x"
533 if test "$gcc3_search" = "yes" ; then
534 echo "Looking for gcc 3.x"
535 for compat_cc in $gcc3_list ; do
536 if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
537 echo "Found \"$compat_cc\""
538 cc="$cross_prefix$compat_cc"
539 found_compat_cc="yes"
543 if test "$found_compat_cc" = "no" ; then
544 echo "gcc 3.x not found!"
547 if test "$found_compat_cc" = "no" ; then
548 echo "QEMU is known to have problems when compiled with gcc 4.x"
549 echo "It is recommended that you use gcc 3.x to build QEMU"
550 echo "To use this compiler anyway, configure with --disable-gcc-check"
556 if test ! -x "$(which cgcc 2>/dev/null)"; then
561 # Solaris specific configure tool chain decisions
563 if test "$solaris" = "yes" ; then
565 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
566 # override the check with --disable-gcc-check
568 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
570 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
571 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
572 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
573 echo "or get the latest patch from SunSolve for gcc"
577 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
578 if test -z "$solinst" ; then
579 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
580 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
581 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
584 if test "$solinst" = "/usr/sbin/install" ; then
585 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
586 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
587 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
590 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
591 if test -z "$sol_ar" ; then
592 echo "Error: No path includes ar"
593 if test -f /usr/ccs/bin/ar ; then
594 echo "Add /usr/ccs/bin to your path and rerun configure"
601 if test -z "$target_list" ; then
602 # these targets are portable
603 if [ "$softmmu" = "yes" ] ; then
622 # the following are Linux specific
623 if [ "$linux_user" = "yes" ] ; then
624 target_list="${target_list}\
636 ppc64abi32-linux-user \
641 sparc32plus-linux-user \
644 # the following are Darwin specific
645 if [ "$darwin_user" = "yes" ] ; then
646 target_list="$target_list i386-darwin-user ppc-darwin-user"
648 # the following are BSD specific
649 if [ "$bsd_user" = "yes" ] ; then
650 target_list="${target_list}\
655 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
657 if test -z "$target_list" ; then
658 echo "No targets enabled"
662 if test -z "$cross_prefix" ; then
665 # big/little endian test
667 #include <inttypes.h>
668 int main(int argc, char ** argv){
669 volatile uint32_t i=0x01234567;
670 return (*((uint8_t*)(&i))) == 0x67;
674 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
675 $TMPE && bigendian="yes"
677 echo big/little test failed
682 # if cross compiling, cannot launch a program, so make a static guess
683 if test "$cpu" = "armv4b" \
687 -o "$cpu" = "mips64" \
688 -o "$cpu" = "powerpc" \
690 -o "$cpu" = "sparc" \
691 -o "$cpu" = "sparc64"; then
697 # host long bits test
699 if test "$cpu" = "x86_64" \
700 -o "$cpu" = "alpha" \
702 -o "$cpu" = "sparc64"; then
706 # ppc specific hostlongbits selection
707 if test "$cpu" = "powerpc" ; then
708 if $cc $ARCH_CFLAGS -dM -E - -o $TMPI 2>/dev/null </dev/null; then
709 grep -q __powerpc64__ $TMPI && hostlongbits=64
711 echo hostlongbits test failed
716 # check gcc options support
722 # Check host NPTL support
725 #include <linux/futex.h>
728 #if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
734 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
740 ##########################################
745 int main(void) { zlibVersion(); return 0; }
747 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz 2> /dev/null ; then
751 echo "Error: zlib check failed"
752 echo "Make sure to have the zlib libs and headers installed."
757 ##########################################
762 if test -z "$sdl" ; then
763 sdl_config="sdl-config"
769 #undef main /* We don't want SDL to override our main() */
770 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
772 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
773 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
774 if test "$_sdlversion" -lt 121 ; then
777 if test "$cocoa" = "no" ; then
782 # static link with sdl ?
783 if test "$sdl" = "yes" ; then
785 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
786 sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
787 if [ "$aa" = "yes" ] ; then
788 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
791 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
795 fi # sdl compile test
797 # Make sure to disable cocoa if sdl was set
798 if test "$sdl" = "yes" ; then
800 audio_drv_list="`echo $audio_drv_list | sed s,coreaudio,,g`"
804 ##########################################
806 if test "$vnc_tls" = "yes" ; then
808 #include <gnutls/gnutls.h>
809 int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
811 vnc_tls_cflags=`pkg-config --cflags gnutls 2> /dev/null`
812 vnc_tls_libs=`pkg-config --libs gnutls 2> /dev/null`
813 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \
814 $vnc_tls_libs 2> /dev/null ; then
821 ##########################################
822 # vde libraries probe
823 if test "$vde" = "yes" ; then
825 #include <libvdeplug.h>
828 struct vde_open_args a = {0, 0, 0};
829 vde_open("", "", &a);
833 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug 2> /dev/null ; then
840 ##########################################
841 # Sound support libraries probe
852 int main(void) { $exp }
854 if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib 2> /dev/null ; then
858 echo "Error: $drv check failed"
859 echo "Make sure to have the $drv libs and headers installed."
865 audio_drv_list=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
866 for drv in $audio_drv_list; do
869 audio_drv_probe $drv alsa/asoundlib.h -lasound \
870 "snd_pcm_t **handle; return snd_pcm_close(*handle);"
874 if test -z $fmod_lib || test -z $fmod_inc; then
876 echo "Error: You must specify path to FMOD library and headers"
877 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
881 audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
885 audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);'
889 audio_drv_probe $drv pulse/simple.h -lpulse-simple \
890 "pa_simple *s = NULL; pa_simple_free(s); return 0;"
893 oss|sdl|core|wav|dsound)
894 # XXX: Probes for CoreAudio, DirectSound, SDL(?)
898 echo "$audio_possible_drivers" | grep -q "\<$drv\>" || {
900 echo "Error: Unknown driver '$drv' selected"
901 echo "Possible drivers are: $audio_possible_drivers"
909 ##########################################
912 if test -z "$brlapi" ; then
916 int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
918 if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi 2> /dev/null ; then
920 fi # brlapi compile test
923 ##########################################
926 if test "$curses" = "yes" ; then
930 int main(void) { return curses_version(); }
932 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses 2> /dev/null ; then
937 ##########################################
938 # bluez support probe
939 if test "$bluez" = "yes" ; then
940 `pkg-config bluez` || bluez="no"
942 if test "$bluez" = "yes" ; then
944 #include <bluetooth/bluetooth.h>
945 int main(void) { return bt_error(0); }
947 bluez_cflags=`pkg-config --cflags bluez`
948 bluez_libs=`pkg-config --libs bluez`
949 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \
950 $bluez_libs 2> /dev/null ; then
957 ##########################################
959 if test "$kvm" = "yes" ; then
961 #include <linux/kvm.h>
962 #if !defined(KVM_API_VERSION) || \
963 KVM_API_VERSION < 12 || \
964 KVM_API_VERSION > 12 || \
965 !defined(KVM_CAP_USER_MEMORY) || \
966 !defined(KVM_CAP_SET_TSS_ADDR)
967 #error Invalid KVM version
969 int main(void) { return 0; }
971 # FIXME make this configurable
972 kvm_cflags=-I/lib/modules/`uname -r`/build/include
973 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC \
981 ##########################################
983 if test "$aio" = "yes" ; then
987 int main(void) { return aio_write(NULL); }
989 if $cc $ARCH_CFLAGS -o $TMPE $AIOLIBS $TMPC 2> /dev/null ; then
994 # Check if tools are available to build documentation.
995 if [ -x "`which texi2html 2>/dev/null`" ] && \
996 [ -x "`which pod2man 2>/dev/null`" ]; then
1000 if test "$mingw32" = "yes" ; then
1001 if test -z "$prefix" ; then
1002 prefix="c:\\\\Program Files\\\\Qemu"
1009 if test -z "$prefix" ; then
1012 mansuffix="/share/man"
1013 datasuffix="/share/qemu"
1014 docsuffix="/share/doc/qemu"
1018 echo "Install prefix $prefix"
1019 echo "BIOS directory $prefix$datasuffix"
1020 echo "binary directory $prefix$binsuffix"
1021 if test "$mingw32" = "no" ; then
1022 echo "Manual directory $prefix$mansuffix"
1023 echo "ELF interp prefix $interp_prefix"
1025 echo "Source path $source_path"
1026 echo "C compiler $cc"
1027 echo "Host C compiler $host_cc"
1028 echo "ARCH_CFLAGS $ARCH_CFLAGS"
1030 echo "install $install"
1031 echo "host CPU $cpu"
1032 echo "host big endian $bigendian"
1033 echo "target list $target_list"
1034 echo "gprof enabled $gprof"
1035 echo "sparse enabled $sparse"
1036 echo "profiler $profiler"
1037 echo "static build $static"
1038 echo "-Werror enabled $werror"
1039 if test "$darwin" = "yes" ; then
1040 echo "Cocoa support $cocoa"
1042 echo "SDL support $sdl"
1043 if test "$sdl" != "no" ; then
1044 echo "SDL static link $sdl_static"
1046 echo "curses support $curses"
1047 echo "mingw32 support $mingw32"
1048 echo "Audio drivers $audio_drv_list"
1049 echo "Extra audio cards $audio_card_list"
1050 echo "Mixer emulation $mixemu"
1051 echo "VNC TLS support $vnc_tls"
1052 if test "$vnc_tls" = "yes" ; then
1053 echo " TLS CFLAGS $vnc_tls_cflags"
1054 echo " TLS LIBS $vnc_tls_libs"
1056 if test -n "$sparc_cpu"; then
1057 echo "Target Sparc Arch $sparc_cpu"
1059 echo "kqemu support $kqemu"
1060 echo "brlapi support $brlapi"
1061 echo "Documentation $build_docs"
1062 [ ! -z "$uname_release" ] && \
1063 echo "uname -r $uname_release"
1064 echo "NPTL support $nptl"
1065 echo "vde support $vde"
1066 echo "AIO support $aio"
1067 echo "KVM support $kvm"
1069 if test $sdl_too_old = "yes"; then
1070 echo "-> Your SDL version is too old - please upgrade to have SDL support"
1072 if [ -s /tmp/qemu-$$-sdl-config.log ]; then
1073 echo "The error log from compiling the libSDL test is: "
1074 cat /tmp/qemu-$$-sdl-config.log
1076 rm -f /tmp/qemu-$$-sdl-config.log
1077 #if test "$sdl_static" = "no"; then
1078 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
1080 config_mak="config-host.mak"
1081 config_h="config-host.h"
1083 #echo "Creating $config_mak and $config_h"
1085 test -f $config_h && mv $config_h ${config_h}~
1087 echo "# Automatically generated by configure - do not modify" > $config_mak
1088 echo "# Configured with: $0 $@" >> $config_mak
1089 echo "/* Automatically generated by configure - do not modify */" > $config_h
1091 echo "prefix=$prefix" >> $config_mak
1092 echo "bindir=\${prefix}$binsuffix" >> $config_mak
1093 echo "mandir=\${prefix}$mansuffix" >> $config_mak
1094 echo "datadir=\${prefix}$datasuffix" >> $config_mak
1095 echo "docdir=\${prefix}$docsuffix" >> $config_mak
1096 echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
1097 echo "MAKE=$make" >> $config_mak
1098 echo "INSTALL=$install" >> $config_mak
1099 echo "CC=$cc" >> $config_mak
1100 echo "HOST_CC=$host_cc" >> $config_mak
1101 echo "AR=$ar" >> $config_mak
1102 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
1103 # XXX: only use CFLAGS and LDFLAGS ?
1104 # XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
1105 # compilation of dyngen tool (useful for win32 build on Linux host)
1106 echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
1107 echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
1108 echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
1109 echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
1110 echo "CFLAGS=$CFLAGS" >> $config_mak
1111 echo "LDFLAGS=$LDFLAGS" >> $config_mak
1112 echo "EXESUF=$EXESUF" >> $config_mak
1113 echo "AIOLIBS=$AIOLIBS" >> $config_mak
1116 echo "ARCH=i386" >> $config_mak
1117 echo "#define HOST_I386 1" >> $config_h
1120 echo "ARCH=x86_64" >> $config_mak
1121 echo "#define HOST_X86_64 1" >> $config_h
1124 echo "ARCH=alpha" >> $config_mak
1125 echo "#define HOST_ALPHA 1" >> $config_h
1128 echo "ARCH=arm" >> $config_mak
1129 echo "#define HOST_ARM 1" >> $config_h
1132 echo "ARCH=arm" >> $config_mak
1133 echo "#define HOST_ARM 1" >> $config_h
1136 echo "ARCH=cris" >> $config_mak
1137 echo "#define HOST_CRIS 1" >> $config_h
1140 echo "ARCH=hppa" >> $config_mak
1141 echo "#define HOST_HPPA 1" >> $config_h
1144 echo "ARCH=ia64" >> $config_mak
1145 echo "#define HOST_IA64 1" >> $config_h
1148 echo "ARCH=m68k" >> $config_mak
1149 echo "#define HOST_M68K 1" >> $config_h
1152 echo "ARCH=mips" >> $config_mak
1153 echo "#define HOST_MIPS 1" >> $config_h
1156 echo "ARCH=mips64" >> $config_mak
1157 echo "#define HOST_MIPS64 1" >> $config_h
1160 if test "$hostlongbits" = "32"; then
1161 echo "ARCH=ppc" >> $config_mak
1162 echo "#define HOST_PPC 1" >> $config_h
1164 echo "ARCH=ppc64" >> $config_mak
1165 echo "#define HOST_PPC64 1" >> $config_h
1169 echo "ARCH=s390" >> $config_mak
1170 echo "#define HOST_S390 1" >> $config_h
1173 echo "ARCH=sparc" >> $config_mak
1174 echo "#define HOST_SPARC 1" >> $config_h
1177 echo "ARCH=sparc64" >> $config_mak
1178 echo "#define HOST_SPARC64 1" >> $config_h
1181 echo "Unsupported CPU = $cpu"
1185 if test "$sparse" = "yes" ; then
1186 echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak
1187 echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak
1188 echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak
1190 if test "$bigendian" = "yes" ; then
1191 echo "WORDS_BIGENDIAN=yes" >> $config_mak
1192 echo "#define WORDS_BIGENDIAN 1" >> $config_h
1194 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
1195 if test "$mingw32" = "yes" ; then
1196 echo "CONFIG_WIN32=yes" >> $config_mak
1197 echo "#define CONFIG_WIN32 1" >> $config_h
1200 #include <byteswap.h>
1201 int main(void) { return bswap_32(0); }
1203 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
1204 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
1208 if [ "$openbsd" = "yes" ] ; then
1209 echo "#define ENOTSUP 4096" >> $config_h
1212 if test "$darwin" = "yes" ; then
1213 echo "CONFIG_DARWIN=yes" >> $config_mak
1214 echo "#define CONFIG_DARWIN 1" >> $config_h
1216 if test "$solaris" = "yes" ; then
1217 echo "CONFIG_SOLARIS=yes" >> $config_mak
1218 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
1219 if test "$needs_libsunmath" = "yes" ; then
1220 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
1221 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
1224 if test -n "$sparc_cpu"; then
1225 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
1226 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1228 if test "$gdbstub" = "yes" ; then
1229 echo "CONFIG_GDBSTUB=yes" >> $config_mak
1230 echo "#define CONFIG_GDBSTUB 1" >> $config_h
1232 if test "$gprof" = "yes" ; then
1233 echo "TARGET_GPROF=yes" >> $config_mak
1234 echo "#define HAVE_GPROF 1" >> $config_h
1236 if test "$static" = "yes" ; then
1237 echo "CONFIG_STATIC=yes" >> $config_mak
1238 echo "#define CONFIG_STATIC 1" >> $config_h
1240 if test $profiler = "yes" ; then
1241 echo "#define CONFIG_PROFILER 1" >> $config_h
1243 if test "$slirp" = "yes" ; then
1244 echo "CONFIG_SLIRP=yes" >> $config_mak
1245 echo "#define CONFIG_SLIRP 1" >> $config_h
1247 if test "$vde" = "yes" ; then
1248 echo "CONFIG_VDE=yes" >> $config_mak
1249 echo "#define CONFIG_VDE 1" >> $config_h
1250 echo "VDE_LIBS=-lvdeplug" >> $config_mak
1252 for card in $audio_card_list; do
1253 def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
1254 echo "$def=yes" >> $config_mak
1255 echo "#define $def 1" >> $config_h
1257 echo "#define AUDIO_DRIVERS \\" >> $config_h
1258 for drv in $audio_drv_list; do
1259 echo " &${drv}_audio_driver, \\" >>$config_h
1260 def=CONFIG_`echo $drv | tr '[:lower:]' '[:upper:]'`
1261 echo "$def=yes" >> $config_mak
1262 if test "$drv" = "fmod"; then
1263 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
1264 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
1265 elif test "$drv" = "oss"; then
1266 echo "CONFIG_OSS_LIB=$oss_lib" >> $config_mak
1270 if test "$mixemu" = "yes" ; then
1271 echo "CONFIG_MIXEMU=yes" >> $config_mak
1272 echo "#define CONFIG_MIXEMU 1" >> $config_h
1274 if test "$vnc_tls" = "yes" ; then
1275 echo "CONFIG_VNC_TLS=yes" >> $config_mak
1276 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
1277 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
1278 echo "#define CONFIG_VNC_TLS 1" >> $config_h
1280 qemu_version=`head $source_path/VERSION`
1281 echo "VERSION=$qemu_version" >>$config_mak
1282 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
1284 echo "SRC_PATH=$source_path" >> $config_mak
1285 if [ "$source_path_used" = "yes" ]; then
1286 echo "VPATH=$source_path" >> $config_mak
1288 echo "TARGET_DIRS=$target_list" >> $config_mak
1289 if [ "$build_docs" = "yes" ] ; then
1290 echo "BUILD_DOCS=yes" >> $config_mak
1292 if test "$static" = "yes"; then
1297 if test "$sdl1" = "yes" ; then
1298 echo "#define CONFIG_SDL 1" >> $config_h
1299 echo "CONFIG_SDL=yes" >> $config_mak
1300 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1301 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1303 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1305 if [ "${aa}" = "yes" ] ; then
1306 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1308 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1311 if test "$cocoa" = "yes" ; then
1312 echo "#define CONFIG_COCOA 1" >> $config_h
1313 echo "CONFIG_COCOA=yes" >> $config_mak
1315 if test "$curses" = "yes" ; then
1316 echo "#define CONFIG_CURSES 1" >> $config_h
1317 echo "CONFIG_CURSES=yes" >> $config_mak
1318 echo "CURSES_LIBS=-lcurses" >> $config_mak
1320 if test "$brlapi" = "yes" ; then
1321 echo "CONFIG_BRLAPI=yes" >> $config_mak
1322 echo "#define CONFIG_BRLAPI 1" >> $config_h
1323 echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak
1325 if test "$bluez" = "yes" ; then
1326 echo "CONFIG_BLUEZ=yes" >> $config_mak
1327 echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_mak
1328 echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_mak
1329 echo "#define CONFIG_BLUEZ 1" >> $config_h
1331 if test "$aio" = "yes" ; then
1332 echo "#define CONFIG_AIO 1" >> $config_h
1333 echo "CONFIG_AIO=yes" >> $config_mak
1336 # XXX: suppress that
1337 if [ "$bsd" = "yes" ] ; then
1338 echo "#define O_LARGEFILE 0" >> $config_h
1339 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
1340 echo "#define _BSD 1" >> $config_h
1343 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
1346 if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
1347 tools="qemu-img\$(EXESUF) $tools"
1348 if [ "$linux" = "yes" ] ; then
1349 tools="qemu-nbd\$(EXESUF) $tools"
1352 echo "TOOLS=$tools" >> $config_mak
1354 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1356 for target in $target_list; do
1357 target_dir="$target"
1358 config_mak=$target_dir/config.mak
1359 config_h=$target_dir/config.h
1360 target_cpu=`echo $target | cut -d '-' -f 1`
1361 target_bigendian="no"
1362 [ "$target_cpu" = "armeb" ] && target_bigendian=yes
1363 [ "$target_cpu" = "m68k" ] && target_bigendian=yes
1364 [ "$target_cpu" = "mips" ] && target_bigendian=yes
1365 [ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
1366 [ "$target_cpu" = "mips64" ] && target_bigendian=yes
1367 [ "$target_cpu" = "ppc" ] && target_bigendian=yes
1368 [ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
1369 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
1370 [ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
1371 [ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
1372 [ "$target_cpu" = "sparc" ] && target_bigendian=yes
1373 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
1374 [ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
1376 target_user_only="no"
1377 target_linux_user="no"
1378 target_darwin_user="no"
1379 target_bsd_user="no"
1381 ${target_cpu}-softmmu)
1382 target_softmmu="yes"
1384 ${target_cpu}-linux-user)
1385 target_user_only="yes"
1386 target_linux_user="yes"
1388 ${target_cpu}-darwin-user)
1389 target_user_only="yes"
1390 target_darwin_user="yes"
1392 ${target_cpu}-bsd-user)
1393 target_user_only="yes"
1394 target_bsd_user="yes"
1397 echo "ERROR: Target '$target' not recognised"
1402 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1403 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1404 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1405 echo "To build QEMU without graphical output configure with --disable-gfx-check"
1406 echo "Note that this will disable all output from the virtual graphics card"
1407 echo "except through VNC or curses."
1411 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1413 test -f $config_h && mv $config_h ${config_h}~
1415 mkdir -p $target_dir
1416 mkdir -p $target_dir/fpu
1417 mkdir -p $target_dir/tcg
1418 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
1419 mkdir -p $target_dir/nwfpe
1423 # don't use ln -sf as not all "ln -sf" over write the file/link
1425 rm -f $target_dir/Makefile
1426 ln -s $source_path/Makefile.target $target_dir/Makefile
1429 echo "# Automatically generated by configure - do not modify" > $config_mak
1430 echo "/* Automatically generated by configure - do not modify */" > $config_h
1433 echo "include ../config-host.mak" >> $config_mak
1434 echo "#include \"../config-host.h\"" >> $config_h
1439 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1440 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1443 # FIXME allow i386 to build on x86_64 and vice versa
1444 if test "$kvm" = "yes" -a "$target_cpu" != "$cpu" ; then
1447 # Disable KVM for linux-user
1448 if test "$kvm" = "yes" -a "$target_softmmu" = "no" ; then
1452 case "$target_cpu" in
1454 echo "TARGET_ARCH=i386" >> $config_mak
1455 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1456 echo "#define TARGET_I386 1" >> $config_h
1457 if test $kqemu = "yes" -a "$target_softmmu" = "yes"
1459 echo "#define USE_KQEMU 1" >> $config_h
1461 if test "$kvm" = "yes" ; then
1462 echo "CONFIG_KVM=yes" >> $config_mak
1463 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1464 echo "#define CONFIG_KVM" >> $config_h
1466 gcc3minver=`$cc --version 2> /dev/null| fgrep "(GCC) 3." | awk '{ print $3 }' | cut -f2 -d.`
1467 if test -n "$gcc3minver" && test $gcc3minver -gt 3
1469 echo "HAVE_GT_GCC_3_3=true" >> $config_mak
1471 echo "HAVE_GT_GCC_3_3=false" >> $config_mak
1475 echo "TARGET_ARCH=x86_64" >> $config_mak
1476 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1477 echo "#define TARGET_I386 1" >> $config_h
1478 echo "#define TARGET_X86_64 1" >> $config_h
1479 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
1481 echo "#define USE_KQEMU 1" >> $config_h
1483 if test "$kvm" = "yes" ; then
1484 echo "CONFIG_KVM=yes" >> $config_mak
1485 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1486 echo "#define CONFIG_KVM 1" >> $config_h
1490 echo "TARGET_ARCH=alpha" >> $config_mak
1491 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1492 echo "#define TARGET_ALPHA 1" >> $config_h
1495 echo "TARGET_ARCH=arm" >> $config_mak
1496 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1497 echo "#define TARGET_ARM 1" >> $config_h
1500 gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
1503 echo "TARGET_ARCH=cris" >> $config_mak
1504 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1505 echo "#define TARGET_CRIS 1" >> $config_h
1508 echo "TARGET_ARCH=m68k" >> $config_mak
1509 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1510 echo "#define TARGET_M68K 1" >> $config_h
1512 gdb_xml_files="cf-core.xml cf-fp.xml"
1515 echo "TARGET_ARCH=mips" >> $config_mak
1516 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1517 echo "#define TARGET_MIPS 1" >> $config_h
1518 echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1521 echo "TARGET_ARCH=mipsn32" >> $config_mak
1522 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1523 echo "#define TARGET_MIPS 1" >> $config_h
1524 echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1527 echo "TARGET_ARCH=mips64" >> $config_mak
1528 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1529 echo "#define TARGET_MIPS 1" >> $config_h
1530 echo "#define TARGET_MIPS64 1" >> $config_h
1531 echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1534 echo "TARGET_ARCH=ppc" >> $config_mak
1535 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1536 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1537 echo "#define TARGET_PPC 1" >> $config_h
1538 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1541 echo "TARGET_ARCH=ppcemb" >> $config_mak
1542 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1543 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1544 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1545 echo "#define TARGET_PPC 1" >> $config_h
1546 echo "#define TARGET_PPCEMB 1" >> $config_h
1547 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1550 echo "TARGET_ARCH=ppc64" >> $config_mak
1551 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1552 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1553 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1554 echo "#define TARGET_PPC 1" >> $config_h
1555 echo "#define TARGET_PPC64 1" >> $config_h
1556 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1559 echo "TARGET_ARCH=ppc64" >> $config_mak
1560 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1561 echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
1562 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1563 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1564 echo "#define TARGET_PPC 1" >> $config_h
1565 echo "#define TARGET_PPC64 1" >> $config_h
1566 echo "#define TARGET_ABI32 1" >> $config_h
1567 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1570 echo "TARGET_ARCH=sh4" >> $config_mak
1571 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1572 echo "#define TARGET_SH4 1" >> $config_h
1577 echo "TARGET_ARCH=sparc" >> $config_mak
1578 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1579 echo "#define TARGET_SPARC 1" >> $config_h
1582 echo "TARGET_ARCH=sparc64" >> $config_mak
1583 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1584 echo "#define TARGET_SPARC 1" >> $config_h
1585 echo "#define TARGET_SPARC64 1" >> $config_h
1589 echo "TARGET_ARCH=sparc64" >> $config_mak
1590 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1591 echo "TARGET_ARCH2=sparc32plus" >> $config_mak
1592 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1593 echo "#define TARGET_SPARC 1" >> $config_h
1594 echo "#define TARGET_SPARC64 1" >> $config_h
1595 echo "#define TARGET_ABI32 1" >> $config_h
1598 echo "Unsupported target CPU"
1602 if test "$target_bigendian" = "yes" ; then
1603 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1604 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1606 if test "$target_softmmu" = "yes" ; then
1607 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1608 echo "#define CONFIG_SOFTMMU 1" >> $config_h
1610 if test "$target_user_only" = "yes" ; then
1611 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1612 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1614 if test "$target_linux_user" = "yes" ; then
1615 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1616 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1618 if test "$target_darwin_user" = "yes" ; then
1619 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1620 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1623 if test ! -z "$gdb_xml_files" ; then
1624 for x in $gdb_xml_files; do
1625 list="$list $source_path/gdb-xml/$x"
1628 echo "TARGET_XML_FILES=$list" >> $config_mak
1630 if test "$target_cpu" = "arm" \
1631 -o "$target_cpu" = "armeb" \
1632 -o "$target_cpu" = "m68k" \
1633 -o "$target_cpu" = "mips" \
1634 -o "$target_cpu" = "mipsel" \
1635 -o "$target_cpu" = "mipsn32" \
1636 -o "$target_cpu" = "mipsn32el" \
1637 -o "$target_cpu" = "mips64" \
1638 -o "$target_cpu" = "mips64el" \
1639 -o "$target_cpu" = "sparc" \
1640 -o "$target_cpu" = "sparc64" \
1641 -o "$target_cpu" = "sparc32plus"; then
1642 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1643 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1645 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1646 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1647 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1649 if test "$target_user_only" = "yes" \
1650 -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1651 echo "#define USE_NPTL 1" >> $config_h
1653 # 32 bit ELF loader in addition to native 64 bit loader?
1654 if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1655 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1656 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1658 if test "$target_bsd_user" = "yes" ; then
1659 echo "CONFIG_BSD_USER=yes" >> $config_mak
1660 echo "#define CONFIG_BSD_USER 1" >> $config_h
1663 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1665 done # for target in $targets
1667 # build tree in object directory if source path is different from current one
1668 if test "$source_path_used" = "yes" ; then
1669 DIRS="tests tests/cris slirp audio"
1670 FILES="Makefile tests/Makefile"
1671 FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1672 FILES="$FILES tests/test-mmap.c"
1673 for dir in $DIRS ; do
1676 # remove the link and recreate it, as not all "ln -sf" overwrite the link
1677 for f in $FILES ; do
1679 ln -s $source_path/$f $f
1683 rm -f $TMPO $TMPC $TMPE $TMPS $TMPI