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"
21 interp_prefix
="/usr/gnemul/qemu-%M"
26 gcc3_list
="gcc-3.4 gcc34 gcc-3.3 gcc33 gcc-3.2 gcc32"
35 i386|i486|i586|i686|i86pc|BePC
)
47 "Power Macintosh"|ppc|ppc64
)
107 OS_CFLAGS
="-mno-cygwin"
115 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
133 OS_CFLAGS
="-mdynamic-no-pic"
139 solarisrev
=`uname -r | cut -f2 -d.`
140 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
141 if test "$solarisrev" -ge 10 ; then
150 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
156 if [ "$bsd" = "yes" ] ; then
157 if [ "$darwin" != "yes" ] ; then
163 source_path
=`dirname "$0"`
164 if [ -z "$source_path" ]; then
167 source_path
=`cd "$source_path"; pwd`
169 if test "$source_path" = `pwd` ; then
170 source_path_used
="no"
172 source_path_used
="yes"
176 optarg
=`expr "x$opt" : 'x[^=]*=\(.*\)'`
178 --help|
-h) show_help
=yes
180 --prefix=*) prefix
="$optarg"
182 --interp-prefix=*) interp_prefix
="$optarg"
184 --source-path=*) source_path
="$optarg"
185 source_path_used
="yes"
187 --cross-prefix=*) cross_prefix
="$optarg"
192 --host-cc=*) host_cc
="$optarg"
194 --make=*) make="$optarg"
196 --install=*) install="$optarg"
198 --extra-cflags=*) CFLAGS
="$optarg"
200 --extra-ldflags=*) LDFLAGS
="$optarg"
202 --cpu=*) cpu
="$optarg"
204 --target-list=*) target_list
="$optarg"
206 --enable-gprof) gprof
="yes"
208 --static) static
="yes"
210 --disable-sdl) sdl
="no"
212 --enable-coreaudio) coreaudio
="yes"
214 --enable-alsa) alsa
="yes"
216 --enable-dsound) dsound
="yes"
218 --enable-fmod) fmod
="yes"
220 --fmod-lib=*) fmod_lib
="$optarg"
222 --fmod-inc=*) fmod_inc
="$optarg"
224 --enable-mingw32) mingw32
="yes" ; cross_prefix
="i386-mingw32-" ; linux_user
="no"
226 --disable-slirp) slirp
="no"
228 --enable-adlib) adlib
="yes"
230 --disable-kqemu) kqemu
="no"
232 --enable-profiler) profiler
="yes"
234 --enable-cocoa) cocoa
="yes" ; coreaudio
="yes" ; sdl
="no"
236 --disable-gfx-check) check_gfx
="no"
238 --disable-gcc-check) check_gcc
="no"
240 --disable-system) softmmu
="no"
242 --enable-system) softmmu
="yes"
244 --disable-linux-user) linux_user
="no"
246 --enable-linux-user) linux_user
="yes"
248 --disable-darwin-user) darwin_user
="no"
250 --enable-darwin-user) darwin_user
="yes"
252 --enable-uname-release=*) uname_release
="$optarg"
257 if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
263 # default flags for all hosts
264 CFLAGS
="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
265 LDFLAGS
="$LDFLAGS -g"
267 if test x
"$show_help" = x
"yes" ; then
270 Usage: configure [options]
271 Options: [defaults in brackets after descriptions]
274 echo "Standard options:"
275 echo " --help print this message"
276 echo " --prefix=PREFIX install in PREFIX [$prefix]"
277 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
278 echo " use %M for cpu name [$interp_prefix]"
279 echo " --target-list=LIST set target list [$target_list]"
281 echo "kqemu kernel acceleration support:"
282 echo " --disable-kqemu disable kqemu support"
284 echo "Advanced options (experts only):"
285 echo " --source-path=PATH path of source code [$source_path]"
286 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
287 echo " --cc=CC use C compiler CC [$cc]"
288 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
289 echo " --make=MAKE use specified make [$make]"
290 echo " --install=INSTALL use specified install [$install]"
291 echo " --static enable static build [$static]"
292 echo " --enable-cocoa enable COCOA (Mac OS X only)"
293 echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
294 echo " --enable-adlib enable Adlib emulation"
295 echo " --enable-coreaudio enable Coreaudio audio driver"
296 echo " --enable-alsa enable ALSA audio driver"
297 echo " --enable-fmod enable FMOD audio driver"
298 echo " --enable-dsound enable DirectSound audio driver"
299 echo " --enable-system enable all system emulation targets"
300 echo " --disable-system disable all system emulation targets"
301 echo " --enable-linux-user enable all linux usermode emulation targets"
302 echo " --disable-linux-user disable all linux usermode emulation targets"
303 echo " --enable-darwin-user enable all darwin usermode emulation targets"
304 echo " --disable-darwin-user disable all darwin usermode emulation targets"
305 echo " --fmod-lib path to FMOD library"
306 echo " --fmod-inc path to FMOD includes"
307 echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
309 echo "NOTE: The object files are built at the place where configure is launched"
313 cc
="${cross_prefix}${cc}"
314 ar="${cross_prefix}${ar}"
315 strip
="${cross_prefix}${strip}"
317 # check that the C compiler works.
322 if $cc -c -o $TMPO $TMPC 2> /dev
/null
; then
323 : C compiler works ok
325 echo "ERROR: \"$cc\" either does not exist or does not work"
329 if test "$mingw32" = "yes" ; then
333 if [ "$cpu" = "i386" ] ; then
338 # Check for gcc4, error if pre-gcc4
339 if test "$check_gcc" = "yes" ; then
344 int main(){return 0;}
347 which "$1" 2> /dev
/null
351 if "$cc" -o $TMPE $TMPC 2> /dev
/null
; then
352 echo "WARNING: \"$cc\" looks like gcc 4.x"
354 if test "$gcc3_search" = "yes" ; then
355 echo "Looking for gcc 3.x"
356 for compat_cc
in $gcc3_list ; do
357 if check_cc
"$cross_prefix$compat_cc" ; then
358 echo "Found \"$compat_cc\""
359 cc
="$cross_prefix$compat_cc"
360 found_compat_cc
="yes"
364 if test "$found_compat_cc" = "no" ; then
365 echo "gcc 3.x not found!"
368 if test "$found_compat_cc" = "no" ; then
369 echo "QEMU is known to have problems when compiled with gcc 4.x"
370 echo "It is recommended that you use gcc 3.x to build QEMU"
371 echo "To use this compiler anyway, configure with --disable-gcc-check"
378 # Solaris specific configure tool chain decisions
380 if test "$solaris" = "yes" ; then
382 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
383 # override the check with --disable-gcc-check
385 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
387 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
388 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
389 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
390 echo "or get the latest patch from SunSolve for gcc"
394 solinst
=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
395 if test -z "$solinst" ; then
396 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
397 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
398 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
401 if test "$solinst" = "/usr/sbin/install" ; then
402 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
403 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
404 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
407 sol_ar
=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
408 if test -z "$sol_ar" ; then
409 echo "Error: No path includes ar"
410 if test -f /usr
/ccs
/bin
/ar ; then
411 echo "Add /usr/ccs/bin to your path and rerun configure"
418 if test -z "$target_list" ; then
419 # these targets are portable
420 if [ "$softmmu" = "yes" ] ; then
421 target_list
="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu ppc64-softmmu"
423 # the following are Linux specific
424 if [ "$linux_user" = "yes" ] ; then
425 target_list
="i386-linux-user arm-linux-user armeb-linux-user sparc-linux-user ppc-linux-user mips-linux-user mipsel-linux-user m68k-linux-user $target_list"
427 # the following are Darwin specific
428 if [ "$darwin_user" = "yes" ] ; then
429 target_list
="i386-darwin-user ppc-darwin-user $target_list"
432 target_list
=`echo "$target_list" | sed -e 's/,/ /g'`
434 if test -z "$target_list" ; then
435 echo "No targets enabled"
439 if test -z "$cross_prefix" ; then
442 # big/little endian test
444 #include <inttypes.h>
445 int main(int argc, char ** argv){
446 volatile uint32_t i=0x01234567;
447 return (*((uint8_t*)(&i))) == 0x67;
451 if $cc -o $TMPE $TMPC 2> /dev
/null
; then
452 $TMPE && bigendian
="yes"
454 echo big
/little
test failed
459 # if cross compiling, cannot launch a program, so make a static guess
460 if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
466 # host long bits test
468 if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
472 # check gcc options support
478 ##########################################
483 if test -z "$sdl" ; then
485 sdl_config
="sdl-config"
489 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
490 # win32 cross compilation case
491 sdl_config
="i386-mingw32msvc-sdl-config"
497 #undef main /* We don't want SDL to override our main() */
498 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
501 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev
/null
; then
502 _sdlversion
=`$sdl_config --version | sed 's/[^0-9]//g'`
503 if test "$_sdlversion" -lt 121 ; then
506 if test "$cocoa" = "no" ; then
511 # static link with sdl ?
512 if test "$sdl" = "yes" ; then
514 `$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa
="yes"
515 sdl_static_libs
=`$sdl_config --static-libs`
516 if [ "$aa" = "yes" ] ; then
517 sdl_static_libs
="$sdl_static_libs `aalib-config --static-libs`"
520 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev
/null
; then
526 fi # sdl compile test
528 fi # cross compilation
531 # Make sure to disable cocoa if sdl was set
532 if test "$sdl" = "yes" ; then
538 ##########################################
539 # alsa sound support libraries
541 if test "$alsa" = "yes" ; then
543 #include <alsa/asoundlib.h>
544 int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
546 if $cc -o $TMPE $TMPC -lasound 2> /dev
/null
; then
550 echo "Error: Could not find alsa"
551 echo "Make sure to have the alsa libs and headers installed."
557 # Check if tools are available to build documentation.
558 if [ -x "`which texi2html`" ] && [ -x "`which pod2man`" ]; then
562 if test "$mingw32" = "yes" ; then
563 if test -z "$prefix" ; then
564 prefix
="/c/Program Files/Qemu"
571 if test -z "$prefix" ; then
574 mansuffix
="/share/man"
575 datasuffix
="/share/qemu"
576 docsuffix
="/share/doc/qemu"
580 echo "Install prefix $prefix"
581 echo "BIOS directory $prefix$datasuffix"
582 echo "binary directory $prefix$binsuffix"
583 if test "$mingw32" = "no" ; then
584 echo "Manual directory $prefix$mansuffix"
585 echo "ELF interp prefix $interp_prefix"
587 echo "Source path $source_path"
588 echo "C compiler $cc"
589 echo "Host C compiler $host_cc"
591 echo "install $install"
593 echo "host big endian $bigendian"
594 echo "target list $target_list"
595 echo "gprof enabled $gprof"
596 echo "profiler $profiler"
597 echo "static build $static"
598 if test "$darwin" = "yes" ; then
599 echo "Cocoa support $cocoa"
601 echo "SDL support $sdl"
602 if test "$sdl" != "no" ; then
603 echo "SDL static link $sdl_static"
605 echo "mingw32 support $mingw32"
606 echo "Adlib support $adlib"
607 echo "CoreAudio support $coreaudio"
608 echo "ALSA support $alsa"
609 echo "DSound support $dsound"
610 if test "$fmod" = "yes"; then
611 if test -z $fmod_lib ||
test -z $fmod_inc; then
613 echo "Error: You must specify path to FMOD library and headers"
614 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
618 fmod_support
=" (lib='$fmod_lib' include='$fmod_inc')"
622 echo "FMOD support $fmod $fmod_support"
623 echo "kqemu support $kqemu"
624 echo "Documentation $build_docs"
625 [ ! -z "$uname_release" ] && \
626 echo "uname -r $uname_release"
628 if test $sdl_too_old = "yes"; then
629 echo "-> Your SDL version is too old - please upgrade to have SDL support"
631 #if test "$sdl_static" = "no"; then
632 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
634 config_mak
="config-host.mak"
635 config_h
="config-host.h"
637 #echo "Creating $config_mak and $config_h"
639 echo "# Automatically generated by configure - do not modify" > $config_mak
640 echo "# Configured with: $0 $@" >> $config_mak
641 echo "/* Automatically generated by configure - do not modify */" > $config_h
643 echo "prefix=$prefix" >> $config_mak
644 echo "bindir=\${prefix}$binsuffix" >> $config_mak
645 echo "mandir=\${prefix}$mansuffix" >> $config_mak
646 echo "datadir=\${prefix}$datasuffix" >> $config_mak
647 echo "docdir=\${prefix}$docsuffix" >> $config_mak
648 echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
649 echo "MAKE=$make" >> $config_mak
650 echo "INSTALL=$install" >> $config_mak
651 echo "CC=$cc" >> $config_mak
652 echo "HOST_CC=$host_cc" >> $config_mak
653 echo "AR=$ar" >> $config_mak
654 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
655 echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
656 echo "CFLAGS=$CFLAGS" >> $config_mak
657 echo "LDFLAGS=$LDFLAGS" >> $config_mak
658 echo "EXESUF=$EXESUF" >> $config_mak
659 echo "AIOLIBS=$AIOLIBS" >> $config_mak
660 if test "$cpu" = "i386" ; then
661 echo "ARCH=i386" >> $config_mak
662 echo "#define HOST_I386 1" >> $config_h
663 elif test "$cpu" = "x86_64" ; then
664 echo "ARCH=x86_64" >> $config_mak
665 echo "#define HOST_X86_64 1" >> $config_h
666 elif test "$cpu" = "armv4b" ; then
667 echo "ARCH=arm" >> $config_mak
668 echo "#define HOST_ARM 1" >> $config_h
669 elif test "$cpu" = "armv4l" ; then
670 echo "ARCH=arm" >> $config_mak
671 echo "#define HOST_ARM 1" >> $config_h
672 elif test "$cpu" = "powerpc" ; then
673 echo "ARCH=ppc" >> $config_mak
674 echo "#define HOST_PPC 1" >> $config_h
675 elif test "$cpu" = "mips" ; then
676 echo "ARCH=mips" >> $config_mak
677 echo "#define HOST_MIPS 1" >> $config_h
678 elif test "$cpu" = "s390" ; then
679 echo "ARCH=s390" >> $config_mak
680 echo "#define HOST_S390 1" >> $config_h
681 elif test "$cpu" = "alpha" ; then
682 echo "ARCH=alpha" >> $config_mak
683 echo "#define HOST_ALPHA 1" >> $config_h
684 elif test "$cpu" = "sparc" ; then
685 echo "ARCH=sparc" >> $config_mak
686 echo "#define HOST_SPARC 1" >> $config_h
687 elif test "$cpu" = "sparc64" ; then
688 echo "ARCH=sparc64" >> $config_mak
689 echo "#define HOST_SPARC64 1" >> $config_h
690 elif test "$cpu" = "ia64" ; then
691 echo "ARCH=ia64" >> $config_mak
692 echo "#define HOST_IA64 1" >> $config_h
693 elif test "$cpu" = "m68k" ; then
694 echo "ARCH=m68k" >> $config_mak
695 echo "#define HOST_M68K 1" >> $config_h
697 echo "Unsupported CPU"
700 if test "$bigendian" = "yes" ; then
701 echo "WORDS_BIGENDIAN=yes" >> $config_mak
702 echo "#define WORDS_BIGENDIAN 1" >> $config_h
704 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
705 if test "$mingw32" = "yes" ; then
706 echo "CONFIG_WIN32=yes" >> $config_mak
707 echo "#define CONFIG_WIN32 1" >> $config_h
710 #include <byteswap.h>
711 int main(void) { return bswap_32(0); }
713 if $cc -o $TMPE $TMPC 2> /dev
/null
; then
714 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
717 if test "$darwin" = "yes" ; then
718 echo "CONFIG_DARWIN=yes" >> $config_mak
719 echo "#define CONFIG_DARWIN 1" >> $config_h
721 if test "$solaris" = "yes" ; then
722 echo "CONFIG_SOLARIS=yes" >> $config_mak
723 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
725 if test "$gdbstub" = "yes" ; then
726 echo "CONFIG_GDBSTUB=yes" >> $config_mak
727 echo "#define CONFIG_GDBSTUB 1" >> $config_h
729 if test "$gprof" = "yes" ; then
730 echo "TARGET_GPROF=yes" >> $config_mak
731 echo "#define HAVE_GPROF 1" >> $config_h
733 if test "$static" = "yes" ; then
734 echo "CONFIG_STATIC=yes" >> $config_mak
735 echo "#define CONFIG_STATIC 1" >> $config_h
737 if test $profiler = "yes" ; then
738 echo "#define CONFIG_PROFILER 1" >> $config_h
740 if test "$slirp" = "yes" ; then
741 echo "CONFIG_SLIRP=yes" >> $config_mak
742 echo "#define CONFIG_SLIRP 1" >> $config_h
744 if test "$adlib" = "yes" ; then
745 echo "CONFIG_ADLIB=yes" >> $config_mak
746 echo "#define CONFIG_ADLIB 1" >> $config_h
748 if test "$oss" = "yes" ; then
749 echo "CONFIG_OSS=yes" >> $config_mak
750 echo "#define CONFIG_OSS 1" >> $config_h
752 if test "$coreaudio" = "yes" ; then
753 echo "CONFIG_COREAUDIO=yes" >> $config_mak
754 echo "#define CONFIG_COREAUDIO 1" >> $config_h
756 if test "$alsa" = "yes" ; then
757 echo "CONFIG_ALSA=yes" >> $config_mak
758 echo "#define CONFIG_ALSA 1" >> $config_h
760 if test "$dsound" = "yes" ; then
761 echo "CONFIG_DSOUND=yes" >> $config_mak
762 echo "#define CONFIG_DSOUND 1" >> $config_h
764 if test "$fmod" = "yes" ; then
765 echo "CONFIG_FMOD=yes" >> $config_mak
766 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
767 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
768 echo "#define CONFIG_FMOD 1" >> $config_h
770 qemu_version
=`head $source_path/VERSION`
771 echo "VERSION=$qemu_version" >>$config_mak
772 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
774 echo "SRC_PATH=$source_path" >> $config_mak
775 if [ "$source_path_used" = "yes" ]; then
776 echo "VPATH=$source_path" >> $config_mak
778 echo "TARGET_DIRS=$target_list" >> $config_mak
779 if [ "$build_docs" = "yes" ] ; then
780 echo "BUILD_DOCS=yes" >> $config_mak
784 if [ "$bsd" = "yes" ] ; then
785 echo "#define O_LARGEFILE 0" >> $config_h
786 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
787 echo "#define _BSD 1" >> $config_h
790 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
792 for target
in $target_list; do
794 config_mak
=$target_dir/config.mak
795 config_h
=$target_dir/config.h
796 target_cpu
=`echo $target | cut -d '-' -f 1`
797 target_bigendian
="no"
798 [ "$target_cpu" = "armeb" ] && target_bigendian
=yes
799 [ "$target_cpu" = "sparc" ] && target_bigendian
=yes
800 [ "$target_cpu" = "sparc64" ] && target_bigendian
=yes
801 [ "$target_cpu" = "ppc" ] && target_bigendian
=yes
802 [ "$target_cpu" = "ppc64" ] && target_bigendian
=yes
803 [ "$target_cpu" = "mips" ] && target_bigendian
=yes
804 [ "$target_cpu" = "sh4eb" ] && target_bigendian
=yes
805 [ "$target_cpu" = "m68k" ] && target_bigendian
=yes
807 if expr $target : '.*-softmmu' > /dev
/null
; then
810 target_user_only
="no"
811 if expr $target : '.*-user' > /dev
/null
; then
812 target_user_only
="yes"
815 target_linux_user
="no"
816 if expr $target : '.*-linux-user' > /dev
/null
; then
817 target_linux_user
="yes"
820 target_darwin_user
="no"
821 if expr $target : '.*-darwin-user' > /dev
/null
; then
822 target_darwin_user
="yes"
825 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
826 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
827 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
828 echo "To build QEMU without graphical output configure with --disable-gfx-check"
829 echo "Note that this will disable all output from the virtual graphics card."
833 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
836 mkdir
-p $target_dir/fpu
837 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
838 mkdir
-p $target_dir/nwfpe
840 if test "$target_user_only" = "no" ; then
841 mkdir
-p $target_dir/slirp
845 # don't use ln -sf as not all "ln -sf" over write the file/link
847 rm -f $target_dir/Makefile
848 ln -s $source_path/Makefile.target
$target_dir/Makefile
851 echo "# Automatically generated by configure - do not modify" > $config_mak
852 echo "/* Automatically generated by configure - do not modify */" > $config_h
855 echo "include ../config-host.mak" >> $config_mak
856 echo "#include \"../config-host.h\"" >> $config_h
859 interp_prefix1
=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
860 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
862 if test "$target_cpu" = "i386" ; then
863 echo "TARGET_ARCH=i386" >> $config_mak
864 echo "#define TARGET_ARCH \"i386\"" >> $config_h
865 echo "#define TARGET_I386 1" >> $config_h
866 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
867 echo "#define USE_KQEMU 1" >> $config_h
869 elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
870 echo "TARGET_ARCH=arm" >> $config_mak
871 echo "#define TARGET_ARCH \"arm\"" >> $config_h
872 echo "#define TARGET_ARM 1" >> $config_h
874 elif test "$target_cpu" = "sparc" ; then
875 echo "TARGET_ARCH=sparc" >> $config_mak
876 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
877 echo "#define TARGET_SPARC 1" >> $config_h
878 elif test "$target_cpu" = "sparc64" ; then
879 echo "TARGET_ARCH=sparc64" >> $config_mak
880 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
881 echo "#define TARGET_SPARC 1" >> $config_h
882 echo "#define TARGET_SPARC64 1" >> $config_h
883 elif test "$target_cpu" = "ppc" ; then
884 echo "TARGET_ARCH=ppc" >> $config_mak
885 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
886 echo "#define TARGET_PPC 1" >> $config_h
887 elif test "$target_cpu" = "ppc64" ; then
888 echo "TARGET_ARCH=ppc64" >> $config_mak
889 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
890 echo "#define TARGET_PPC 1" >> $config_h
891 echo "#define TARGET_PPC64 1" >> $config_h
892 elif test "$target_cpu" = "x86_64" ; then
893 echo "TARGET_ARCH=x86_64" >> $config_mak
894 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
895 echo "#define TARGET_I386 1" >> $config_h
896 echo "#define TARGET_X86_64 1" >> $config_h
897 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
898 echo "#define USE_KQEMU 1" >> $config_h
900 elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
901 echo "TARGET_ARCH=mips" >> $config_mak
902 echo "#define TARGET_ARCH \"mips\"" >> $config_h
903 echo "#define TARGET_MIPS 1" >> $config_h
904 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
905 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
906 elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then
907 echo "TARGET_ARCH=sh4" >> $config_mak
908 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
909 echo "#define TARGET_SH4 1" >> $config_h
911 elif test "$target_cpu" = "m68k" ; then
912 echo "TARGET_ARCH=m68k" >> $config_mak
913 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
914 echo "#define TARGET_M68K 1" >> $config_h
917 echo "Unsupported target CPU"
920 if test "$target_bigendian" = "yes" ; then
921 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
922 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
924 if test "$target_softmmu" = "yes" ; then
925 echo "CONFIG_SOFTMMU=yes" >> $config_mak
926 echo "#define CONFIG_SOFTMMU 1" >> $config_h
928 if test "$target_user_only" = "yes" ; then
929 echo "CONFIG_USER_ONLY=yes" >> $config_mak
930 echo "#define CONFIG_USER_ONLY 1" >> $config_h
932 if test "$target_linux_user" = "yes" ; then
933 echo "CONFIG_LINUX_USER=yes" >> $config_mak
934 echo "#define CONFIG_LINUX_USER 1" >> $config_h
936 if test "$target_darwin_user" = "yes" ; then
937 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
938 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
941 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64" -o "$target_cpu" = "m68k"; then
942 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
943 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
945 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
946 echo "TARGET_HAS_BFLT=yes" >> $config_mak
947 echo "#define TARGET_HAS_BFLT 1" >> $config_h
951 if test "$target_user_only" = "no"; then
952 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
957 if test "$sdl1" = "yes" ; then
958 echo "#define CONFIG_SDL 1" >> $config_h
959 echo "CONFIG_SDL=yes" >> $config_mak
960 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
961 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
963 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
965 if [ "${aa}" = "yes" ] ; then
966 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
968 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
973 if test "$cocoa" = "yes" ; then
974 echo "#define CONFIG_COCOA 1" >> $config_h
975 echo "CONFIG_COCOA=yes" >> $config_mak
978 done # for target in $targets
980 # build tree in object directory if source path is different from current one
981 if test "$source_path_used" = "yes" ; then
983 FILES
="Makefile tests/Makefile"
984 for dir
in $DIRS ; do
987 # remove the link and recreate it, as not all "ln -sf" overwrite the link
990 ln -s $source_path/$f $f
994 rm -f $TMPO $TMPC $TMPE $TMPS