X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=configure;h=4d4330c8a346da4599f5d34178056687bcdc59a2;hb=HEAD;hp=6ab4d808bf218a08f56497a5d56c7db93d7600cd;hpb=769ce76d0e220e1ecde16154e76d43cf7099e7c6;p=qemu diff --git a/configure b/configure index 6ab4d80..4d4330c 100755 --- a/configure +++ b/configure @@ -127,6 +127,9 @@ case "$cpu" in m68k) cpu="m68k" ;; + microblaze) + cpu="microblaze" + ;; mips) cpu="mips" ;; @@ -154,6 +157,7 @@ case "$cpu" in esac gprof="no" debug_tcg="no" +debug="no" sparse="no" strip_opt="yes" bigendian="no" @@ -176,7 +180,8 @@ softmmu="yes" linux_user="no" darwin_user="no" bsd_user="no" -build_docs="yes" +guest_base="no" +build_docs="no" uname_release="" curses="yes" curl="yes" @@ -408,6 +413,12 @@ for opt do ;; --disable-debug-tcg) debug_tcg="no" ;; + --enable-debug) + # Enable debugging options that aren't excessively noisy + debug_tcg="yes" + debug="yes" + strip_opt="no" + ;; --enable-sparse) sparse="yes" ;; --disable-sparse) sparse="no" @@ -455,6 +466,8 @@ for opt do ;; --enable-bsd-user) bsd_user="yes" ;; + --enable-guest-base) guest_base="yes" + ;; --enable-uname-release=*) uname_release="$optarg" ;; --sparc_cpu=*) @@ -501,7 +514,10 @@ for opt do done # default flags for all hosts -CFLAGS="$CFLAGS -O2 -g -fno-strict-aliasing" +CFLAGS="$CFLAGS -g -fno-strict-aliasing" +if test "$debug" = "no" ; then + CFLAGS="$CFLAGS -O2" +fi CFLAGS="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls" LDFLAGS="$LDFLAGS -g" if test "$werror" = "yes" ; then @@ -586,6 +602,7 @@ echo " --install=INSTALL use specified install [$install]" echo " --static enable static build [$static]" echo " --enable-debug-tcg enable TCG debugging" echo " --disable-debug-tcg disable TCG debugging (default)" +echo " --disable-debug enable common debug build options" echo " --enable-sparse enable sparse checker" echo " --disable-sparse disable sparse checker (default)" echo " --disable-strip disable stripping binaries" @@ -614,6 +631,8 @@ echo " --enable-darwin-user enable all darwin usermode emulation targets" echo " --disable-darwin-user disable all darwin usermode emulation targets" echo " --enable-bsd-user enable all BSD usermode emulation targets" echo " --disable-bsd-user disable all BSD usermode emulation targets" +echo " --enable-guest-base enable GUEST_BASE support for usermode" +echo " emulation targets" echo " --fmod-lib path to FMOD library" echo " --fmod-inc path to FMOD includes" echo " --oss-lib path to OSS library" @@ -680,6 +699,7 @@ x86_64-softmmu \ arm-softmmu \ cris-softmmu \ m68k-softmmu \ +microblaze-softmmu \ mips-softmmu \ mipsel-softmmu \ mips64-softmmu \ @@ -702,6 +722,7 @@ arm-linux-user \ armeb-linux-user \ cris-linux-user \ m68k-linux-user \ +microblaze-linux-user \ mips-linux-user \ mipsel-linux-user \ ppc-linux-user \ @@ -1073,7 +1094,7 @@ if test "$curl" = "yes" ; then #include int main(void) { return curl_easy_init(); } EOF - curl_libs=`curl-config --libs` + curl_libs=`curl-config --libs 2>/dev/null` if $cc $ARCH_CFLAGS $curl_libs -o $TMPE $TMPC > /dev/null 2> /dev/null ; then curl=yes fi @@ -1142,7 +1163,9 @@ EOF | grep "error: " \ | awk -F "error: " '{if (NR>1) printf(", "); printf("%s",$2);}'` if test "$kvmerr" != "" ; then - kvm="no - (${kvmerr})" + kvm="no - (${kvmerr})\n\ + NOTE: To enable KVM support, update your kernel to 2.6.29+ or install \ +recent kvm-kmod from http://sourceforge.net/projects/kvm." fi fi fi @@ -1150,18 +1173,22 @@ fi ########################################## # pthread probe +PTHREADLIBS_LIST="-lpthread -lpthreadGC2" PTHREADLIBS="" if test "$pthread" = yes; then pthread=no cat > $TMPC << EOF #include -int main(void) { pthread_mutex_t lock; return 0; } +int main(void) { pthread_create(0,0,0,0); return 0; } EOF - if $cc $ARCH_CFLAGS -o $TMPE $PTHREADLIBS $TMPC 2> /dev/null > /dev/null ; then - pthread=yes - PTHREADLIBS="-lpthread" - fi + for pthread_lib in $PTHREADLIBS_LIST; do + if $cc $ARCH_CFLAGS -o $TMPE $TMPC $pthread_lib 2> /dev/null > /dev/null ; then + pthread=yes + PTHREADLIBS="$pthread_lib" + break + fi + done fi if test "$pthread" = no; then @@ -1254,6 +1281,25 @@ EOF fi fi +# check if utimensat and futimens are supported +utimens=no +cat > $TMPC << EOF +#define _ATFILE_SOURCE +#define _GNU_SOURCE +#include +#include + +int main(void) +{ + utimensat(AT_FDCWD, "foo", NULL, 0); + futimens(0, NULL); + return 0; +} +EOF +if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then + utimens=yes +fi + # Check if tools are available to build documentation. if test "$build_docs" = "yes" -a \( ! -x "`which texi2html 2>/dev/null`" -o ! -x "`which pod2man 2>/dev/null`" \) ; then build_docs="no" @@ -1353,11 +1399,12 @@ echo "Documentation $build_docs" [ ! -z "$uname_release" ] && \ echo "uname -r $uname_release" echo "NPTL support $nptl" +echo "GUEST_BASE $guest_base" echo "vde support $vde" echo "AIO support $aio" echo "IO thread $io_thread" echo "Install blobs $blobs" -echo "KVM support $kvm" +echo -e "KVM support $kvm" echo "fdt support $fdt" echo "preadv support $preadv" @@ -1443,6 +1490,10 @@ case "$cpu" in echo "ARCH=m68k" >> $config_mak echo "#define HOST_M68K 1" >> $config_h ;; + microblaze) + echo "ARCH=microblaze" >> $config_mak + echo "#define HOST_MICROBLAZE 1" >> $config_h + ;; mips) echo "ARCH=mips" >> $config_mak echo "#define HOST_MIPS 1" >> $config_h @@ -1479,6 +1530,9 @@ esac if test "$debug_tcg" = "yes" ; then echo "#define DEBUG_TCG 1" >> $config_h fi +if test "$debug" = "yes" ; then + echo "#define DEBUG_EXEC 1" >> $config_h +fi if test "$sparse" = "yes" ; then echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak @@ -1644,6 +1698,9 @@ fi if test "$atfile" = "yes" ; then echo "#define CONFIG_ATFILE 1" >> $config_h fi +if test "$utimens" = "yes" ; then + echo "#define CONFIG_UTIMENSAT 1" >> $config_h +fi if test "$inotify" = "yes" ; then echo "#define CONFIG_INOTIFY 1" >> $config_h fi @@ -1747,7 +1804,14 @@ if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then fi echo "TOOLS=$tools" >> $config_mak -test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h +if test -f ${config_h}~ ; then + if cmp -s $config_h ${config_h}~ ; then + mv ${config_h}~ $config_h + else + rm ${config_h}~ + fi +fi + config_host_mak=${config_mak} for target in $target_list; do @@ -1758,6 +1822,7 @@ target_cpu=`echo $target | cut -d '-' -f 1` target_bigendian="no" [ "$target_cpu" = "armeb" ] && target_bigendian=yes [ "$target_cpu" = "m68k" ] && target_bigendian=yes +[ "$target_cpu" = "microblaze" ] && target_bigendian=yes [ "$target_cpu" = "mips" ] && target_bigendian=yes [ "$target_cpu" = "mipsn32" ] && target_bigendian=yes [ "$target_cpu" = "mips64" ] && target_bigendian=yes @@ -1827,17 +1892,18 @@ target_nptl="no" interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"` echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h gdb_xml_files="" +target_kvm="$kvm" # Make sure the target and host cpus are compatible -if test "$kvm" = "yes" -a ! \( "$target_cpu" = "$cpu" -o \ +if test ! \( "$target_cpu" = "$cpu" -o \ \( "$target_cpu" = "ppcemb" -a "$cpu" = "ppc" \) -o \ \( "$target_cpu" = "x86_64" -a "$cpu" = "i386" \) -o \ \( "$target_cpu" = "i386" -a "$cpu" = "x86_64" \) \) ; then - kvm="no" + target_kvm="no" fi # Disable KVM for linux-user -if test "$kvm" = "yes" -a "$target_softmmu" = "no" ; then - kvm="no" +if test "$target_softmmu" = "no" ; then + target_kvm="no" fi case "$target_cpu" in @@ -1850,7 +1916,7 @@ case "$target_cpu" in echo "CONFIG_KQEMU=yes" >> $config_mak echo "#define CONFIG_KQEMU 1" >> $config_h fi - if test "$kvm" = "yes" ; then + if test "$target_kvm" = "yes" ; then echo "CONFIG_KVM=yes" >> $config_mak echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak echo "#define CONFIG_KVM 1" >> $config_h @@ -1872,7 +1938,7 @@ case "$target_cpu" in echo "CONFIG_KQEMU=yes" >> $config_mak echo "#define CONFIG_KQEMU 1" >> $config_h fi - if test "$kvm" = "yes" ; then + if test "$target_kvm" = "yes" ; then echo "CONFIG_KVM=yes" >> $config_mak echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak echo "#define CONFIG_KVM 1" >> $config_h @@ -1914,7 +1980,15 @@ case "$target_cpu" in gdb_xml_files="cf-core.xml cf-fp.xml" target_phys_bits=32 ;; - mips|mipsel) + microblaze) + echo "TARGET_ARCH=microblaze" >> $config_mak + echo "#define TARGET_ARCH \"microblaze\"" >> $config_h + echo "#define TARGET_MICROBLAZE 1" >> $config_h + bflt="yes" + target_nptl="yes" + target_phys_bits=32 + ;; + mips|mipsel) echo "TARGET_ARCH=mips" >> $config_mak echo "#define TARGET_ARCH \"mips\"" >> $config_h echo "#define TARGET_MIPS 1" >> $config_h @@ -1949,7 +2023,7 @@ case "$target_cpu" in echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h echo "#define TARGET_PPC 1" >> $config_h echo "#define TARGET_PPCEMB 1" >> $config_h - if test "$kvm" = "yes" ; then + if test "$target_kvm" = "yes" ; then echo "CONFIG_KVM=yes" >> $config_mak echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak echo "#define CONFIG_KVM 1" >> $config_h @@ -2051,6 +2125,7 @@ echo "TARGET_XML_FILES=$list" >> $config_mak if test "$target_cpu" = "arm" \ -o "$target_cpu" = "armeb" \ -o "$target_cpu" = "m68k" \ + -o "$target_cpu" = "microblaze" \ -o "$target_cpu" = "mips" \ -o "$target_cpu" = "mipsel" \ -o "$target_cpu" = "mipsn32" \ @@ -2080,6 +2155,9 @@ if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h fi +if test "$target_user_only" = "yes" -a "$guest_base" = "yes"; then + echo "#define CONFIG_USE_GUEST_BASE 1" >> $config_h +fi if test "$target_bsd_user" = "yes" ; then echo "CONFIG_BSD_USER=yes" >> $config_mak echo "#define CONFIG_BSD_USER 1" >> $config_h