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 # Make sure the target and host cpus are compatible
1451 if test "$kvm" = "yes" -a ! \
( "$target_cpu" = "$cpu" -o \
1452 \
( "$target_cpu" = "x86_64" -a "$cpu" = "i386" \
) -o \
1453 \
( "$target_cpu" = "i386" -a "$cpu" = "x86_64" \
) \
) ; then
1456 # Disable KVM for linux-user
1457 if test "$kvm" = "yes" -a "$target_softmmu" = "no" ; then
1461 case "$target_cpu" in
1463 echo "TARGET_ARCH=i386" >> $config_mak
1464 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1465 echo "#define TARGET_I386 1" >> $config_h
1466 if test $kqemu = "yes" -a "$target_softmmu" = "yes"
1468 echo "#define USE_KQEMU 1" >> $config_h
1470 if test "$kvm" = "yes" ; then
1471 echo "CONFIG_KVM=yes" >> $config_mak
1472 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1473 echo "#define CONFIG_KVM 1" >> $config_h
1475 gcc3minver
=`$cc --version 2> /dev/null| fgrep "(GCC) 3." | awk '{ print $3 }' | cut -f2 -d.`
1476 if test -n "$gcc3minver" && test $gcc3minver -gt 3
1478 echo "HAVE_GT_GCC_3_3=true" >> $config_mak
1480 echo "HAVE_GT_GCC_3_3=false" >> $config_mak
1484 echo "TARGET_ARCH=x86_64" >> $config_mak
1485 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1486 echo "#define TARGET_I386 1" >> $config_h
1487 echo "#define TARGET_X86_64 1" >> $config_h
1488 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
1490 echo "#define USE_KQEMU 1" >> $config_h
1492 if test "$kvm" = "yes" ; then
1493 echo "CONFIG_KVM=yes" >> $config_mak
1494 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1495 echo "#define CONFIG_KVM 1" >> $config_h
1499 echo "TARGET_ARCH=alpha" >> $config_mak
1500 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1501 echo "#define TARGET_ALPHA 1" >> $config_h
1504 echo "TARGET_ARCH=arm" >> $config_mak
1505 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1506 echo "#define TARGET_ARM 1" >> $config_h
1509 gdb_xml_files
="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
1512 echo "TARGET_ARCH=cris" >> $config_mak
1513 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1514 echo "#define TARGET_CRIS 1" >> $config_h
1517 echo "TARGET_ARCH=m68k" >> $config_mak
1518 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1519 echo "#define TARGET_M68K 1" >> $config_h
1521 gdb_xml_files
="cf-core.xml cf-fp.xml"
1524 echo "TARGET_ARCH=mips" >> $config_mak
1525 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1526 echo "#define TARGET_MIPS 1" >> $config_h
1527 echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1530 echo "TARGET_ARCH=mipsn32" >> $config_mak
1531 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1532 echo "#define TARGET_MIPS 1" >> $config_h
1533 echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1536 echo "TARGET_ARCH=mips64" >> $config_mak
1537 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1538 echo "#define TARGET_MIPS 1" >> $config_h
1539 echo "#define TARGET_MIPS64 1" >> $config_h
1540 echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1543 echo "TARGET_ARCH=ppc" >> $config_mak
1544 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1545 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1546 echo "#define TARGET_PPC 1" >> $config_h
1547 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1550 echo "TARGET_ARCH=ppcemb" >> $config_mak
1551 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1552 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1553 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1554 echo "#define TARGET_PPC 1" >> $config_h
1555 echo "#define TARGET_PPCEMB 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 "CONFIG_DYNGEN_OP=yes" >> $config_mak
1562 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1563 echo "#define TARGET_PPC 1" >> $config_h
1564 echo "#define TARGET_PPC64 1" >> $config_h
1565 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1568 echo "TARGET_ARCH=ppc64" >> $config_mak
1569 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1570 echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
1571 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1572 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1573 echo "#define TARGET_PPC 1" >> $config_h
1574 echo "#define TARGET_PPC64 1" >> $config_h
1575 echo "#define TARGET_ABI32 1" >> $config_h
1576 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1579 echo "TARGET_ARCH=sh4" >> $config_mak
1580 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1581 echo "#define TARGET_SH4 1" >> $config_h
1586 echo "TARGET_ARCH=sparc" >> $config_mak
1587 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1588 echo "#define TARGET_SPARC 1" >> $config_h
1591 echo "TARGET_ARCH=sparc64" >> $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
1598 echo "TARGET_ARCH=sparc64" >> $config_mak
1599 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1600 echo "TARGET_ARCH2=sparc32plus" >> $config_mak
1601 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1602 echo "#define TARGET_SPARC 1" >> $config_h
1603 echo "#define TARGET_SPARC64 1" >> $config_h
1604 echo "#define TARGET_ABI32 1" >> $config_h
1607 echo "Unsupported target CPU"
1611 if test "$target_bigendian" = "yes" ; then
1612 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1613 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1615 if test "$target_softmmu" = "yes" ; then
1616 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1617 echo "#define CONFIG_SOFTMMU 1" >> $config_h
1619 if test "$target_user_only" = "yes" ; then
1620 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1621 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1623 if test "$target_linux_user" = "yes" ; then
1624 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1625 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1627 if test "$target_darwin_user" = "yes" ; then
1628 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1629 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1632 if test ! -z "$gdb_xml_files" ; then
1633 for x
in $gdb_xml_files; do
1634 list
="$list $source_path/gdb-xml/$x"
1637 echo "TARGET_XML_FILES=$list" >> $config_mak
1639 if test "$target_cpu" = "arm" \
1640 -o "$target_cpu" = "armeb" \
1641 -o "$target_cpu" = "m68k" \
1642 -o "$target_cpu" = "mips" \
1643 -o "$target_cpu" = "mipsel" \
1644 -o "$target_cpu" = "mipsn32" \
1645 -o "$target_cpu" = "mipsn32el" \
1646 -o "$target_cpu" = "mips64" \
1647 -o "$target_cpu" = "mips64el" \
1648 -o "$target_cpu" = "sparc" \
1649 -o "$target_cpu" = "sparc64" \
1650 -o "$target_cpu" = "sparc32plus"; then
1651 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1652 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1654 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1655 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1656 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1658 if test "$target_user_only" = "yes" \
1659 -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1660 echo "#define USE_NPTL 1" >> $config_h
1662 # 32 bit ELF loader in addition to native 64 bit loader?
1663 if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1664 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1665 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1667 if test "$target_bsd_user" = "yes" ; then
1668 echo "CONFIG_BSD_USER=yes" >> $config_mak
1669 echo "#define CONFIG_BSD_USER 1" >> $config_h
1672 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~
$config_h
1674 done # for target in $targets
1676 # build tree in object directory if source path is different from current one
1677 if test "$source_path_used" = "yes" ; then
1678 DIRS
="tests tests/cris slirp audio"
1679 FILES
="Makefile tests/Makefile"
1680 FILES
="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1681 FILES
="$FILES tests/test-mmap.c"
1682 for dir
in $DIRS ; do
1685 # remove the link and recreate it, as not all "ln -sf" overwrite the link
1686 for f
in $FILES ; do
1688 ln -s $source_path/$f $f
1692 rm -f $TMPO $TMPC $TMPE $TMPS $TMPI