3 # qemu configure script (c) 2003 Fabrice Bellard
5 # set temporary file name
6 if test ! -z "$TMPDIR" ; then
8 elif test ! -z "$TEMPDIR" ; then
14 TMPC
="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
15 TMPO
="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
16 TMPE
="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
17 TMPS
="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
18 TMPI
="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
22 interp_prefix
="/usr/gnemul/qemu-%M"
27 gcc3_list
="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
35 cpu
=`test $(uname -s) = AIX && uname -p || uname -m`
38 i386|i486|i586|i686|i86pc|BePC
)
71 "Power Macintosh"|ppc|ppc64|powerpc
)
127 OS_CFLAGS
="-mno-cygwin"
128 if [ "$cpu" = "i386" ] ; then
131 audio_possible_drivers
="sdl"
135 if [ "$cpu" = "i386" ] ; then
138 audio_possible_drivers
="dsound sdl fmod"
142 audio_possible_drivers
="oss sdl esd pa"
143 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
150 audio_possible_drivers
="oss sdl esd pa"
151 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
158 audio_possible_drivers
="oss sdl esd"
164 audio_possible_drivers
="oss sdl esd"
172 audio_drv_list
="coreaudio"
173 audio_possible_drivers
="coreaudio sdl fmod"
174 OS_CFLAGS
="-mdynamic-no-pic"
175 OS_LDFLAGS
="-framework CoreFoundation -framework IOKit"
181 needs_libsunmath
="no"
182 solarisrev
=`uname -r | cut -f2 -d.`
183 # have to select again, because `uname -m` returns i86pc
184 # even on an x86_64 box.
185 solariscpu
=`isainfo -k`
186 if test "${solariscpu}" = "amd64" ; then
189 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
190 if test "$solarisrev" -le 9 ; then
191 if test -f /opt
/SUNWspro
/prod
/lib
/libsunmath.so
.1; then
192 needs_libsunmath
="yes"
194 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
195 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
196 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
197 echo "Studio 11 can be downloaded from www.sun.com."
201 if test "$solarisrev" -ge 9 ; then
205 if test -f /usr
/include
/sys
/soundcard.h
; then
208 audio_possible_drivers
="oss sdl"
216 audio_possible_drivers
="oss alsa sdl esd pa"
219 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
221 audio_possible_drivers
="$audio_possible_drivers fmod"
226 if [ "$bsd" = "yes" ] ; then
227 if [ "$darwin" != "yes" ] ; then
234 source_path
=`dirname "$0"`
235 source_path_used
="no"
237 if [ -z "$source_path" ]; then
240 source_path
=`cd "$source_path"; pwd`
242 [ -f "$workdir/vl.c" ] || source_path_used
="yes"
245 # generate compile errors on warnings for development builds
246 #if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
251 optarg
=`expr "x$opt" : 'x[^=]*=\(.*\)'`
253 --help|
-h) show_help
=yes
255 --prefix=*) prefix
="$optarg"
257 --interp-prefix=*) interp_prefix
="$optarg"
259 --source-path=*) source_path
="$optarg"
260 source_path_used
="yes"
262 --cross-prefix=*) cross_prefix
="$optarg"
267 --host-cc=*) host_cc
="$optarg"
269 --make=*) make="$optarg"
271 --install=*) install="$optarg"
273 --extra-cflags=*) CFLAGS
="$optarg"
275 --extra-ldflags=*) LDFLAGS
="$optarg"
277 --cpu=*) cpu
="$optarg"
279 --target-list=*) target_list
="$optarg"
281 --enable-gprof) gprof
="yes"
283 --static) static
="yes"
285 --disable-sdl) sdl
="no"
287 --fmod-lib=*) fmod_lib
="$optarg"
289 --fmod-inc=*) fmod_inc
="$optarg"
291 --oss-lib=*) oss_lib
="$optarg"
293 --audio-card-list=*) audio_card_list
=`echo "$optarg" | sed -e 's/,/ /g'`
295 --audio-drv-list=*) audio_drv_list
="$optarg"
297 --enable-sparse) sparse
="yes"
299 --disable-sparse) sparse
="no"
301 --disable-vnc-tls) vnc_tls
="no"
303 --disable-slirp) slirp
="no"
305 --disable-vde) vde
="no"
307 --disable-kqemu) kqemu
="no"
309 --disable-brlapi) brlapi
="no"
311 --disable-bluez) bluez
="no"
313 --disable-kvm) kvm
="no"
315 --enable-profiler) profiler
="yes"
320 audio_drv_list
="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
322 --disable-gfx-check) check_gfx
="no"
324 --disable-gcc-check) check_gcc
="no"
326 --disable-system) softmmu
="no"
328 --enable-system) softmmu
="yes"
330 --disable-linux-user) linux_user
="no"
332 --enable-linux-user) linux_user
="yes"
334 --disable-darwin-user) darwin_user
="no"
336 --enable-darwin-user) darwin_user
="yes"
338 --disable-bsd-user) bsd_user
="no"
340 --enable-bsd-user) bsd_user
="yes"
342 --enable-uname-release=*) uname_release
="$optarg"
347 v7|v8
) SP_CFLAGS
="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS
="-m32"
348 target_cpu
="sparc"; cpu
="sparc" ;;
349 v8plus|v8plusa
) SP_CFLAGS
="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS
="-m32"
350 target_cpu
="sparc"; cpu
="sparc" ;;
351 v9
) SP_CFLAGS
="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS
="-m64"
352 target_cpu
="sparc64"; cpu
="sparc64" ;;
353 *) echo "undefined SPARC architecture. Exiting";exit 1;;
356 --enable-werror) werror
="yes"
358 --disable-werror) werror
="no"
360 --disable-curses) curses
="no"
362 --disable-nptl) nptl
="no"
364 --enable-mixemu) mixemu
="yes"
366 --disable-aio) aio
="no"
368 --kerneldir=*) kerneldir
="$optarg"
370 *) echo "ERROR: unknown option $opt"; show_help
="yes"
375 # default flags for all hosts
376 CFLAGS
="$CFLAGS -O2 -g -fno-strict-aliasing"
377 CFLAGS
="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings"
378 LDFLAGS
="$LDFLAGS -g"
379 if test "$werror" = "yes" ; then
380 CFLAGS
="$CFLAGS -Werror"
383 if test "$solaris" = "no" ; then
384 if ld
--version 2>/dev
/null |
grep "GNU ld" >/dev
/null
2>/dev
/null
; then
385 LDFLAGS
="$LDFLAGS -Wl,--warn-common"
390 # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
391 # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
394 sparc
) if test -z "$sparc_cpu" ; then
395 ARCH_CFLAGS
="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
398 ARCH_CFLAGS
="${SP_CFLAGS}"
399 ARCH_LDFLAGS
="${SP_LDFLAGS}"
402 sparc64
) if test -z "$sparc_cpu" ; then
403 ARCH_CFLAGS
="-m64 -mcpu=ultrasparc -D__sparc_v9__"
406 ARCH_CFLAGS
="${SP_CFLAGS}"
407 ARCH_LDFLAGS
="${SP_LDFLAGS}"
411 ARCH_CFLAGS
="-march=z900"
423 if test x
"$show_help" = x
"yes" ; then
426 Usage: configure [options]
427 Options: [defaults in brackets after descriptions]
430 echo "Standard options:"
431 echo " --help print this message"
432 echo " --prefix=PREFIX install in PREFIX [$prefix]"
433 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
434 echo " use %M for cpu name [$interp_prefix]"
435 echo " --target-list=LIST set target list [$target_list]"
437 echo "kqemu kernel acceleration support:"
438 echo " --disable-kqemu disable kqemu support"
440 echo "Advanced options (experts only):"
441 echo " --source-path=PATH path of source code [$source_path]"
442 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
443 echo " --cc=CC use C compiler CC [$cc]"
444 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
445 echo " --make=MAKE use specified make [$make]"
446 echo " --install=INSTALL use specified install [$install]"
447 echo " --static enable static build [$static]"
448 echo " --enable-sparse enable sparse checker"
449 echo " --disable-sparse disable sparse checker (default)"
450 echo " --disable-werror disable compilation abort on warning"
451 echo " --disable-sdl disable SDL"
452 echo " --enable-cocoa enable COCOA (Mac OS X only)"
453 echo " --audio-drv-list=LIST set audio drivers list:"
454 echo " Available drivers: $audio_possible_drivers"
455 echo " --audio-card-list=LIST set list of additional emulated audio cards"
456 echo " Available cards: ac97 adlib cs4231a gus"
457 echo " --enable-mixemu enable mixer emulation"
458 echo " --disable-brlapi disable BrlAPI"
459 echo " --disable-vnc-tls disable TLS encryption for VNC server"
460 echo " --disable-curses disable curses output"
461 echo " --disable-bluez disable bluez stack connectivity"
462 echo " --disable-kvm disable KVM acceleration support"
463 echo " --disable-nptl disable usermode NPTL support"
464 echo " --enable-system enable all system emulation targets"
465 echo " --disable-system disable all system emulation targets"
466 echo " --enable-linux-user enable all linux usermode emulation targets"
467 echo " --disable-linux-user disable all linux usermode emulation targets"
468 echo " --enable-darwin-user enable all darwin usermode emulation targets"
469 echo " --disable-darwin-user disable all darwin usermode emulation targets"
470 echo " --enable-bsd-user enable all BSD usermode emulation targets"
471 echo " --disable-bsd-user disable all BSD usermode emulation targets"
472 echo " --fmod-lib path to FMOD library"
473 echo " --fmod-inc path to FMOD includes"
474 echo " --oss-lib path to OSS library"
475 echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
476 echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
477 echo " --disable-vde disable support for vde network"
478 echo " --disable-aio disable AIO support"
479 echo " --kerneldir=PATH look for kernel includes in PATH"
481 echo "NOTE: The object files are built at the place where configure is launched"
485 cc
="${cross_prefix}${cc}"
486 ar="${cross_prefix}${ar}"
487 strip
="${cross_prefix}${strip}"
489 # check that the C compiler works.
494 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev
/null
; then
495 : C compiler works ok
497 echo "ERROR: \"$cc\" either does not exist or does not work"
501 # check compiler to see if we're on mingw32
510 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev
/null
; then
514 if test "$mingw32" = "yes" ; then
522 if [ "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
524 elif [ "$bsd" = "yes" ]; then
527 # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
528 AIOLIBS
="-lrt -lpthread"
531 # Check for gcc4, error if pre-gcc4
532 if test "$check_gcc" = "yes" ; then
537 int main(){return 0;}
539 if "$cc" $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev
/null
; then
540 echo "WARNING: \"$cc\" looks like gcc 4.x"
542 if test "$gcc3_search" = "yes" ; then
543 echo "Looking for gcc 3.x"
544 for compat_cc
in $gcc3_list ; do
545 if "$cross_prefix$compat_cc" --version 2> /dev
/null | fgrep
'(GCC) 3.' > /dev
/null
2>&1 ; then
546 echo "Found \"$compat_cc\""
547 cc
="$cross_prefix$compat_cc"
548 found_compat_cc
="yes"
552 if test "$found_compat_cc" = "no" ; then
553 echo "gcc 3.x not found!"
556 if test "$found_compat_cc" = "no" ; then
557 echo "QEMU is known to have problems when compiled with gcc 4.x"
558 echo "It is recommended that you use gcc 3.x to build QEMU"
559 echo "To use this compiler anyway, configure with --disable-gcc-check"
565 if test ! -x "$(which cgcc 2>/dev/null)"; then
570 # Solaris specific configure tool chain decisions
572 if test "$solaris" = "yes" ; then
574 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
575 # override the check with --disable-gcc-check
577 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
579 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
580 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
581 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
582 echo "or get the latest patch from SunSolve for gcc"
586 solinst
=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
587 if test -z "$solinst" ; then
588 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
589 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
590 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
593 if test "$solinst" = "/usr/sbin/install" ; then
594 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
595 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
596 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
599 sol_ar
=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
600 if test -z "$sol_ar" ; then
601 echo "Error: No path includes ar"
602 if test -f /usr
/ccs
/bin
/ar ; then
603 echo "Add /usr/ccs/bin to your path and rerun configure"
610 if test -z "$target_list" ; then
611 # these targets are portable
612 if [ "$softmmu" = "yes" ] ; then
631 # the following are Linux specific
632 if [ "$linux_user" = "yes" ] ; then
633 target_list
="${target_list}\
645 ppc64abi32-linux-user \
650 sparc32plus-linux-user \
653 # the following are Darwin specific
654 if [ "$darwin_user" = "yes" ] ; then
655 target_list
="$target_list i386-darwin-user ppc-darwin-user"
657 # the following are BSD specific
658 if [ "$bsd_user" = "yes" ] ; then
659 target_list
="${target_list}\
664 target_list
=`echo "$target_list" | sed -e 's/,/ /g'`
666 if test -z "$target_list" ; then
667 echo "No targets enabled"
671 if test -z "$cross_prefix" ; then
674 # big/little endian test
676 #include <inttypes.h>
677 int main(int argc, char ** argv){
678 volatile uint32_t i=0x01234567;
679 return (*((uint8_t*)(&i))) == 0x67;
683 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev
/null
; then
684 $TMPE && bigendian
="yes"
686 echo big
/little
test failed
691 # if cross compiling, cannot launch a program, so make a static guess
692 if test "$cpu" = "armv4b" \
696 -o "$cpu" = "mips64" \
697 -o "$cpu" = "powerpc" \
699 -o "$cpu" = "sparc" \
700 -o "$cpu" = "sparc64"; then
706 # host long bits test
708 if test "$cpu" = "x86_64" \
709 -o "$cpu" = "alpha" \
711 -o "$cpu" = "sparc64"; then
715 # ppc specific hostlongbits selection
716 if test "$cpu" = "powerpc" ; then
717 if $cc $ARCH_CFLAGS -dM -E - -o $TMPI 2>/dev
/null
</dev
/null
; then
718 grep -q __powerpc64__
$TMPI && hostlongbits
=64
720 echo hostlongbits
test failed
725 # check gcc options support
731 # Check host NPTL support
734 #include <linux/futex.h>
737 #if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
743 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev
/null
; then
749 ##########################################
754 int main(void) { zlibVersion(); return 0; }
756 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz 2> /dev
/null
; then
760 echo "Error: zlib check failed"
761 echo "Make sure to have the zlib libs and headers installed."
766 ##########################################
771 if test -z "$sdl" ; then
772 sdl_config
="sdl-config"
778 #undef main /* We don't want SDL to override our main() */
779 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
781 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
782 _sdlversion
=`$sdl_config --version | sed 's/[^0-9]//g'`
783 if test "$_sdlversion" -lt 121 ; then
786 if test "$cocoa" = "no" ; then
791 # static link with sdl ?
792 if test "$sdl" = "yes" ; then
794 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa
="yes"
795 sdl_static_libs
=`$sdl_config --static-libs 2>/dev/null`
796 if [ "$aa" = "yes" ] ; then
797 sdl_static_libs
="$sdl_static_libs `aalib-config --static-libs`"
800 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev
/null
; then
804 fi # sdl compile test
806 # Make sure to disable cocoa if sdl was set
807 if test "$sdl" = "yes" ; then
809 audio_drv_list
="`echo $audio_drv_list | sed s,coreaudio,,g`"
813 ##########################################
815 if test "$vnc_tls" = "yes" ; then
817 #include <gnutls/gnutls.h>
818 int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
820 vnc_tls_cflags
=`pkg-config --cflags gnutls 2> /dev/null`
821 vnc_tls_libs
=`pkg-config --libs gnutls 2> /dev/null`
822 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \
823 $vnc_tls_libs 2> /dev
/null
; then
830 ##########################################
831 # vde libraries probe
832 if test "$vde" = "yes" ; then
834 #include <libvdeplug.h>
837 struct vde_open_args a = {0, 0, 0};
838 vde_open("", "", &a);
842 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug 2> /dev
/null
; then
849 ##########################################
850 # Sound support libraries probe
861 int main(void) { $exp }
863 if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib 2> /dev
/null
; then
867 echo "Error: $drv check failed"
868 echo "Make sure to have the $drv libs and headers installed."
874 audio_drv_list
=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
875 for drv
in $audio_drv_list; do
878 audio_drv_probe
$drv alsa
/asoundlib.h
-lasound \
879 "snd_pcm_t **handle; return snd_pcm_close(*handle);"
883 if test -z $fmod_lib ||
test -z $fmod_inc; then
885 echo "Error: You must specify path to FMOD library and headers"
886 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
890 audio_drv_probe
$drv fmod.h
$fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
894 audio_drv_probe
$drv esd.h
-lesd 'return esd_play_stream(0, 0, "", 0);'
898 audio_drv_probe
$drv pulse
/simple.h
-lpulse-simple \
899 "pa_simple *s = NULL; pa_simple_free(s); return 0;"
902 oss|sdl|core|wav|dsound
)
903 # XXX: Probes for CoreAudio, DirectSound, SDL(?)
907 echo "$audio_possible_drivers" |
grep -q "\<$drv\>" ||
{
909 echo "Error: Unknown driver '$drv' selected"
910 echo "Possible drivers are: $audio_possible_drivers"
918 ##########################################
921 if test -z "$brlapi" ; then
925 int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
927 if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi 2> /dev
/null
; then
929 fi # brlapi compile test
932 ##########################################
935 if test "$curses" = "yes" ; then
939 int main(void) { return curses_version(); }
941 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses 2> /dev
/null
; then
946 ##########################################
947 # bluez support probe
948 if test "$bluez" = "yes" ; then
949 `pkg-config bluez` || bluez
="no"
951 if test "$bluez" = "yes" ; then
953 #include <bluetooth/bluetooth.h>
954 int main(void) { return bt_error(0); }
956 bluez_cflags
=`pkg-config --cflags bluez`
957 bluez_libs
=`pkg-config --libs bluez`
958 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \
959 $bluez_libs 2> /dev
/null
; then
966 ##########################################
968 if test "$kvm" = "yes" ; then
970 #include <linux/kvm.h>
971 #if !defined(KVM_API_VERSION) || \
972 KVM_API_VERSION < 12 || \
973 KVM_API_VERSION > 12 || \
974 !defined(KVM_CAP_USER_MEMORY) || \
975 !defined(KVM_CAP_SET_TSS_ADDR)
976 #error Invalid KVM version
978 int main(void) { return 0; }
980 if test "$kerneldir" != "" ; then
981 kvm_cflags
=-I"$kerneldir"/include
985 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC \
993 ##########################################
995 if test "$aio" = "yes" ; then
999 int main(void) { return aio_write(NULL); }
1001 if $cc $ARCH_CFLAGS -o $TMPE $AIOLIBS $TMPC 2> /dev
/null
; then
1006 # Check if tools are available to build documentation.
1007 if [ -x "`which texi2html 2>/dev/null`" ] && \
1008 [ -x "`which pod2man 2>/dev/null`" ]; then
1012 if test "$mingw32" = "yes" ; then
1013 if test -z "$prefix" ; then
1014 prefix
="c:\\\\Program Files\\\\Qemu"
1021 if test -z "$prefix" ; then
1024 mansuffix
="/share/man"
1025 datasuffix
="/share/qemu"
1026 docsuffix
="/share/doc/qemu"
1030 echo "Install prefix $prefix"
1031 echo "BIOS directory $prefix$datasuffix"
1032 echo "binary directory $prefix$binsuffix"
1033 if test "$mingw32" = "no" ; then
1034 echo "Manual directory $prefix$mansuffix"
1035 echo "ELF interp prefix $interp_prefix"
1037 echo "Source path $source_path"
1038 echo "C compiler $cc"
1039 echo "Host C compiler $host_cc"
1040 echo "ARCH_CFLAGS $ARCH_CFLAGS"
1042 echo "install $install"
1043 echo "host CPU $cpu"
1044 echo "host big endian $bigendian"
1045 echo "target list $target_list"
1046 echo "gprof enabled $gprof"
1047 echo "sparse enabled $sparse"
1048 echo "profiler $profiler"
1049 echo "static build $static"
1050 echo "-Werror enabled $werror"
1051 if test "$darwin" = "yes" ; then
1052 echo "Cocoa support $cocoa"
1054 echo "SDL support $sdl"
1055 if test "$sdl" != "no" ; then
1056 echo "SDL static link $sdl_static"
1058 echo "curses support $curses"
1059 echo "mingw32 support $mingw32"
1060 echo "Audio drivers $audio_drv_list"
1061 echo "Extra audio cards $audio_card_list"
1062 echo "Mixer emulation $mixemu"
1063 echo "VNC TLS support $vnc_tls"
1064 if test "$vnc_tls" = "yes" ; then
1065 echo " TLS CFLAGS $vnc_tls_cflags"
1066 echo " TLS LIBS $vnc_tls_libs"
1068 if test -n "$sparc_cpu"; then
1069 echo "Target Sparc Arch $sparc_cpu"
1071 echo "kqemu support $kqemu"
1072 echo "brlapi support $brlapi"
1073 echo "Documentation $build_docs"
1074 [ ! -z "$uname_release" ] && \
1075 echo "uname -r $uname_release"
1076 echo "NPTL support $nptl"
1077 echo "vde support $vde"
1078 echo "AIO support $aio"
1079 echo "KVM support $kvm"
1081 if test $sdl_too_old = "yes"; then
1082 echo "-> Your SDL version is too old - please upgrade to have SDL support"
1084 if [ -s /tmp
/qemu-$$
-sdl-config.log
]; then
1085 echo "The error log from compiling the libSDL test is: "
1086 cat /tmp
/qemu-$$
-sdl-config.log
1088 rm -f /tmp
/qemu-$$
-sdl-config.log
1089 #if test "$sdl_static" = "no"; then
1090 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
1092 config_mak
="config-host.mak"
1093 config_h
="config-host.h"
1095 #echo "Creating $config_mak and $config_h"
1097 test -f $config_h && mv $config_h ${config_h}~
1099 echo "# Automatically generated by configure - do not modify" > $config_mak
1100 echo "# Configured with: $0 $@" >> $config_mak
1101 echo "/* Automatically generated by configure - do not modify */" > $config_h
1103 echo "prefix=$prefix" >> $config_mak
1104 echo "bindir=\${prefix}$binsuffix" >> $config_mak
1105 echo "mandir=\${prefix}$mansuffix" >> $config_mak
1106 echo "datadir=\${prefix}$datasuffix" >> $config_mak
1107 echo "docdir=\${prefix}$docsuffix" >> $config_mak
1108 echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
1109 echo "MAKE=$make" >> $config_mak
1110 echo "INSTALL=$install" >> $config_mak
1111 echo "CC=$cc" >> $config_mak
1112 echo "HOST_CC=$host_cc" >> $config_mak
1113 echo "AR=$ar" >> $config_mak
1114 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
1115 # XXX: only use CFLAGS and LDFLAGS ?
1116 # XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
1117 # compilation of dyngen tool (useful for win32 build on Linux host)
1118 echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
1119 echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
1120 echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
1121 echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
1122 echo "CFLAGS=$CFLAGS" >> $config_mak
1123 echo "LDFLAGS=$LDFLAGS" >> $config_mak
1124 echo "EXESUF=$EXESUF" >> $config_mak
1125 echo "AIOLIBS=$AIOLIBS" >> $config_mak
1128 echo "ARCH=i386" >> $config_mak
1129 echo "#define HOST_I386 1" >> $config_h
1132 echo "ARCH=x86_64" >> $config_mak
1133 echo "#define HOST_X86_64 1" >> $config_h
1136 echo "ARCH=alpha" >> $config_mak
1137 echo "#define HOST_ALPHA 1" >> $config_h
1140 echo "ARCH=arm" >> $config_mak
1141 echo "#define HOST_ARM 1" >> $config_h
1144 echo "ARCH=arm" >> $config_mak
1145 echo "#define HOST_ARM 1" >> $config_h
1148 echo "ARCH=cris" >> $config_mak
1149 echo "#define HOST_CRIS 1" >> $config_h
1152 echo "ARCH=hppa" >> $config_mak
1153 echo "#define HOST_HPPA 1" >> $config_h
1156 echo "ARCH=ia64" >> $config_mak
1157 echo "#define HOST_IA64 1" >> $config_h
1160 echo "ARCH=m68k" >> $config_mak
1161 echo "#define HOST_M68K 1" >> $config_h
1164 echo "ARCH=mips" >> $config_mak
1165 echo "#define HOST_MIPS 1" >> $config_h
1168 echo "ARCH=mips64" >> $config_mak
1169 echo "#define HOST_MIPS64 1" >> $config_h
1172 if test "$hostlongbits" = "32"; then
1173 echo "ARCH=ppc" >> $config_mak
1174 echo "#define HOST_PPC 1" >> $config_h
1176 echo "ARCH=ppc64" >> $config_mak
1177 echo "#define HOST_PPC64 1" >> $config_h
1181 echo "ARCH=s390" >> $config_mak
1182 echo "#define HOST_S390 1" >> $config_h
1185 echo "ARCH=sparc" >> $config_mak
1186 echo "#define HOST_SPARC 1" >> $config_h
1189 echo "ARCH=sparc64" >> $config_mak
1190 echo "#define HOST_SPARC64 1" >> $config_h
1193 echo "Unsupported CPU = $cpu"
1197 if test "$sparse" = "yes" ; then
1198 echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak
1199 echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak
1200 echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak
1202 if test "$bigendian" = "yes" ; then
1203 echo "WORDS_BIGENDIAN=yes" >> $config_mak
1204 echo "#define WORDS_BIGENDIAN 1" >> $config_h
1206 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
1207 if test "$mingw32" = "yes" ; then
1208 echo "CONFIG_WIN32=yes" >> $config_mak
1209 echo "#define CONFIG_WIN32 1" >> $config_h
1212 #include <byteswap.h>
1213 int main(void) { return bswap_32(0); }
1215 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev
/null
; then
1216 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
1220 if [ "$openbsd" = "yes" ] ; then
1221 echo "#define ENOTSUP 4096" >> $config_h
1224 if test "$darwin" = "yes" ; then
1225 echo "CONFIG_DARWIN=yes" >> $config_mak
1226 echo "#define CONFIG_DARWIN 1" >> $config_h
1229 if test "$aix" = "yes" ; then
1230 echo "CONFIG_AIX=yes" >> $config_mak
1231 echo "#define CONFIG_AIX 1" >> $config_h
1234 if test "$solaris" = "yes" ; then
1235 echo "CONFIG_SOLARIS=yes" >> $config_mak
1236 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
1237 if test "$needs_libsunmath" = "yes" ; then
1238 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
1239 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
1242 if test -n "$sparc_cpu"; then
1243 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
1244 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1246 if test "$gdbstub" = "yes" ; then
1247 echo "CONFIG_GDBSTUB=yes" >> $config_mak
1248 echo "#define CONFIG_GDBSTUB 1" >> $config_h
1250 if test "$gprof" = "yes" ; then
1251 echo "TARGET_GPROF=yes" >> $config_mak
1252 echo "#define HAVE_GPROF 1" >> $config_h
1254 if test "$static" = "yes" ; then
1255 echo "CONFIG_STATIC=yes" >> $config_mak
1256 echo "#define CONFIG_STATIC 1" >> $config_h
1258 if test $profiler = "yes" ; then
1259 echo "#define CONFIG_PROFILER 1" >> $config_h
1261 if test "$slirp" = "yes" ; then
1262 echo "CONFIG_SLIRP=yes" >> $config_mak
1263 echo "#define CONFIG_SLIRP 1" >> $config_h
1265 if test "$vde" = "yes" ; then
1266 echo "CONFIG_VDE=yes" >> $config_mak
1267 echo "#define CONFIG_VDE 1" >> $config_h
1268 echo "VDE_LIBS=-lvdeplug" >> $config_mak
1270 for card
in $audio_card_list; do
1271 def
=CONFIG_
`echo $card | tr '[:lower:]' '[:upper:]'`
1272 echo "$def=yes" >> $config_mak
1273 echo "#define $def 1" >> $config_h
1275 echo "#define AUDIO_DRIVERS \\" >> $config_h
1276 for drv
in $audio_drv_list; do
1277 echo " &${drv}_audio_driver, \\" >>$config_h
1278 def
=CONFIG_
`echo $drv | tr '[:lower:]' '[:upper:]'`
1279 echo "$def=yes" >> $config_mak
1280 if test "$drv" = "fmod"; then
1281 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
1282 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
1283 elif test "$drv" = "oss"; then
1284 echo "CONFIG_OSS_LIB=$oss_lib" >> $config_mak
1288 if test "$mixemu" = "yes" ; then
1289 echo "CONFIG_MIXEMU=yes" >> $config_mak
1290 echo "#define CONFIG_MIXEMU 1" >> $config_h
1292 if test "$vnc_tls" = "yes" ; then
1293 echo "CONFIG_VNC_TLS=yes" >> $config_mak
1294 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
1295 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
1296 echo "#define CONFIG_VNC_TLS 1" >> $config_h
1298 qemu_version
=`head $source_path/VERSION`
1299 echo "VERSION=$qemu_version" >>$config_mak
1300 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
1302 echo "SRC_PATH=$source_path" >> $config_mak
1303 if [ "$source_path_used" = "yes" ]; then
1304 echo "VPATH=$source_path" >> $config_mak
1306 echo "TARGET_DIRS=$target_list" >> $config_mak
1307 if [ "$build_docs" = "yes" ] ; then
1308 echo "BUILD_DOCS=yes" >> $config_mak
1310 if test "$static" = "yes"; then
1315 if test "$sdl1" = "yes" ; then
1316 echo "#define CONFIG_SDL 1" >> $config_h
1317 echo "CONFIG_SDL=yes" >> $config_mak
1318 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1319 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1321 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1323 if [ "${aa}" = "yes" ] ; then
1324 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1326 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1329 if test "$cocoa" = "yes" ; then
1330 echo "#define CONFIG_COCOA 1" >> $config_h
1331 echo "CONFIG_COCOA=yes" >> $config_mak
1333 if test "$curses" = "yes" ; then
1334 echo "#define CONFIG_CURSES 1" >> $config_h
1335 echo "CONFIG_CURSES=yes" >> $config_mak
1336 echo "CURSES_LIBS=-lcurses" >> $config_mak
1338 if test "$brlapi" = "yes" ; then
1339 echo "CONFIG_BRLAPI=yes" >> $config_mak
1340 echo "#define CONFIG_BRLAPI 1" >> $config_h
1341 echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak
1343 if test "$bluez" = "yes" ; then
1344 echo "CONFIG_BLUEZ=yes" >> $config_mak
1345 echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_mak
1346 echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_mak
1347 echo "#define CONFIG_BLUEZ 1" >> $config_h
1349 if test "$aio" = "yes" ; then
1350 echo "#define CONFIG_AIO 1" >> $config_h
1351 echo "CONFIG_AIO=yes" >> $config_mak
1354 # XXX: suppress that
1355 if [ "$bsd" = "yes" ] ; then
1356 echo "#define O_LARGEFILE 0" >> $config_h
1357 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
1358 echo "#define _BSD 1" >> $config_h
1361 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
1364 if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
1365 tools
="qemu-img\$(EXESUF) $tools"
1366 if [ "$linux" = "yes" ] ; then
1367 tools
="qemu-nbd\$(EXESUF) $tools"
1370 echo "TOOLS=$tools" >> $config_mak
1372 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~
$config_h
1374 for target
in $target_list; do
1375 target_dir
="$target"
1376 config_mak
=$target_dir/config.mak
1377 config_h
=$target_dir/config.h
1378 target_cpu
=`echo $target | cut -d '-' -f 1`
1379 target_bigendian
="no"
1380 [ "$target_cpu" = "armeb" ] && target_bigendian
=yes
1381 [ "$target_cpu" = "m68k" ] && target_bigendian
=yes
1382 [ "$target_cpu" = "mips" ] && target_bigendian
=yes
1383 [ "$target_cpu" = "mipsn32" ] && target_bigendian
=yes
1384 [ "$target_cpu" = "mips64" ] && target_bigendian
=yes
1385 [ "$target_cpu" = "ppc" ] && target_bigendian
=yes
1386 [ "$target_cpu" = "ppcemb" ] && target_bigendian
=yes
1387 [ "$target_cpu" = "ppc64" ] && target_bigendian
=yes
1388 [ "$target_cpu" = "ppc64abi32" ] && target_bigendian
=yes
1389 [ "$target_cpu" = "sh4eb" ] && target_bigendian
=yes
1390 [ "$target_cpu" = "sparc" ] && target_bigendian
=yes
1391 [ "$target_cpu" = "sparc64" ] && target_bigendian
=yes
1392 [ "$target_cpu" = "sparc32plus" ] && target_bigendian
=yes
1394 target_user_only
="no"
1395 target_linux_user
="no"
1396 target_darwin_user
="no"
1397 target_bsd_user
="no"
1399 ${target_cpu}-softmmu)
1400 target_softmmu
="yes"
1402 ${target_cpu}-linux-user)
1403 target_user_only
="yes"
1404 target_linux_user
="yes"
1406 ${target_cpu}-darwin-user)
1407 target_user_only
="yes"
1408 target_darwin_user
="yes"
1410 ${target_cpu}-bsd-user)
1411 target_user_only
="yes"
1412 target_bsd_user
="yes"
1415 echo "ERROR: Target '$target' not recognised"
1420 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1421 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1422 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1423 echo "To build QEMU without graphical output configure with --disable-gfx-check"
1424 echo "Note that this will disable all output from the virtual graphics card"
1425 echo "except through VNC or curses."
1429 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1431 test -f $config_h && mv $config_h ${config_h}~
1433 mkdir
-p $target_dir
1434 mkdir
-p $target_dir/fpu
1435 mkdir
-p $target_dir/tcg
1436 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
1437 mkdir
-p $target_dir/nwfpe
1441 # don't use ln -sf as not all "ln -sf" over write the file/link
1443 rm -f $target_dir/Makefile
1444 ln -s $source_path/Makefile.target
$target_dir/Makefile
1447 echo "# Automatically generated by configure - do not modify" > $config_mak
1448 echo "/* Automatically generated by configure - do not modify */" > $config_h
1451 echo "include ../config-host.mak" >> $config_mak
1452 echo "#include \"../config-host.h\"" >> $config_h
1457 interp_prefix1
=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1458 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1461 # Make sure the target and host cpus are compatible
1462 if test "$kvm" = "yes" -a ! \
( "$target_cpu" = "$cpu" -o \
1463 \
( "$target_cpu" = "x86_64" -a "$cpu" = "i386" \
) -o \
1464 \
( "$target_cpu" = "i386" -a "$cpu" = "x86_64" \
) \
) ; then
1467 # Disable KVM for linux-user
1468 if test "$kvm" = "yes" -a "$target_softmmu" = "no" ; then
1472 case "$target_cpu" in
1474 echo "TARGET_ARCH=i386" >> $config_mak
1475 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1476 echo "#define TARGET_I386 1" >> $config_h
1477 if test $kqemu = "yes" -a "$target_softmmu" = "yes"
1479 echo "#define USE_KQEMU 1" >> $config_h
1481 if test "$kvm" = "yes" ; then
1482 echo "CONFIG_KVM=yes" >> $config_mak
1483 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1484 echo "#define CONFIG_KVM 1" >> $config_h
1486 gcc3minver
=`$cc --version 2> /dev/null| fgrep "(GCC) 3." | awk '{ print $3 }' | cut -f2 -d.`
1487 if test -n "$gcc3minver" && test $gcc3minver -gt 3
1489 echo "HAVE_GT_GCC_3_3=true" >> $config_mak
1491 echo "HAVE_GT_GCC_3_3=false" >> $config_mak
1495 echo "TARGET_ARCH=x86_64" >> $config_mak
1496 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1497 echo "#define TARGET_I386 1" >> $config_h
1498 echo "#define TARGET_X86_64 1" >> $config_h
1499 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
1501 echo "#define USE_KQEMU 1" >> $config_h
1503 if test "$kvm" = "yes" ; then
1504 echo "CONFIG_KVM=yes" >> $config_mak
1505 echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
1506 echo "#define CONFIG_KVM 1" >> $config_h
1510 echo "TARGET_ARCH=alpha" >> $config_mak
1511 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1512 echo "#define TARGET_ALPHA 1" >> $config_h
1515 echo "TARGET_ARCH=arm" >> $config_mak
1516 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1517 echo "#define TARGET_ARM 1" >> $config_h
1520 gdb_xml_files
="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
1523 echo "TARGET_ARCH=cris" >> $config_mak
1524 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1525 echo "#define TARGET_CRIS 1" >> $config_h
1528 echo "TARGET_ARCH=m68k" >> $config_mak
1529 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1530 echo "#define TARGET_M68K 1" >> $config_h
1532 gdb_xml_files
="cf-core.xml cf-fp.xml"
1535 echo "TARGET_ARCH=mips" >> $config_mak
1536 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1537 echo "#define TARGET_MIPS 1" >> $config_h
1538 echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1541 echo "TARGET_ARCH=mipsn32" >> $config_mak
1542 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1543 echo "#define TARGET_MIPS 1" >> $config_h
1544 echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1547 echo "TARGET_ARCH=mips64" >> $config_mak
1548 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1549 echo "#define TARGET_MIPS 1" >> $config_h
1550 echo "#define TARGET_MIPS64 1" >> $config_h
1551 echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1554 echo "TARGET_ARCH=ppc" >> $config_mak
1555 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1556 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1557 echo "#define TARGET_PPC 1" >> $config_h
1558 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1561 echo "TARGET_ARCH=ppcemb" >> $config_mak
1562 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1563 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1564 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1565 echo "#define TARGET_PPC 1" >> $config_h
1566 echo "#define TARGET_PPCEMB 1" >> $config_h
1567 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1570 echo "TARGET_ARCH=ppc64" >> $config_mak
1571 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1572 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1573 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1574 echo "#define TARGET_PPC 1" >> $config_h
1575 echo "#define TARGET_PPC64 1" >> $config_h
1576 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1579 echo "TARGET_ARCH=ppc64" >> $config_mak
1580 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1581 echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
1582 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
1583 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1584 echo "#define TARGET_PPC 1" >> $config_h
1585 echo "#define TARGET_PPC64 1" >> $config_h
1586 echo "#define TARGET_ABI32 1" >> $config_h
1587 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
1590 echo "TARGET_ARCH=sh4" >> $config_mak
1591 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1592 echo "#define TARGET_SH4 1" >> $config_h
1597 echo "TARGET_ARCH=sparc" >> $config_mak
1598 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1599 echo "#define TARGET_SPARC 1" >> $config_h
1602 echo "TARGET_ARCH=sparc64" >> $config_mak
1603 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1604 echo "#define TARGET_SPARC 1" >> $config_h
1605 echo "#define TARGET_SPARC64 1" >> $config_h
1609 echo "TARGET_ARCH=sparc64" >> $config_mak
1610 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1611 echo "TARGET_ARCH2=sparc32plus" >> $config_mak
1612 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1613 echo "#define TARGET_SPARC 1" >> $config_h
1614 echo "#define TARGET_SPARC64 1" >> $config_h
1615 echo "#define TARGET_ABI32 1" >> $config_h
1618 echo "Unsupported target CPU"
1622 if test "$target_bigendian" = "yes" ; then
1623 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1624 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1626 if test "$target_softmmu" = "yes" ; then
1627 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1628 echo "#define CONFIG_SOFTMMU 1" >> $config_h
1630 if test "$target_user_only" = "yes" ; then
1631 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1632 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1634 if test "$target_linux_user" = "yes" ; then
1635 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1636 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1638 if test "$target_darwin_user" = "yes" ; then
1639 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1640 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1643 if test ! -z "$gdb_xml_files" ; then
1644 for x
in $gdb_xml_files; do
1645 list
="$list $source_path/gdb-xml/$x"
1648 echo "TARGET_XML_FILES=$list" >> $config_mak
1650 if test "$target_cpu" = "arm" \
1651 -o "$target_cpu" = "armeb" \
1652 -o "$target_cpu" = "m68k" \
1653 -o "$target_cpu" = "mips" \
1654 -o "$target_cpu" = "mipsel" \
1655 -o "$target_cpu" = "mipsn32" \
1656 -o "$target_cpu" = "mipsn32el" \
1657 -o "$target_cpu" = "mips64" \
1658 -o "$target_cpu" = "mips64el" \
1659 -o "$target_cpu" = "sparc" \
1660 -o "$target_cpu" = "sparc64" \
1661 -o "$target_cpu" = "sparc32plus"; then
1662 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1663 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1665 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1666 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1667 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1669 if test "$target_user_only" = "yes" \
1670 -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1671 echo "#define USE_NPTL 1" >> $config_h
1673 # 32 bit ELF loader in addition to native 64 bit loader?
1674 if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1675 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1676 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1678 if test "$target_bsd_user" = "yes" ; then
1679 echo "CONFIG_BSD_USER=yes" >> $config_mak
1680 echo "#define CONFIG_BSD_USER 1" >> $config_h
1683 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~
$config_h
1685 done # for target in $targets
1687 # build tree in object directory if source path is different from current one
1688 if test "$source_path_used" = "yes" ; then
1689 DIRS
="tests tests/cris slirp audio"
1690 FILES
="Makefile tests/Makefile"
1691 FILES
="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1692 FILES
="$FILES tests/test-mmap.c"
1693 for dir
in $DIRS ; do
1696 # remove the link and recreate it, as not all "ln -sf" overwrite the link
1697 for f
in $FILES ; do
1699 ln -s $source_path/$f $f
1703 rm -f $TMPO $TMPC $TMPE $TMPS $TMPI