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)
106 OS_CFLAGS="-mno-cygwin"
114 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
129 OS_CFLAGS="-mdynamic-no-pic"
138 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
144 if [ "$bsd" = "yes" ] ; then
145 if [ "$darwin" != "yes" ] ; then
150 if [ "$solaris" = "yes" ] ; then
153 solarisrev=`uname -r | cut -f2 -d.`
154 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
155 if test "$solarisrev" -gt 10 ; then
162 source_path=`dirname "$0"`
163 if [ -z "$source_path" ]; then
166 source_path=`cd "$source_path"; pwd`
168 if test "$source_path" = `pwd` ; then
169 source_path_used="no"
171 source_path_used="yes"
175 optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
177 --help|-h) show_help=yes
179 --prefix=*) prefix="$optarg"
181 --interp-prefix=*) interp_prefix="$optarg"
183 --source-path=*) source_path="$optarg"
184 source_path_used="yes"
186 --cross-prefix=*) cross_prefix="$optarg"
191 --host-cc=*) host_cc="$optarg"
193 --make=*) make="$optarg"
195 --install=*) install="$optarg"
197 --extra-cflags=*) CFLAGS="$optarg"
199 --extra-ldflags=*) LDFLAGS="$optarg"
201 --cpu=*) cpu="$optarg"
203 --target-list=*) target_list="$optarg"
205 --enable-gprof) gprof="yes"
207 --static) static="yes"
209 --disable-sdl) sdl="no"
211 --enable-coreaudio) coreaudio="yes"
213 --enable-alsa) alsa="yes"
215 --enable-dsound) dsound="yes"
217 --enable-fmod) fmod="yes"
219 --fmod-lib=*) fmod_lib="$optarg"
221 --fmod-inc=*) fmod_inc="$optarg"
223 --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; user="no"
225 --disable-slirp) slirp="no"
227 --enable-adlib) adlib="yes"
229 --disable-kqemu) kqemu="no"
231 --enable-profiler) profiler="yes"
233 --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
235 --disable-gfx-check) check_gfx="no"
237 --disable-gcc-check) check_gcc="no"
239 --disable-system) softmmu="no"
241 --enable-system) softmmu="yes"
243 --disable-user) user="no"
245 --enable-user) user="yes"
247 --enable-uname-release=*) uname_release="$optarg"
252 # default flags for all hosts
253 CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
254 LDFLAGS="$LDFLAGS -g"
256 if test x"$show_help" = x"yes" ; then
259 Usage: configure [options]
260 Options: [defaults in brackets after descriptions]
263 echo "Standard options:"
264 echo " --help print this message"
265 echo " --prefix=PREFIX install in PREFIX [$prefix]"
266 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
267 echo " use %M for cpu name [$interp_prefix]"
268 echo " --target-list=LIST set target list [$target_list]"
270 echo "kqemu kernel acceleration support:"
271 echo " --disable-kqemu disable kqemu support"
273 echo "Advanced options (experts only):"
274 echo " --source-path=PATH path of source code [$source_path]"
275 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
276 echo " --cc=CC use C compiler CC [$cc]"
277 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
278 echo " --make=MAKE use specified make [$make]"
279 echo " --install=INSTALL use specified install [$install]"
280 echo " --static enable static build [$static]"
281 echo " --enable-cocoa enable COCOA (Mac OS X only)"
282 echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
283 echo " --enable-adlib enable Adlib emulation"
284 echo " --enable-coreaudio enable Coreaudio audio driver"
285 echo " --enable-alsa enable ALSA audio driver"
286 echo " --enable-fmod enable FMOD audio driver"
287 echo " --enabled-dsound enable DirectSound audio driver"
288 echo " --enable-system enable all system emulation targets"
289 echo " --disable-system disable all system emulation targets"
290 echo " --enable-user enable all linux usermode emulation targets"
291 echo " --disable-user disable all linux usermode emulation targets"
292 echo " --fmod-lib path to FMOD library"
293 echo " --fmod-inc path to FMOD includes"
294 echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
296 echo "NOTE: The object files are built at the place where configure is launched"
300 cc="${cross_prefix}${cc}"
301 ar="${cross_prefix}${ar}"
302 strip="${cross_prefix}${strip}"
304 # check that the C compiler works.
309 if $cc -c -o $TMPO $TMPC 2>/dev/null ; then
310 : C compiler works ok
312 echo "ERROR: \"$cc\" either does not exist or does not work"
316 if test "$mingw32" = "yes" ; then
320 if [ "$cpu" = "i386" ] ; then
325 # Check for gcc4, error if pre-gcc4
326 if test "$check_gcc" = "yes" ; then
331 int main(){return 0;}
334 which "$1" >&/dev/null
338 if "$cc" -o $TMPE $TMPC 2>/dev/null ; then
339 echo "WARNING: \"$cc\" looks like gcc 4.x"
341 if test "$gcc3_search" = "yes" ; then
342 echo "Looking for gcc 3.x"
343 for compat_cc in $gcc3_list ; do
344 if check_cc "$compat_cc" ; then
345 echo "Found \"$compat_cc\""
347 found_compat_cc="yes"
351 if test "$found_compat_cc" = "no" ; then
352 echo "gcc 3.x not found!"
355 if test "$found_compat_cc" = "no" ; then
356 echo "QEMU is known to have problems when compiled with gcc 4.x"
357 echo "It is recommended that you use gcc 3.x to build QEMU"
358 echo "To use this compiler anyway, configure with --disable-gcc-check"
365 # Solaris specific configure tool chain decisions
367 if test "$solaris" = "yes" ; then
369 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
370 # override the check with --disable-gcc-check
372 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
374 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
375 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
376 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
377 echo "or get the latest patch from SunSolve for gcc"
381 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
382 if test -z "$solinst" ; then
383 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
384 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
385 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
388 if test "$solinst" = "/usr/sbin/install" ; then
389 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
390 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
391 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
394 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
395 if test -z "$sol_ar" ; then
396 echo "Error: No path includes ar"
397 if test -f /usr/ccs/bin/ar ; then
398 echo "Add /usr/ccs/bin to your path and rerun configure"
405 if test -z "$target_list" ; then
406 # these targets are portable
407 if [ "$softmmu" = "yes" ] ; then
408 target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"
410 # the following are Linux specific
411 if [ "$user" = "yes" ] ; then
412 target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user m68k-user $target_list"
415 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
417 if test -z "$target_list" ; then
418 echo "No targets enabled"
422 if test -z "$cross_prefix" ; then
425 # big/little endian test
427 #include <inttypes.h>
428 int main(int argc, char ** argv){
429 volatile uint32_t i=0x01234567;
430 return (*((uint8_t*)(&i))) == 0x67;
434 if $cc -o $TMPE $TMPC 2>/dev/null ; then
435 $TMPE && bigendian="yes"
437 echo big/little test failed
442 # if cross compiling, cannot launch a program, so make a static guess
443 if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
449 # host long bits test
451 if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
455 # check gcc options support
461 have_gcc3_options="no"
462 if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
463 have_gcc3_options="yes"
466 ##########################################
471 if test -z "$sdl" ; then
473 sdl_config="sdl-config"
477 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
478 # win32 cross compilation case
479 sdl_config="i386-mingw32msvc-sdl-config"
485 #undef main /* We don't want SDL to override our main() */
486 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
489 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
490 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
491 if test "$_sdlversion" -lt 121 ; then
497 # static link with sdl ?
498 if test "$sdl" = "yes" ; then
500 `$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
501 sdl_static_libs=`$sdl_config --static-libs`
502 if [ "$aa" = "yes" ] ; then
503 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
506 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
512 fi # sdl compile test
514 fi # cross compilation
517 ##########################################
518 # alsa sound support libraries
520 if test "$alsa" = "yes" ; then
522 #include <alsa/asoundlib.h>
523 int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
525 if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
529 echo "Error: Could not find alsa"
530 echo "Make sure to have the alsa libs and headers installed."
536 # Check if tools are available to build documentation.
537 if [ -x "`which texi2html`" ] && [ -x "`which pod2man`" ]; then
541 if test "$mingw32" = "yes" ; then
542 if test -z "$prefix" ; then
543 prefix="/c/Program Files/Qemu"
550 if test -z "$prefix" ; then
553 mandir="$prefix/share/man"
554 datadir="$prefix/share/qemu"
555 docdir="$prefix/share/doc/qemu"
559 echo "Install prefix $prefix"
560 echo "BIOS directory $datadir"
561 echo "binary directory $bindir"
562 if test "$mingw32" = "no" ; then
563 echo "Manual directory $mandir"
564 echo "ELF interp prefix $interp_prefix"
566 echo "Source path $source_path"
567 echo "C compiler $cc"
568 echo "Host C compiler $host_cc"
570 echo "install $install"
572 echo "host big endian $bigendian"
573 echo "target list $target_list"
574 echo "gprof enabled $gprof"
575 echo "profiler $profiler"
576 echo "static build $static"
577 if test "$darwin" = "yes" ; then
578 echo "Cocoa support $cocoa"
580 echo "SDL support $sdl"
581 if test "$sdl" != "no" ; then
582 echo "SDL static link $sdl_static"
584 echo "mingw32 support $mingw32"
585 echo "Adlib support $adlib"
586 echo "CoreAudio support $coreaudio"
587 echo "ALSA support $alsa"
588 echo "DSound support $dsound"
589 if test "$fmod" = "yes"; then
590 if test -z $fmod_lib || test -z $fmod_inc; then
592 echo "Error: You must specify path to FMOD library and headers"
593 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
597 fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
601 echo "FMOD support $fmod $fmod_support"
602 echo "kqemu support $kqemu"
603 echo "Documentation $build_docs"
604 [ ! -z "$uname_release" ] && \
605 echo "uname -r $uname_release"
607 if test $sdl_too_old = "yes"; then
608 echo "-> Your SDL version is too old - please upgrade to have SDL support"
610 #if test "$sdl_static" = "no"; then
611 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
613 config_mak="config-host.mak"
614 config_h="config-host.h"
616 #echo "Creating $config_mak and $config_h"
618 echo "# Automatically generated by configure - do not modify" > $config_mak
619 echo "# Configured with: $0 $@" >> $config_mak
620 echo "/* Automatically generated by configure - do not modify */" > $config_h
622 echo "prefix=$prefix" >> $config_mak
623 echo "bindir=$bindir" >> $config_mak
624 echo "mandir=$mandir" >> $config_mak
625 echo "datadir=$datadir" >> $config_mak
626 echo "docdir=$docdir" >> $config_mak
627 echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
628 echo "MAKE=$make" >> $config_mak
629 echo "INSTALL=$install" >> $config_mak
630 echo "CC=$cc" >> $config_mak
631 if test "$have_gcc3_options" = "yes" ; then
632 echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
634 echo "HOST_CC=$host_cc" >> $config_mak
635 echo "AR=$ar" >> $config_mak
636 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
637 echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
638 echo "CFLAGS=$CFLAGS" >> $config_mak
639 echo "LDFLAGS=$LDFLAGS" >> $config_mak
640 echo "EXESUF=$EXESUF" >> $config_mak
641 if test "$cpu" = "i386" ; then
642 echo "ARCH=i386" >> $config_mak
643 echo "#define HOST_I386 1" >> $config_h
644 elif test "$cpu" = "x86_64" ; then
645 echo "ARCH=x86_64" >> $config_mak
646 echo "#define HOST_X86_64 1" >> $config_h
647 elif test "$cpu" = "armv4b" ; then
648 echo "ARCH=arm" >> $config_mak
649 echo "#define HOST_ARM 1" >> $config_h
650 elif test "$cpu" = "armv4l" ; then
651 echo "ARCH=arm" >> $config_mak
652 echo "#define HOST_ARM 1" >> $config_h
653 elif test "$cpu" = "powerpc" ; then
654 echo "ARCH=ppc" >> $config_mak
655 echo "#define HOST_PPC 1" >> $config_h
656 elif test "$cpu" = "mips" ; then
657 echo "ARCH=mips" >> $config_mak
658 echo "#define HOST_MIPS 1" >> $config_h
659 elif test "$cpu" = "s390" ; then
660 echo "ARCH=s390" >> $config_mak
661 echo "#define HOST_S390 1" >> $config_h
662 elif test "$cpu" = "alpha" ; then
663 echo "ARCH=alpha" >> $config_mak
664 echo "#define HOST_ALPHA 1" >> $config_h
665 elif test "$cpu" = "sparc" ; then
666 echo "ARCH=sparc" >> $config_mak
667 echo "#define HOST_SPARC 1" >> $config_h
668 elif test "$cpu" = "sparc64" ; then
669 echo "ARCH=sparc64" >> $config_mak
670 echo "#define HOST_SPARC64 1" >> $config_h
671 elif test "$cpu" = "ia64" ; then
672 echo "ARCH=ia64" >> $config_mak
673 echo "#define HOST_IA64 1" >> $config_h
674 elif test "$cpu" = "m68k" ; then
675 echo "ARCH=m68k" >> $config_mak
676 echo "#define HOST_M68K 1" >> $config_h
678 echo "Unsupported CPU"
681 if test "$bigendian" = "yes" ; then
682 echo "WORDS_BIGENDIAN=yes" >> $config_mak
683 echo "#define WORDS_BIGENDIAN 1" >> $config_h
685 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
686 if test "$mingw32" = "yes" ; then
687 echo "CONFIG_WIN32=yes" >> $config_mak
688 echo "#define CONFIG_WIN32 1" >> $config_h
689 elif test -f "/usr/include/byteswap.h" ; then
690 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
692 if test "$darwin" = "yes" ; then
693 echo "CONFIG_DARWIN=yes" >> $config_mak
694 echo "#define CONFIG_DARWIN 1" >> $config_h
696 if test "$solaris" = "yes" ; then
697 echo "CONFIG_SOLARIS=yes" >> $config_mak
698 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
700 if test "$gdbstub" = "yes" ; then
701 echo "CONFIG_GDBSTUB=yes" >> $config_mak
702 echo "#define CONFIG_GDBSTUB 1" >> $config_h
704 if test "$gprof" = "yes" ; then
705 echo "TARGET_GPROF=yes" >> $config_mak
706 echo "#define HAVE_GPROF 1" >> $config_h
708 if test "$static" = "yes" ; then
709 echo "CONFIG_STATIC=yes" >> $config_mak
710 echo "#define CONFIG_STATIC 1" >> $config_h
712 if test $profiler = "yes" ; then
713 echo "#define CONFIG_PROFILER 1" >> $config_h
715 if test "$slirp" = "yes" ; then
716 echo "CONFIG_SLIRP=yes" >> $config_mak
717 echo "#define CONFIG_SLIRP 1" >> $config_h
719 if test "$adlib" = "yes" ; then
720 echo "CONFIG_ADLIB=yes" >> $config_mak
721 echo "#define CONFIG_ADLIB 1" >> $config_h
723 if test "$oss" = "yes" ; then
724 echo "CONFIG_OSS=yes" >> $config_mak
725 echo "#define CONFIG_OSS 1" >> $config_h
727 if test "$coreaudio" = "yes" ; then
728 echo "CONFIG_COREAUDIO=yes" >> $config_mak
729 echo "#define CONFIG_COREAUDIO 1" >> $config_h
731 if test "$alsa" = "yes" ; then
732 echo "CONFIG_ALSA=yes" >> $config_mak
733 echo "#define CONFIG_ALSA 1" >> $config_h
735 if test "$dsound" = "yes" ; then
736 echo "CONFIG_DSOUND=yes" >> $config_mak
737 echo "#define CONFIG_DSOUND 1" >> $config_h
739 if test "$fmod" = "yes" ; then
740 echo "CONFIG_FMOD=yes" >> $config_mak
741 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
742 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
743 echo "#define CONFIG_FMOD 1" >> $config_h
745 qemu_version=`head $source_path/VERSION`
746 echo "VERSION=$qemu_version" >>$config_mak
747 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
749 echo "SRC_PATH=$source_path" >> $config_mak
750 if [ "$source_path_used" = "yes" ]; then
751 echo "VPATH=$source_path" >> $config_mak
753 echo "TARGET_DIRS=$target_list" >> $config_mak
754 if [ "$build_docs" = "yes" ] ; then
755 echo "BUILD_DOCS=yes" >> $config_mak
759 if [ "$bsd" = "yes" ] ; then
760 echo "#define O_LARGEFILE 0" >> $config_h
761 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
762 echo "#define _BSD 1" >> $config_h
765 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
767 for target in $target_list; do
769 config_mak=$target_dir/config.mak
770 config_h=$target_dir/config.h
771 target_cpu=`echo $target | cut -d '-' -f 1`
772 target_bigendian="no"
773 [ "$target_cpu" = "armeb" ] && target_bigendian=yes
774 [ "$target_cpu" = "sparc" ] && target_bigendian=yes
775 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
776 [ "$target_cpu" = "ppc" ] && target_bigendian=yes
777 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
778 [ "$target_cpu" = "mips" ] && target_bigendian=yes
779 [ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
780 [ "$target_cpu" = "m68k" ] && target_bigendian=yes
782 if expr $target : '.*-softmmu' > /dev/null ; then
785 target_user_only="no"
786 if expr $target : '.*-user' > /dev/null ; then
787 target_user_only="yes"
790 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
791 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
792 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
793 echo "To build QEMU without graphical output configure with --disable-gfx-check"
794 echo "Note that this will disable all output from the virtual graphics card."
798 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
801 mkdir -p $target_dir/fpu
802 if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
803 mkdir -p $target_dir/nwfpe
805 if test "$target_user_only" = "no" ; then
806 mkdir -p $target_dir/slirp
810 # don't use ln -sf as not all "ln -sf" over write the file/link
812 rm -f $target_dir/Makefile
813 ln -s $source_path/Makefile.target $target_dir/Makefile
816 echo "# Automatically generated by configure - do not modify" > $config_mak
817 echo "/* Automatically generated by configure - do not modify */" > $config_h
820 echo "include ../config-host.mak" >> $config_mak
821 echo "#include \"../config-host.h\"" >> $config_h
824 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
825 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
827 if test "$target_cpu" = "i386" ; then
828 echo "TARGET_ARCH=i386" >> $config_mak
829 echo "#define TARGET_ARCH \"i386\"" >> $config_h
830 echo "#define TARGET_I386 1" >> $config_h
831 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
832 echo "#define USE_KQEMU 1" >> $config_h
834 elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
835 echo "TARGET_ARCH=arm" >> $config_mak
836 echo "#define TARGET_ARCH \"arm\"" >> $config_h
837 echo "#define TARGET_ARM 1" >> $config_h
839 elif test "$target_cpu" = "sparc" ; then
840 echo "TARGET_ARCH=sparc" >> $config_mak
841 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
842 echo "#define TARGET_SPARC 1" >> $config_h
843 elif test "$target_cpu" = "sparc64" ; then
844 echo "TARGET_ARCH=sparc64" >> $config_mak
845 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
846 echo "#define TARGET_SPARC 1" >> $config_h
847 echo "#define TARGET_SPARC64 1" >> $config_h
848 elif test "$target_cpu" = "ppc" ; then
849 echo "TARGET_ARCH=ppc" >> $config_mak
850 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
851 echo "#define TARGET_PPC 1" >> $config_h
852 elif test "$target_cpu" = "ppc64" ; then
853 echo "TARGET_ARCH=ppc64" >> $config_mak
854 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
855 echo "#define TARGET_PPC 1" >> $config_h
856 echo "#define TARGET_PPC64 1" >> $config_h
857 elif test "$target_cpu" = "x86_64" ; then
858 echo "TARGET_ARCH=x86_64" >> $config_mak
859 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
860 echo "#define TARGET_I386 1" >> $config_h
861 echo "#define TARGET_X86_64 1" >> $config_h
862 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
863 echo "#define USE_KQEMU 1" >> $config_h
865 elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
866 echo "TARGET_ARCH=mips" >> $config_mak
867 echo "#define TARGET_ARCH \"mips\"" >> $config_h
868 echo "#define TARGET_MIPS 1" >> $config_h
869 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
870 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
871 elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then
872 echo "TARGET_ARCH=sh4" >> $config_mak
873 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
874 echo "#define TARGET_SH4 1" >> $config_h
876 elif test "$target_cpu" = "m68k" ; then
877 echo "TARGET_ARCH=m68k" >> $config_mak
878 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
879 echo "#define TARGET_M68K 1" >> $config_h
882 echo "Unsupported target CPU"
885 if test "$target_bigendian" = "yes" ; then
886 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
887 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
889 if test "$target_softmmu" = "yes" ; then
890 echo "CONFIG_SOFTMMU=yes" >> $config_mak
891 echo "#define CONFIG_SOFTMMU 1" >> $config_h
893 if test "$target_user_only" = "yes" ; then
894 echo "CONFIG_USER_ONLY=yes" >> $config_mak
895 echo "#define CONFIG_USER_ONLY 1" >> $config_h
898 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64" -o "$target_cpu" = "m68k"; then
899 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
900 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
902 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
903 echo "TARGET_HAS_BFLT=yes" >> $config_mak
904 echo "#define TARGET_HAS_BFLT 1" >> $config_h
908 if test "$target_user_only" = "no"; then
909 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
914 if test "$sdl1" = "yes" ; then
915 echo "#define CONFIG_SDL 1" >> $config_h
916 echo "CONFIG_SDL=yes" >> $config_mak
917 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
918 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
920 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
922 if [ "${aa}" = "yes" ] ; then
923 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
925 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
930 if test "$cocoa" = "yes" ; then
931 echo "#define CONFIG_COCOA 1" >> $config_h
932 echo "CONFIG_COCOA=yes" >> $config_mak
935 done # for target in $targets
937 # build tree in object directory if source path is different from current one
938 if test "$source_path_used" = "yes" ; then
940 FILES="Makefile tests/Makefile"
941 for dir in $DIRS ; do
944 # remove the link and recreate it, as not all "ln -sf" overwrite the link
947 ln -s $source_path/$f $f
951 rm -f $TMPO $TMPC $TMPE $TMPS