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)
126 OS_CFLAGS="-mno-cygwin"
127 if [ "$cpu" = "i386" ] ; then
130 audio_possible_drivers="sdl"
134 if [ "$cpu" = "i386" ] ; then
137 audio_possible_drivers="dsound sdl fmod"
141 audio_possible_drivers="oss sdl esd pa"
142 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
149 audio_possible_drivers="oss sdl esd pa"
150 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
157 audio_possible_drivers="oss sdl esd"
163 audio_possible_drivers="oss sdl esd"
171 audio_drv_list="coreaudio"
172 audio_possible_drivers="coreaudio sdl fmod"
173 OS_CFLAGS="-mdynamic-no-pic"
174 OS_LDFLAGS="-framework CoreFoundation -framework IOKit"
180 needs_libsunmath="no"
181 solarisrev=`uname -r | cut -f2 -d.`
182 # have to select again, because `uname -m` returns i86pc
183 # even on an x86_64 box.
184 solariscpu=`isainfo -k`
185 if test "${solariscpu}" = "amd64" ; then
188 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
189 if test "$solarisrev" -le 9 ; then
190 if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
191 needs_libsunmath="yes"
193 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
194 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
195 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
196 echo "Studio 11 can be downloaded from www.sun.com."
200 if test "$solarisrev" -ge 9 ; then
204 if test -f /usr/include/sys/soundcard.h ; then
207 audio_possible_drivers="oss sdl"
211 audio_possible_drivers="oss alsa sdl esd pa"
214 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
216 audio_possible_drivers="$audio_possible_drivers fmod"
221 if [ "$bsd" = "yes" ] ; then
222 if [ "$darwin" != "yes" ] ; then
229 source_path=`dirname "$0"`
230 source_path_used="no"
232 if [ -z "$source_path" ]; then
235 source_path=`cd "$source_path"; pwd`
237 [ -f "$workdir/vl.c" ] || source_path_used="yes"
240 # generate compile errors on warnings for development builds
241 #if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
246 optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
248 --help|-h) show_help=yes
250 --prefix=*) prefix="$optarg"
252 --interp-prefix=*) interp_prefix="$optarg"
254 --source-path=*) source_path="$optarg"
255 source_path_used="yes"
257 --cross-prefix=*) cross_prefix="$optarg"
262 --host-cc=*) host_cc="$optarg"
264 --make=*) make="$optarg"
266 --install=*) install="$optarg"
268 --extra-cflags=*) CFLAGS="$optarg"
270 --extra-ldflags=*) LDFLAGS="$optarg"
272 --cpu=*) cpu="$optarg"
274 --target-list=*) target_list="$optarg"
276 --enable-gprof) gprof="yes"
278 --static) static="yes"
280 --disable-sdl) sdl="no"
282 --fmod-lib=*) fmod_lib="$optarg"
284 --fmod-inc=*) fmod_inc="$optarg"
286 --oss-lib=*) oss_lib="$optarg"
288 --audio-card-list=*) audio_card_list=`echo "$optarg" | sed -e 's/,/ /g'`
290 --audio-drv-list=*) audio_drv_list="$optarg"
292 --enable-sparse) sparse="yes"
294 --disable-sparse) sparse="no"
296 --disable-vnc-tls) vnc_tls="no"
298 --disable-slirp) slirp="no"
300 --disable-vde) vde="no"
302 --disable-kqemu) kqemu="no"
304 --disable-brlapi) brlapi="no"
306 --disable-bluez) bluez="no"
308 --disable-kvm) kvm="no"
310 --enable-profiler) profiler="yes"
315 audio_drv_list="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
317 --disable-gfx-check) check_gfx="no"
319 --disable-gcc-check) check_gcc="no"
321 --disable-system) softmmu="no"
323 --enable-system) softmmu="yes"
325 --disable-linux-user) linux_user="no"
327 --enable-linux-user) linux_user="yes"
329 --disable-darwin-user) darwin_user="no"
331 --enable-darwin-user) darwin_user="yes"
333 --disable-bsd-user) bsd_user="no"
335 --enable-bsd-user) bsd_user="yes"
337 --enable-uname-release=*) uname_release="$optarg"
342 v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
343 target_cpu="sparc"; cpu="sparc" ;;
344 v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
345 target_cpu="sparc"; cpu="sparc" ;;
346 v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
347 target_cpu="sparc64"; cpu="sparc64" ;;
348 *) echo "undefined SPARC architecture. Exiting";exit 1;;
351 --enable-werror) werror="yes"
353 --disable-werror) werror="no"
355 --disable-curses) curses="no"
357 --disable-nptl) nptl="no"
359 --enable-mixemu) mixemu="yes"
361 --disable-aio) aio="no"
363 --kerneldir=*) kerneldir="$optarg"
365 *) echo "ERROR: unknown option $opt"; show_help="yes"
370 # default flags for all hosts
371 CFLAGS="$CFLAGS -O2 -g -fno-strict-aliasing"
372 CFLAGS="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings"
373 LDFLAGS="$LDFLAGS -g"
374 if test "$werror" = "yes" ; then
375 CFLAGS="$CFLAGS -Werror"
378 if test "$solaris" = "no" ; then
379 if ld --version 2>/dev/null | grep "GNU ld" >/dev/null 2>/dev/null ; then
380 LDFLAGS="$LDFLAGS -Wl,--warn-common"
385 # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
386 # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
389 sparc) if test -z "$sparc_cpu" ; then
390 ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
393 ARCH_CFLAGS="${SP_CFLAGS}"
394 ARCH_LDFLAGS="${SP_LDFLAGS}"
397 sparc64) if test -z "$sparc_cpu" ; then
398 ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
401 ARCH_CFLAGS="${SP_CFLAGS}"
402 ARCH_LDFLAGS="${SP_LDFLAGS}"
406 ARCH_CFLAGS="-march=z900"
418 if test x"$show_help" = x"yes" ; then
421 Usage: configure [options]
422 Options: [defaults in brackets after descriptions]
425 echo "Standard options:"
426 echo " --help print this message"
427 echo " --prefix=PREFIX install in PREFIX [$prefix]"
428 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
429 echo " use %M for cpu name [$interp_prefix]"
430 echo " --target-list=LIST set target list [$target_list]"
432 echo "kqemu kernel acceleration support:"
433 echo " --disable-kqemu disable kqemu support"
435 echo "Advanced options (experts only):"
436 echo " --source-path=PATH path of source code [$source_path]"
437 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
438 echo " --cc=CC use C compiler CC [$cc]"
439 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
440 echo " --make=MAKE use specified make [$make]"
441 echo " --install=INSTALL use specified install [$install]"
442 echo " --static enable static build [$static]"
443 echo " --enable-sparse enable sparse checker"
444 echo " --disable-sparse disable sparse checker (default)"
445 echo " --disable-werror disable compilation abort on warning"
446 echo " --disable-sdl disable SDL"
447 echo " --enable-cocoa enable COCOA (Mac OS X only)"
448 echo " --audio-drv-list=LIST set audio drivers list:"
449 echo " Available drivers: $audio_possible_drivers"
450 echo " --audio-card-list=LIST set list of additional emulated audio cards"
451 echo " Available cards: ac97 adlib cs4231a gus"
452 echo " --enable-mixemu enable mixer emulation"
453 echo " --disable-brlapi disable BrlAPI"
454 echo " --disable-vnc-tls disable TLS encryption for VNC server"
455 echo " --disable-curses disable curses output"
456 echo " --disable-bluez disable bluez stack connectivity"
457 echo " --disable-kvm disable KVM acceleration support"
458 echo " --disable-nptl disable usermode NPTL support"
459 echo " --enable-system enable all system emulation targets"
460 echo " --disable-system disable all system emulation targets"
461 echo " --enable-linux-user enable all linux usermode emulation targets"
462 echo " --disable-linux-user disable all linux usermode emulation targets"
463 echo " --enable-darwin-user enable all darwin usermode emulation targets"
464 echo " --disable-darwin-user disable all darwin usermode emulation targets"
465 echo " --enable-bsd-user enable all BSD usermode emulation targets"
466 echo " --disable-bsd-user disable all BSD usermode emulation targets"
467 echo " --fmod-lib path to FMOD library"
468 echo " --fmod-inc path to FMOD includes"
469 echo " --oss-lib path to OSS library"
470 echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
471 echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
472 echo " --disable-vde disable support for vde network"
473 echo " --disable-aio disable AIO support"
474 echo " --kerneldir=PATH look for kernel includes in PATH"
476 echo "NOTE: The object files are built at the place where configure is launched"
480 cc="${cross_prefix}${cc}"
481 ar="${cross_prefix}${ar}"
482 strip="${cross_prefix}${strip}"
484 # check that the C compiler works.
489 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
490 : C compiler works ok
492 echo "ERROR: \"$cc\" either does not exist or does not work"
496 # check compiler to see if we're on mingw32
505 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
509 if test "$mingw32" = "yes" ; then
517 if [ "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
519 elif [ "$bsd" = "yes" ]; then
522 # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
523 AIOLIBS="-lrt -lpthread"
526 # Check for gcc4, error if pre-gcc4
527 if test "$check_gcc" = "yes" ; then
532 int main(){return 0;}
534 if "$cc" $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
535 echo "WARNING: \"$cc\" looks like gcc 4.x"
537 if test "$gcc3_search" = "yes" ; then
538 echo "Looking for gcc 3.x"
539 for compat_cc in $gcc3_list ; do
540 if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
541 echo "Found \"$compat_cc\""
542 cc="$cross_prefix$compat_cc"
543 found_compat_cc="yes"
547 if test "$found_compat_cc" = "no" ; then
548 echo "gcc 3.x not found!"
551 if test "$found_compat_cc" = "no" ; then
552 echo "QEMU is known to have problems when compiled with gcc 4.x"
553 echo "It is recommended that you use gcc 3.x to build QEMU"
554 echo "To use this compiler anyway, configure with --disable-gcc-check"
560 if test ! -x "$(which cgcc 2>/dev/null)"; then
565 # Solaris specific configure tool chain decisions
567 if test "$solaris" = "yes" ; then
569 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
570 # override the check with --disable-gcc-check
572 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
574 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
575 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
576 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
577 echo "or get the latest patch from SunSolve for gcc"
581 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
582 if test -z "$solinst" ; then
583 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
584 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
585 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
588 if test "$solinst" = "/usr/sbin/install" ; then
589 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
590 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
591 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
594 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
595 if test -z "$sol_ar" ; then
596 echo "Error: No path includes ar"
597 if test -f /usr/ccs/bin/ar ; then
598 echo "Add /usr/ccs/bin to your path and rerun configure"
605 if test -z "$target_list" ; then
606 # these targets are portable
607 if [ "$softmmu" = "yes" ] ; then
626 # the following are Linux specific
627 if [ "$linux_user" = "yes" ] ; then
628 target_list="${target_list}\
640 ppc64abi32-linux-user \
645 sparc32plus-linux-user \
648 # the following are Darwin specific
649 if [ "$darwin_user" = "yes" ] ; then
650 target_list="$target_list i386-darwin-user ppc-darwin-user"
652 # the following are BSD specific
653 if [ "$bsd_user" = "yes" ] ; then
654 target_list="${target_list}\
659 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
661 if test -z "$target_list" ; then
662 echo "No targets enabled"
666 if test -z "$cross_prefix" ; then
669 # big/little endian test
671 #include <inttypes.h>
672 int main(int argc, char ** argv){
673 volatile uint32_t i=0x01234567;
674 return (*((uint8_t*)(&i))) == 0x67;
678 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
679 $TMPE && bigendian="yes"
681 echo big/little test failed
686 # if cross compiling, cannot launch a program, so make a static guess
687 if test "$cpu" = "armv4b" \
691 -o "$cpu" = "mips64" \
692 -o "$cpu" = "powerpc" \
694 -o "$cpu" = "sparc" \
695 -o "$cpu" = "sparc64"; then
701 # host long bits test
703 if test "$cpu" = "x86_64" \
704 -o "$cpu" = "alpha" \
706 -o "$cpu" = "sparc64"; then
710 # ppc specific hostlongbits selection
711 if test "$cpu" = "powerpc" ; then
712 if $cc $ARCH_CFLAGS -dM -E - -o $TMPI 2>/dev/null </dev/null; then
713 grep -q __powerpc64__ $TMPI && hostlongbits=64
715 echo hostlongbits test failed
720 # check gcc options support
726 # Check host NPTL support
729 #include <linux/futex.h>
732 #if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
738 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
744 ##########################################
749 int main(void) { zlibVersion(); return 0; }
751 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz 2> /dev/null ; then
755 echo "Error: zlib check failed"
756 echo "Make sure to have the zlib libs and headers installed."
761 ##########################################
766 if test -z "$sdl" ; then
767 sdl_config="sdl-config"
773 #undef main /* We don't want SDL to override our main() */
774 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
776 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
777 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
778 if test "$_sdlversion" -lt 121 ; then
781 if test "$cocoa" = "no" ; then
786 # static link with sdl ?
787 if test "$sdl" = "yes" ; then
789 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
790 sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
791 if [ "$aa" = "yes" ] ; then
792 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
795 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
799 fi # sdl compile test
801 # Make sure to disable cocoa if sdl was set
802 if test "$sdl" = "yes" ; then
804 audio_drv_list="`echo $audio_drv_list | sed s,coreaudio,,g`"
808 ##########################################
810 if test "$vnc_tls" = "yes" ; then
812 #include <gnutls/gnutls.h>
813 int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
815 vnc_tls_cflags=`pkg-config --cflags gnutls 2> /dev/null`
816 vnc_tls_libs=`pkg-config --libs gnutls 2> /dev/null`
817 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \
818 $vnc_tls_libs 2> /dev/null ; then
825 ##########################################
826 # vde libraries probe
827 if test "$vde" = "yes" ; then
829 #include <libvdeplug.h>
832 struct vde_open_args a = {0, 0, 0};
833 vde_open("", "", &a);
837 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug 2> /dev/null ; then
844 ##########################################
845 # Sound support libraries probe
856 int main(void) { $exp }
858 if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib 2> /dev/null ; then
862 echo "Error: $drv check failed"
863 echo "Make sure to have the $drv libs and headers installed."
869 audio_drv_list=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
870 for drv in $audio_drv_list; do
873 audio_drv_probe $drv alsa/asoundlib.h -lasound \
874 "snd_pcm_t **handle; return snd_pcm_close(*handle);"
878 if test -z $fmod_lib || test -z $fmod_inc; then
880 echo "Error: You must specify path to FMOD library and headers"
881 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
885 audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
889 audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);'
893 audio_drv_probe $drv pulse/simple.h -lpulse-simple \
894 "pa_simple *s = NULL; pa_simple_free(s); return 0;"
897 oss|sdl|core|wav|dsound)
898 # XXX: Probes for CoreAudio, DirectSound, SDL(?)
902 echo "$audio_possible_drivers" | grep -q "\<$drv\>" || {
904 echo "Error: Unknown driver '$drv' selected"
905 echo "Possible drivers are: $audio_possible_drivers"
913 ##########################################
916 if test -z "$brlapi" ; then
920 int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
922 if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi 2> /dev/null ; then
924 fi # brlapi compile test
927 ##########################################
930 if test "$curses" = "yes" ; then
934 int main(void) { return curses_version(); }
936 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses 2> /dev/null ; then
941 ##########################################
942 # bluez support probe
943 if test "$bluez" = "yes" ; then
944 `pkg-config bluez` || bluez="no"
946 if test "$bluez" = "yes" ; then
948 #include <bluetooth/bluetooth.h>
949 int main(void) { return bt_error(0); }
951 bluez_cflags=`pkg-config --cflags bluez`
952 bluez_libs=`pkg-config --libs bluez`
953 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \
954 $bluez_libs 2> /dev/null ; then
961 ##########################################
963 if test "$kvm" = "yes" ; then
965 #include <linux/kvm.h>
966 #if !defined(KVM_API_VERSION) || \
967 KVM_API_VERSION < 12 || \
968 KVM_API_VERSION > 12 || \
969 !defined(KVM_CAP_USER_MEMORY) || \
970 !defined(KVM_CAP_SET_TSS_ADDR)
971 #error Invalid KVM version
973 int main(void) { return 0; }
975 if test "$kerneldir" != "" ; then
976 kvm_cflags=-I"$kerneldir"/include
980 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC \
988 ##########################################
990 if test "$aio" = "yes" ; then
994 int main(void) { return aio_write(NULL); }
996 if $cc $ARCH_CFLAGS -o $TMPE $AIOLIBS $TMPC 2> /dev/null ; then
1001 # Check if tools are available to build documentation.
1002 if [ -x "`which texi2html 2>/dev/null`" ] && \
1003 [ -x "`which pod2man 2>/dev/null`" ]; then
1007 if test "$mingw32" = "yes" ; then
1008 if test -z "$prefix" ; then
1009 prefix="c:\\\\Program Files\\\\Qemu"
1016 if test -z "$prefix" ; then
1019 mansuffix="/share/man"
1020 datasuffix="/share/qemu"
1021 docsuffix="/share/doc/qemu"
1025 echo "Install prefix $prefix"
1026 echo "BIOS directory $prefix$datasuffix"
1027 echo "binary directory $prefix$binsuffix"
1028 if test "$mingw32" = "no" ; then
1029 echo "Manual directory $prefix$mansuffix"
1030 echo "ELF interp prefix $interp_prefix"
1032 echo "Source path $source_path"
1033 echo "C compiler $cc"
1034 echo "Host C compiler $host_cc"
1035 echo "ARCH_CFLAGS $ARCH_CFLAGS"
1037 echo "install $install"
1038 echo "host CPU $cpu"
1039 echo "host big endian $bigendian"
1040 echo "target list $target_list"
1041 echo "gprof enabled $gprof"
1042 echo "sparse enabled $sparse"
1043 echo "profiler $profiler"
1044 echo "static build $static"
1045 echo "-Werror enabled $werror"
1046 if test "$darwin" = "yes" ; then
1047 echo "Cocoa support $cocoa"
1049 echo "SDL support $sdl"
1050 if test "$sdl" != "no" ; then
1051 echo "SDL static link $sdl_static"
1053 echo "curses support $curses"
1054 echo "mingw32 support $mingw32"
1055 echo "Audio drivers $audio_drv_list"
1056 echo "Extra audio cards $audio_card_list"
1057 echo "Mixer emulation $mixemu"
1058 echo "VNC TLS support $vnc_tls"
1059 if test "$vnc_tls" = "yes" ; then
1060 echo " TLS CFLAGS $vnc_tls_cflags"
1061 echo " TLS LIBS $vnc_tls_libs"
1063 if test -n "$sparc_cpu"; then
1064 echo "Target Sparc Arch $sparc_cpu"
1066 echo "kqemu support $kqemu"
1067 echo "brlapi support $brlapi"
1068 echo "Documentation $build_docs"
1069 [ ! -z "$uname_release" ] && \
1070 echo "uname -r $uname_release"
1071 echo "NPTL support $nptl"
1072 echo "vde support $vde"
1073 echo "AIO support $aio"
1074 echo "KVM support $kvm"
1076 if test $sdl_too_old = "yes"; then
1077 echo "-> Your SDL version is too old - please upgrade to have SDL support"
1079 if [ -s /tmp/qemu-$$-sdl-config.log ]; then
1080 echo "The error log from compiling the libSDL test is: "
1081 cat /tmp/qemu-$$-sdl-config.log
1083 rm -f /tmp/qemu-$$-sdl-config.log
1084 #if test "$sdl_static" = "no"; then
1085 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
1087 config_mak="config-host.mak"
1088 config_h="config-host.h"
1090 #echo "Creating $config_mak and $config_h"
1092 test -f $config_h && mv $config_h ${config_h}~
1094 echo "# Automatically generated by configure - do not modify" > $config_mak
1095 echo "# Configured with: $0 $@" >> $config_mak
1096 echo "/* Automatically generated by configure - do not modify */" > $config_h
1098 echo "prefix=$prefix" >> $config_mak
1099 echo "bindir=\${prefix}$binsuffix" >> $config_mak
1100 echo "mandir=\${prefix}$mansuffix" >> $config_mak
1101 echo "datadir=\${prefix}$datasuffix" >> $config_mak
1102 echo "docdir=\${prefix}$docsuffix" >> $config_mak
1103 echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
1104 echo "MAKE=$make" >> $config_mak
1105 echo "INSTALL=$install" >> $config_mak
1106 echo "CC=$cc" >> $config_mak
1107 echo "HOST_CC=$host_cc" >> $config_mak
1108 echo "AR=$ar" >> $config_mak
1109 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
1110 # XXX: only use CFLAGS and LDFLAGS ?
1111 # XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
1112 # compilation of dyngen tool (useful for win32 build on Linux host)
1113 echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
1114 echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
1115 echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
1116 echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
1117 echo "CFLAGS=$CFLAGS" >> $config_mak
1118 echo "LDFLAGS=$LDFLAGS" >> $config_mak
1119 echo "EXESUF=$EXESUF" >> $config_mak
1120 echo "AIOLIBS=$AIOLIBS" >> $config_mak
1123 echo "ARCH=i386" >> $config_mak
1124 echo "#define HOST_I386 1" >> $config_h
1127 echo "ARCH=x86_64" >> $config_mak
1128 echo "#define HOST_X86_64 1" >> $config_h
1131 echo "ARCH=alpha" >> $config_mak
1132 echo "#define HOST_ALPHA 1" >> $config_h
1135 echo "ARCH=arm" >> $config_mak
1136 echo "#define HOST_ARM 1" >> $config_h
1139 echo "ARCH=arm" >> $config_mak
1140 echo "#define HOST_ARM 1" >> $config_h
1143 echo "ARCH=cris" >> $config_mak
1144 echo "#define HOST_CRIS 1" >> $config_h
1147 echo "ARCH=hppa" >> $config_mak
1148 echo "#define HOST_HPPA 1" >> $config_h
1151 echo "ARCH=ia64" >> $config_mak
1152 echo "#define HOST_IA64 1" >> $config_h
1155 echo "ARCH=m68k" >> $config_mak
1156 echo "#define HOST_M68K 1" >> $config_h
1159 echo "ARCH=mips" >> $config_mak
1160 echo "#define HOST_MIPS 1" >> $config_h
1163 echo "ARCH=mips64" >> $config_mak
1164 echo "#define HOST_MIPS64 1" >> $config_h
1167 if test "$hostlongbits" = "32"; then
1168 echo "ARCH=ppc" >> $config_mak
1169 echo "#define HOST_PPC 1" >> $config_h
1171 echo "ARCH=ppc64" >> $config_mak
1172 echo "#define HOST_PPC64 1" >> $config_h
1176 echo "ARCH=s390" >> $config_mak
1177 echo "#define HOST_S390 1" >> $config_h
1180 echo "ARCH=sparc" >> $config_mak
1181 echo "#define HOST_SPARC 1" >> $config_h
1184 echo "ARCH=sparc64" >> $config_mak
1185 echo "#define HOST_SPARC64 1" >> $config_h
1188 echo "Unsupported CPU = $cpu"
1192 if test "$sparse" = "yes" ; then
1193 echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak
1194 echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak
1195 echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak
1197 if test "$bigendian" = "yes" ; then
1198 echo "WORDS_BIGENDIAN=yes" >> $config_mak
1199 echo "#define WORDS_BIGENDIAN 1" >> $config_h
1201 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
1202 if test "$mingw32" = "yes" ; then
1203 echo "CONFIG_WIN32=yes" >> $config_mak
1204 echo "#define CONFIG_WIN32 1" >> $config_h
1207 #include <byteswap.h>
1208 int main(void) { return bswap_32(0); }
1210 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
1211 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
1215 if [ "$openbsd" = "yes" ] ; then
1216 echo "#define ENOTSUP 4096" >> $config_h
1219 if test "$darwin" = "yes" ; then
1220 echo "CONFIG_DARWIN=yes" >> $config_mak
1221 echo "#define CONFIG_DARWIN 1" >> $config_h
1223 if test "$solaris" = "yes" ; then
1224 echo "CONFIG_SOLARIS=yes" >> $config_mak
1225 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
1226 if test "$needs_libsunmath" = "yes" ; then
1227 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
1228 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
1231 if test -n "$sparc_cpu"; then
1232 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
1233 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1235 if test "$gdbstub" = "yes" ; then
1236 echo "CONFIG_GDBSTUB=yes" >> $config_mak
1237 echo "#define CONFIG_GDBSTUB 1" >> $config_h
1239 if test "$gprof" = "yes" ; then
1240 echo "TARGET_GPROF=yes" >> $config_mak
1241 echo "#define HAVE_GPROF 1" >> $config_h
1243 if test "$static" = "yes" ; then
1244 echo "CONFIG_STATIC=yes" >> $config_mak
1245 echo "#define CONFIG_STATIC 1" >> $config_h
1247 if test $profiler = "yes" ; then
1248 echo "#define CONFIG_PROFILER 1" >> $config_h
1250 if test "$slirp" = "yes" ; then
1251 echo "CONFIG_SLIRP=yes" >> $config_mak
1252 echo "#define CONFIG_SLIRP 1" >> $config_h
1254 if test "$vde" = "yes" ; then
1255 echo "CONFIG_VDE=yes" >> $config_mak
1256 echo "#define CONFIG_VDE 1" >> $config_h
1257 echo "VDE_LIBS=-lvdeplug" >> $config_mak
1259 for card in $audio_card_list; do
1260 def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
1261 echo "$def=yes" >> $config_mak
1262 echo "#define $def 1" >> $config_h
1264 echo "#define AUDIO_DRIVERS \\" >> $config_h
1265 for drv in $audio_drv_list; do
1266 echo " &${drv}_audio_driver, \\" >>$config_h
1267 def=CONFIG_`echo $drv | tr '[:lower:]' '[:upper:]'`
1268 echo "$def=yes" >> $config_mak
1269 if test "$drv" = "fmod"; then
1270 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
1271 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
1272 elif test "$drv" = "oss"; then
1273 echo "CONFIG_OSS_LIB=$oss_lib" >> $config_mak
1277 if test "$mixemu" = "yes" ; then
1278 echo "CONFIG_MIXEMU=yes" >> $config_mak
1279 echo "#define CONFIG_MIXEMU 1" >> $config_h
1281 if test "$vnc_tls" = "yes" ; then
1282 echo "CONFIG_VNC_TLS=yes" >> $config_mak
1283 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
1284 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
1285 echo "#define CONFIG_VNC_TLS 1" >> $config_h
1287 qemu_version=`head $source_path/VERSION`
1288 echo "VERSION=$qemu_version" >>$config_mak
1289 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
1291 echo "SRC_PATH=$source_path" >> $config_mak
1292 if [ "$source_path_used" = "yes" ]; then
1293 echo "VPATH=$source_path" >> $config_mak
1295 echo "TARGET_DIRS=$target_list" >> $config_mak
1296 if [ "$build_docs" = "yes" ] ; then
1297 echo "BUILD_DOCS=yes" >> $config_mak
1299 if test "$static" = "yes"; then
1304 if test "$sdl1" = "yes" ; then
1305 echo "#define CONFIG_SDL 1" >> $config_h
1306 echo "CONFIG_SDL=yes" >> $config_mak
1307 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1308 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1310 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1312 if [ "${aa}" = "yes" ] ; then
1313 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1315 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1318 if test "$cocoa" = "yes" ; then
1319 echo "#define CONFIG_COCOA 1" >> $config_h
1320 echo "CONFIG_COCOA=yes" >> $config_mak
1322 if test "$curses" = "yes" ; then
1323 echo "#define CONFIG_CURSES 1" >> $config_h
1324 echo "CONFIG_CURSES=yes" >> $config_mak
1325 echo "CURSES_LIBS=-lcurses" >> $config_mak
1327 if test "$brlapi" = "yes" ; then
1328 echo "CONFIG_BRLAPI=yes" >> $config_mak
1329 echo "#define CONFIG_BRLAPI 1" >> $config_h
1330 echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak
1332 if test "$bluez" = "yes" ; then
1333 echo "CONFIG_BLUEZ=yes" >> $config_mak
1334 echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_mak
1335 echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_mak
1336 echo "#define CONFIG_BLUEZ 1" >> $config_h
1338 if test "$aio" = "yes" ; then
1339 echo "#define CONFIG_AIO 1" >> $config_h
1340 echo "CONFIG_AIO=yes" >> $config_mak
1343 # XXX: suppress that
1344 if [ "$bsd" = "yes" ] ; then
1345 echo "#define O_LARGEFILE 0" >> $config_h
1346 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
1347 echo "#define _BSD 1" >> $config_h
1350 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
1353 if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
1354 tools="qemu-img\$(EXESUF) $tools"
1355 if [ "$linux" = "yes" ] ; then
1356 tools="qemu-nbd\$(EXESUF) $tools"
1359 echo "TOOLS=$tools" >> $config_mak
1361 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1363 for target in $target_list; do
1364 target_dir="$target"
1365 config_mak=$target_dir/config.mak
1366 config_h=$target_dir/config.h
1367 target_cpu=`echo $target | cut -d '-' -f 1`
1368 target_bigendian="no"
1369 [ "$target_cpu" = "armeb" ] && target_bigendian=yes
1370 [ "$target_cpu" = "m68k" ] && target_bigendian=yes
1371 [ "$target_cpu" = "mips" ] && target_bigendian=yes
1372 [ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
1373 [ "$target_cpu" = "mips64" ] && target_bigendian=yes
1374 [ "$target_cpu" = "ppc" ] && target_bigendian=yes
1375 [ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
1376 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
1377 [ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
1378 [ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
1379 [ "$target_cpu" = "sparc" ] && target_bigendian=yes
1380 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
1381 [ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
1383 target_user_only="no"
1384 target_linux_user="no"
1385 target_darwin_user="no"
1386 target_bsd_user="no"
1388 ${target_cpu}-softmmu)
1389 target_softmmu="yes"
1391 ${target_cpu}-linux-user)
1392 target_user_only="yes"
1393 target_linux_user="yes"
1395 ${target_cpu}-darwin-user)
1396 target_user_only="yes"
1397 target_darwin_user="yes"
1399 ${target_cpu}-bsd-user)
1400 target_user_only="yes"
1401 target_bsd_user="yes"
1404 echo "ERROR: Target '$target' not recognised"
1409 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1410 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1411 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1412 echo "To build QEMU without graphical output configure with --disable-gfx-check"
1413 echo "Note that this will disable all output from the virtual graphics card"
1414 echo "except through VNC or curses."
1418 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1420 test -f $config_h && mv $config_h ${config_h}~
1422 mkdir -p $target_dir
1423 mkdir -p $target_dir/fpu
1424 mkdir -p $target_dir/tcg
1425 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
1426 mkdir -p $target_dir/nwfpe
1430 # don't use ln -sf as not all "ln -sf" over write the file/link
1432 rm -f $target_dir/Makefile
1433 ln -s $source_path/Makefile.target $target_dir/Makefile
1436 echo "# Automatically generated by configure - do not modify" > $config_mak
1437 echo "/* Automatically generated by configure - do not modify */" > $config_h
1440 echo "include ../config-host.mak" >> $config_mak
1441 echo "#include \"../config-host.h\"" >> $config_h
1446 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1447 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1450 # FIXME allow i386 to build on x86_64 and vice versa
1451 if test "$kvm" = "yes" -a "$target_cpu" != "$cpu" ; then
1454 # Disable KVM for linux-user
1455 if test "$kvm" = "yes" -a "$target_softmmu" = "no" ; then
1459 case "$target_cpu" in
1461 echo "TARGET_ARCH=i386" >> $config_mak
1462 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1463 echo "#define TARGET_I386 1" >> $config_h
1464 if test $kqemu = "yes" -a "$target_softmmu" = "yes"
1466 echo "#define USE_KQEMU 1" >> $config_h
1468 if test "$kvm" = "yes" ; then
1469 echo "CONFIG_KVM=yes" >> $config_mak
1470 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1471 echo "#define CONFIG_KVM" >> $config_h
1473 gcc3minver=`$cc --version 2> /dev/null| fgrep "(GCC) 3." | awk '{ print $3 }' | cut -f2 -d.`
1474 if test -n "$gcc3minver" && test $gcc3minver -gt 3
1476 echo "HAVE_GT_GCC_3_3=true" >> $config_mak
1478 echo "HAVE_GT_GCC_3_3=false" >> $config_mak
1482 echo "TARGET_ARCH=x86_64" >> $config_mak
1483 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1484 echo "#define TARGET_I386 1" >> $config_h
1485 echo "#define TARGET_X86_64 1" >> $config_h
1486 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
1488 echo "#define USE_KQEMU 1" >> $config_h
1490 if test "$kvm" = "yes" ; then
1491 echo "CONFIG_KVM=yes" >> $config_mak
1492 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1493 echo "#define CONFIG_KVM 1" >> $config_h
1497 echo "TARGET_ARCH=alpha" >> $config_mak
1498 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1499 echo "#define TARGET_ALPHA 1" >> $config_h
1502 echo "TARGET_ARCH=arm" >> $config_mak
1503 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1504 echo "#define TARGET_ARM 1" >> $config_h
1507 gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
1510 echo "TARGET_ARCH=cris" >> $config_mak
1511 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1512 echo "#define TARGET_CRIS 1" >> $config_h
1515 echo "TARGET_ARCH=m68k" >> $config_mak
1516 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1517 echo "#define TARGET_M68K 1" >> $config_h
1519 gdb_xml_files="cf-core.xml cf-fp.xml"
1522 echo "TARGET_ARCH=mips" >> $config_mak
1523 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1524 echo "#define TARGET_MIPS 1" >> $config_h
1525 echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1528 echo "TARGET_ARCH=mipsn32" >> $config_mak
1529 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1530 echo "#define TARGET_MIPS 1" >> $config_h
1531 echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1534 echo "TARGET_ARCH=mips64" >> $config_mak
1535 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1536 echo "#define TARGET_MIPS 1" >> $config_h
1537 echo "#define TARGET_MIPS64 1" >> $config_h
1538 echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1541 echo "TARGET_ARCH=ppc" >> $config_mak
1542 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1543 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1544 echo "#define TARGET_PPC 1" >> $config_h
1545 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1548 echo "TARGET_ARCH=ppcemb" >> $config_mak
1549 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1550 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1551 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1552 echo "#define TARGET_PPC 1" >> $config_h
1553 echo "#define TARGET_PPCEMB 1" >> $config_h
1554 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1557 echo "TARGET_ARCH=ppc64" >> $config_mak
1558 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1559 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1560 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1561 echo "#define TARGET_PPC 1" >> $config_h
1562 echo "#define TARGET_PPC64 1" >> $config_h
1563 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1566 echo "TARGET_ARCH=ppc64" >> $config_mak
1567 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1568 echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
1569 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1570 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1571 echo "#define TARGET_PPC 1" >> $config_h
1572 echo "#define TARGET_PPC64 1" >> $config_h
1573 echo "#define TARGET_ABI32 1" >> $config_h
1574 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1577 echo "TARGET_ARCH=sh4" >> $config_mak
1578 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1579 echo "#define TARGET_SH4 1" >> $config_h
1584 echo "TARGET_ARCH=sparc" >> $config_mak
1585 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1586 echo "#define TARGET_SPARC 1" >> $config_h
1589 echo "TARGET_ARCH=sparc64" >> $config_mak
1590 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1591 echo "#define TARGET_SPARC 1" >> $config_h
1592 echo "#define TARGET_SPARC64 1" >> $config_h
1596 echo "TARGET_ARCH=sparc64" >> $config_mak
1597 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1598 echo "TARGET_ARCH2=sparc32plus" >> $config_mak
1599 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1600 echo "#define TARGET_SPARC 1" >> $config_h
1601 echo "#define TARGET_SPARC64 1" >> $config_h
1602 echo "#define TARGET_ABI32 1" >> $config_h
1605 echo "Unsupported target CPU"
1609 if test "$target_bigendian" = "yes" ; then
1610 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1611 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1613 if test "$target_softmmu" = "yes" ; then
1614 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1615 echo "#define CONFIG_SOFTMMU 1" >> $config_h
1617 if test "$target_user_only" = "yes" ; then
1618 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1619 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1621 if test "$target_linux_user" = "yes" ; then
1622 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1623 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1625 if test "$target_darwin_user" = "yes" ; then
1626 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1627 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1630 if test ! -z "$gdb_xml_files" ; then
1631 for x in $gdb_xml_files; do
1632 list="$list $source_path/gdb-xml/$x"
1635 echo "TARGET_XML_FILES=$list" >> $config_mak
1637 if test "$target_cpu" = "arm" \
1638 -o "$target_cpu" = "armeb" \
1639 -o "$target_cpu" = "m68k" \
1640 -o "$target_cpu" = "mips" \
1641 -o "$target_cpu" = "mipsel" \
1642 -o "$target_cpu" = "mipsn32" \
1643 -o "$target_cpu" = "mipsn32el" \
1644 -o "$target_cpu" = "mips64" \
1645 -o "$target_cpu" = "mips64el" \
1646 -o "$target_cpu" = "sparc" \
1647 -o "$target_cpu" = "sparc64" \
1648 -o "$target_cpu" = "sparc32plus"; then
1649 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1650 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1652 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1653 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1654 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1656 if test "$target_user_only" = "yes" \
1657 -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1658 echo "#define USE_NPTL 1" >> $config_h
1660 # 32 bit ELF loader in addition to native 64 bit loader?
1661 if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1662 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1663 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1665 if test "$target_bsd_user" = "yes" ; then
1666 echo "CONFIG_BSD_USER=yes" >> $config_mak
1667 echo "#define CONFIG_BSD_USER 1" >> $config_h
1670 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1672 done # for target in $targets
1674 # build tree in object directory if source path is different from current one
1675 if test "$source_path_used" = "yes" ; then
1676 DIRS="tests tests/cris slirp audio"
1677 FILES="Makefile tests/Makefile"
1678 FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1679 FILES="$FILES tests/test-mmap.c"
1680 for dir in $DIRS ; do
1683 # remove the link and recreate it, as not all "ln -sf" overwrite the link
1684 for f in $FILES ; do
1686 ln -s $source_path/$f $f
1690 rm -f $TMPO $TMPC $TMPE $TMPS $TMPI