X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=configure;h=99d8bece70479593e108ed0e3fcd5772e99a5d3f;hb=c5e737e5fbb8e48f9371764cc156ed15f4047a00;hp=89df5c44ae4632f2ff1a090220a0119bb78f90ca;hpb=38e532aa7430ddf5177ff32bc3bb5f115449b0ec;p=mirror_qemu.git diff --git a/configure b/configure index 89df5c44ae..99d8bece70 100755 --- a/configure +++ b/configure @@ -28,8 +28,6 @@ TMPB="qemu-conf" TMPC="${TMPDIR1}/${TMPB}.c" TMPO="${TMPDIR1}/${TMPB}.o" TMPCXX="${TMPDIR1}/${TMPB}.cxx" -TMPL="${TMPDIR1}/${TMPB}.lo" -TMPA="${TMPDIR1}/lib${TMPB}.la" TMPE="${TMPDIR1}/${TMPB}.exe" TMPMO="${TMPDIR1}/${TMPB}.mo" @@ -230,7 +228,7 @@ vhost_net="no" vhost_scsi="no" vhost_vsock="no" kvm="no" -colo="yes" +hax="no" rdma="" gprof="no" debug_tcg="no" @@ -303,7 +301,6 @@ glusterfs="" glusterfs_xlator_opt="no" glusterfs_discard="no" glusterfs_zerofill="no" -archipelago="no" gtk="" gtkabi="" gtk_gl="no" @@ -313,6 +310,7 @@ gnutls_rnd="" nettle="" nettle_kdf="no" gcrypt="" +gcrypt_hmac="no" gcrypt_kdf="no" vte="" virglrenderer="" @@ -563,6 +561,7 @@ CYGWIN*) ;; MINGW32*) mingw32="yes" + hax="yes" audio_possible_drivers="dsound sdl" if check_include dsound.h; then audio_drv_list="dsound" @@ -612,6 +611,7 @@ OpenBSD) Darwin) bsd="yes" darwin="yes" + hax="yes" LDFLAGS_SHARED="-bundle -undefined dynamic_lookup" if [ "$cpu" = "x86_64" ] ; then QEMU_CFLAGS="-arch x86_64 $QEMU_CFLAGS" @@ -921,9 +921,9 @@ for opt do ;; --enable-kvm) kvm="yes" ;; - --disable-colo) colo="no" + --disable-hax) hax="no" ;; - --enable-colo) colo="yes" + --enable-hax) hax="yes" ;; --disable-tcg-interpreter) tcg_interpreter="no" ;; @@ -1100,10 +1100,6 @@ for opt do ;; --enable-glusterfs) glusterfs="yes" ;; - --disable-archipelago) archipelago="no" - ;; - --enable-archipelago) archipelago="yes" - ;; --disable-virtio-blk-data-plane|--enable-virtio-blk-data-plane) echo "$0: $opt is obsolete, virtio-blk data-plane is always on" >&2 ;; @@ -1334,6 +1330,12 @@ Advanced options (experts only): --with-vss-sdk=SDK-path enable Windows VSS support in QEMU Guest Agent --with-win-sdk=SDK-path path to Windows Platform SDK (to build VSS .tlb) --tls-priority default TLS protocol/cipher priority string + --enable-gprof QEMU profiling with gprof + --enable-profiler profiler support + --enable-xen-pv-domain-build + xen pv domain builder + --enable-debug-stack-usage + track the maximum stack usage of stacks created by qemu_alloc_stack Optional features, enabled with --enable-FEATURE and disabled with --disable-FEATURE, default is enabled if available: @@ -1373,7 +1375,7 @@ disabled with --disable-FEATURE, default is enabled if available: fdt fdt device tree bluez bluez stack connectivity kvm KVM acceleration support - colo COarse-grain LOck-stepping VM for Non-stop Service + hax HAX acceleration support rdma RDMA-based migration support vde support for vde network netmap support for netmap network @@ -1395,13 +1397,18 @@ disabled with --disable-FEATURE, default is enabled if available: seccomp seccomp support coroutine-pool coroutine freelist (better performance) glusterfs GlusterFS backend - archipelago Archipelago backend tpm TPM support libssh2 ssh block device support numa libnuma support tcmalloc tcmalloc support jemalloc jemalloc support replication replication support + vhost-vsock virtio sockets device support + opengl opengl support + virglrenderer virgl rendering support + xfsctl xfsctl support + qom-cast-debug cast debugging support + tools build qemu-io, qemu-nbd and qemu-image tools NOTE: The object files are built at the place where configure is launched EOF @@ -1473,7 +1480,7 @@ fi gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits" gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags" -gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags" +gcc_flags="-Wno-missing-include-dirs -Wempty-body -Wnested-externs $gcc_flags" gcc_flags="-Wendif-labels -Wno-shift-negative-value $gcc_flags" gcc_flags="-Wno-initializer-overrides $gcc_flags" gcc_flags="-Wno-string-plus-int $gcc_flags" @@ -2417,6 +2424,19 @@ EOF if compile_prog "$gcrypt_cflags" "$gcrypt_libs" ; then gcrypt_kdf=yes fi + + cat > $TMPC << EOF +#include +int main(void) { + gcry_mac_hd_t handle; + gcry_mac_open(&handle, GCRY_MAC_HMAC_MD5, + GCRY_MAC_FLAG_SECURE, NULL); + return 0; +} +EOF + if compile_prog "$gcrypt_cflags" "$gcrypt_libs" ; then + gcrypt_hmac=yes + fi else if test "$gcrypt" = "yes"; then feature_not_found "gcrypt" "Install gcrypt devel" @@ -2738,7 +2758,7 @@ if compile_prog "" "" ; then fi ########################################## -# xfsctl() probe, used for raw-posix +# xfsctl() probe, used for file-posix.c if test "$xfs" != "no" ; then cat > $TMPC << EOF #include /* NULL */ @@ -3065,7 +3085,7 @@ fi # g_test_trap_subprocess added in 2.38. Used by some tests. glib_subprocess=yes -if test "$mingw32" = "yes" || ! $pkg_config --atleast-version=2.38 glib-2.0; then +if ! $pkg_config --atleast-version=2.38 glib-2.0; then glib_subprocess=no fi @@ -3364,7 +3384,7 @@ fi fdt_required=no for target in $target_list; do case $target in - aarch64*-softmmu|arm*-softmmu|ppc*-softmmu|microblaze*-softmmu) + aarch64*-softmmu|arm*-softmmu|ppc*-softmmu|microblaze*-softmmu|mips64el-softmmu) fdt_required=yes ;; esac @@ -3382,11 +3402,11 @@ fi if test "$fdt" != "no" ; then fdt_libs="-lfdt" # explicitly check for libfdt_env.h as it is missing in some stable installs - # and test for required functions to make sure we are on a version >= 1.4.0 + # and test for required functions to make sure we are on a version >= 1.4.2 cat > $TMPC << EOF #include #include -int main(void) { fdt_get_property_by_offset(0, 0, 0); return 0; } +int main(void) { fdt_first_subnode(0, 0); return 0; } EOF if compile_prog "" "$fdt_libs" ; then # system DTC is good - use it @@ -3404,7 +3424,7 @@ EOF fdt_libs="-L\$(BUILD_DIR)/dtc/libfdt $fdt_libs" elif test "$fdt" = "yes" ; then # have neither and want - prompt for system/submodule install - error_exit "DTC (libfdt) version >= 1.4.0 not present. Your options:" \ + error_exit "DTC (libfdt) version >= 1.4.2 not present. Your options:" \ " (1) Preferred: Install the DTC (libfdt) devel package" \ " (2) Fetch the DTC submodule, using:" \ " git submodule update --init dtc" @@ -3452,37 +3472,6 @@ EOF fi fi -########################################## -# archipelago probe -if test "$archipelago" != "no" ; then - cat > $TMPC < -#include -#include -int main(void) { - xseg_initialize(); - return 0; -} -EOF - archipelago_libs=-lxseg - if compile_prog "" "$archipelago_libs"; then - archipelago="yes" - libs_tools="$archipelago_libs $libs_tools" - libs_softmmu="$archipelago_libs $libs_softmmu" - - echo "WARNING: Please check the licenses of QEMU and libxseg carefully." - echo "GPLv3 versions of libxseg may not be compatible with QEMU's" - echo "license and therefore prevent redistribution." - echo - echo "To disable Archipelago, use --disable-archipelago" - else - if test "$archipelago" = "yes" ; then - feature_not_found "Archipelago backend support" "Install libxseg devel" - fi - archipelago="no" - fi -fi - ########################################## # glusterfs probe @@ -4723,8 +4712,28 @@ EOF if ! compile_object ""; then error_exit "Failed to compile object file for LD_REL_FLAGS test" fi -if do_cc -nostdlib -Wl,-r -Wl,--no-relax -o $TMPMO $TMPO; then - LD_REL_FLAGS="-Wl,--no-relax" +for i in '-Wl,-r -Wl,--no-relax' -Wl,-r -r; do + if do_cc -nostdlib $i -o $TMPMO $TMPO; then + LD_REL_FLAGS=$i + break + fi +done +if test "$modules" = "yes" && test "$LD_REL_FLAGS" = ""; then + feature_not_found "modules" "Cannot find how to build relocatable objects" +fi + +########################################## +# check for sysmacros.h + +have_sysmacros=no +cat > $TMPC << EOF +#include +int main(void) { + return makedev(0, 0); +} +EOF +if compile_prog "" "" ; then + have_sysmacros=yes fi ########################################## @@ -5044,7 +5053,7 @@ echo "Linux AIO support $linux_aio" echo "ATTR/XATTR support $attr" echo "Install blobs $blobs" echo "KVM support $kvm" -echo "COLO support $colo" +echo "HAX support $hax" echo "RDMA support $rdma" echo "TCG interpreter $tcg_interpreter" echo "fdt support $fdt" @@ -5079,7 +5088,6 @@ echo "coroutine backend $coroutine" echo "coroutine pool $coroutine_pool" echo "debug stack usage $debug_stack_usage" echo "GlusterFS support $glusterfs" -echo "Archipelago support $archipelago" echo "gcov $gcov_tool" echo "gcov enabled $gcov" echo "TPM support $tpm" @@ -5381,6 +5389,9 @@ if test "$gnutls_rnd" = "yes" ; then fi if test "$gcrypt" = "yes" ; then echo "CONFIG_GCRYPT=y" >> $config_host_mak + if test "$gcrypt_hmac" = "yes" ; then + echo "CONFIG_GCRYPT_HMAC=y" >> $config_host_mak + fi if test "$gcrypt_kdf" = "yes" ; then echo "CONFIG_GCRYPT_KDF=y" >> $config_host_mak fi @@ -5617,11 +5628,6 @@ if test "$glusterfs_zerofill" = "yes" ; then echo "CONFIG_GLUSTERFS_ZEROFILL=y" >> $config_host_mak fi -if test "$archipelago" = "yes" ; then - echo "CONFIG_ARCHIPELAGO=m" >> $config_host_mak - echo "ARCHIPELAGO_LIBS=$archipelago_libs" >> $config_host_mak -fi - if test "$libssh2" = "yes" ; then echo "CONFIG_LIBSSH2=m" >> $config_host_mak echo "LIBSSH2_CFLAGS=$libssh2_cflags" >> $config_host_mak @@ -5680,10 +5686,6 @@ if have_backend "syslog"; then fi echo "CONFIG_TRACE_FILE=$trace_file" >> $config_host_mak -if test "$colo" = "yes"; then - echo "CONFIG_COLO=y" >> $config_host_mak -fi - if test "$rdma" = "yes" ; then echo "CONFIG_RDMA=y" >> $config_host_mak fi @@ -5700,6 +5702,10 @@ if test "$have_af_vsock" = "yes" ; then echo "CONFIG_AF_VSOCK=y" >> $config_host_mak fi +if test "$have_sysmacros" = "yes" ; then + echo "CONFIG_SYSMACROS=y" >> $config_host_mak +fi + # Hold two types of flag: # CONFIG_THREAD_SETNAME_BYTHREAD - we've got a way of setting the name on # a thread we have a handle to @@ -5824,7 +5830,7 @@ target_name=$(echo $target | cut -d '-' -f 1) target_bigendian="no" case "$target_name" in - armeb|lm32|m68k|microblaze|mips|mipsn32|mips64|moxie|or32|ppc|ppcemb|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus|xtensaeb) + armeb|hppa|lm32|m68k|microblaze|mips|mipsn32|mips64|moxie|or1k|ppc|ppcemb|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus|xtensaeb) target_bigendian=yes ;; esac @@ -5860,6 +5866,7 @@ mkdir -p $target_dir echo "# Automatically generated by configure - do not modify" > $config_target_mak bflt="no" +mttcg="no" interp_prefix1=$(echo "$interp_prefix" | sed "s/%M/$target_name/g") gdb_xml_files="" @@ -5874,19 +5881,24 @@ case "$target_name" in TARGET_BASE_ARCH=i386 ;; alpha) + mttcg="yes" ;; arm|armeb) TARGET_ARCH=arm bflt="yes" + mttcg="yes" gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml" ;; aarch64) TARGET_BASE_ARCH=arm bflt="yes" + mttcg="yes" gdb_xml_files="aarch64-core.xml aarch64-fpu.xml arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml" ;; cris) ;; + hppa) + ;; lm32) ;; m68k) @@ -5914,7 +5926,9 @@ case "$target_name" in ;; moxie) ;; - or32) + nios2) + ;; + or1k) TARGET_ARCH=openrisc TARGET_BASE_ARCH=openrisc ;; @@ -6029,11 +6043,23 @@ case "$target_name" in fi fi esac +if test "$hax" = "yes" ; then + if test "$target_softmmu" = "yes" ; then + case "$target_name" in + i386|x86_64) + echo "CONFIG_HAX=y" >> $config_target_mak + ;; + esac + fi +fi if test "$target_bigendian" = "yes" ; then echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak fi if test "$target_softmmu" = "yes" ; then echo "CONFIG_SOFTMMU=y" >> $config_target_mak + if test "$mttcg" = "yes" ; then + echo "TARGET_SUPPORTS_MTTCG=y" >> $config_target_mak + fi fi if test "$target_user_only" = "yes" ; then echo "CONFIG_USER_ONLY=y" >> $config_target_mak @@ -6086,6 +6112,9 @@ for i in $ARCH $TARGET_BASE_ARCH ; do cris) disas_config "CRIS" ;; + hppa) + disas_config "HPPA" + ;; i386|x86_64|x32) disas_config "I386" ;; @@ -6107,7 +6136,10 @@ for i in $ARCH $TARGET_BASE_ARCH ; do moxie*) disas_config "MOXIE" ;; - or32) + nios2) + disas_config "NIOS2" + ;; + or1k) disas_config "OPENRISC" ;; ppc*) @@ -6177,7 +6209,7 @@ fi # build tree in object directory in case the source is not in the current directory DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32 tests/libqos tests/qapi-schema tests/tcg/xtensa tests/qemu-iotests" -DIRS="$DIRS fsdev" +DIRS="$DIRS docs fsdev" DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw" DIRS="$DIRS roms/seabios roms/vgabios" DIRS="$DIRS qapi-generated"