glusterfs=""
glusterfs_xlator_opt="no"
glusterfs_discard="no"
+glusterfs_fallocate="no"
glusterfs_zerofill="no"
gtk=""
gtkabi=""
virglrenderer=""
tpm="yes"
libssh2=""
+live_block_migration="yes"
numa=""
tcmalloc="no"
jemalloc="no"
audio_possible_drivers="oss sdl"
oss_lib="-lossaudio"
HOST_VARIANT_DIR="netbsd"
+ supported_os="yes"
;;
OpenBSD)
bsd="yes"
sysconfdir="\${prefix}"
local_statedir=
confsuffix=""
- libs_qga="-lws2_32 -lwinmm -lpowrprof -liphlpapi -lnetapi32 $libs_qga"
+ libs_qga="-lws2_32 -lwinmm -lpowrprof -lwtsapi32 -liphlpapi -lnetapi32 $libs_qga"
fi
werror=""
;;
--enable-libssh2) libssh2="yes"
;;
+ --disable-live-block-migration) live_block_migration="no"
+ ;;
+ --enable-live-block-migration) live_block_migration="yes"
+ ;;
--disable-numa) numa="no"
;;
--enable-numa) numa="yes"
LDFLAGS="-m64 $LDFLAGS"
;;
sparc)
- LDFLAGS="-m32 $LDFLAGS"
- CPU_CFLAGS="-m32 -mcpu=ultrasparc"
+ CPU_CFLAGS="-m32 -mv8plus -mcpu=ultrasparc"
+ LDFLAGS="-m32 -mv8plus $LDFLAGS"
;;
sparc64)
- LDFLAGS="-m64 $LDFLAGS"
CPU_CFLAGS="-m64 -mcpu=ultrasparc"
+ LDFLAGS="-m64 $LDFLAGS"
;;
s390)
CPU_CFLAGS="-m31"
done
# Enumerate public trace backends for --help output
-trace_backend_list=$(echo $(grep -le '^PUBLIC = True$' scripts/tracetool/backend/*.py | sed -e 's/^.*\/\(.*\)\.py$/\1/'))
+trace_backend_list=$(echo $(grep -le '^PUBLIC = True$' "$source_path"/scripts/tracetool/backend/*.py | sed -e 's/^.*\/\(.*\)\.py$/\1/'))
if test x"$show_help" = x"yes" ; then
cat << EOF
--oss-lib path to OSS library
--cpu=CPU Build for host CPU [$cpu]
--with-coroutine=BACKEND coroutine backend. Supported options:
- gthread, ucontext, sigaltstack, windows
+ ucontext, sigaltstack, windows
--enable-gcov enable test coverage analysis with gcov
--gcov=GCOV use specified gcov [$gcov_tool]
--disable-blobs disable installing provided firmware blobs
libnfs nfs support
smartcard smartcard support (libcacard)
libusb libusb (for usb passthrough)
+ live-block-migration Block migration in the main migration stream
usb-redir usb network redirection support
lzo support of lzo compression library
snappy support of snappy compression library
else
xen_libs="-lxenstore -lxenctrl -lxenguest"
- xen_stable_libs="-lxencall -lxenforeignmemory -lxengnttab -lxenevtchn"
+ xen_stable_libs="-lxenforeignmemory -lxengnttab -lxenevtchn"
# First we test whether Xen headers and libraries are available.
# If no, we are done and there is no Xen support.
#include <curses.h>
#include <wchar.h>
int main(void) {
- const char *s = curses_version();
wchar_t wch = L'w';
setlocale(LC_ALL, "");
resize_term(0, 0);
addwstr(L"wide chars\n");
addnwstr(&wch, 1);
add_wch(WACS_DEGREE);
- return s != 0;
+ return 0;
}
EOF
IFS=:
glusterfs_discard="yes"
fi
if $pkg_config --atleast-version=6 glusterfs-api; then
+ glusterfs_fallocate="yes"
glusterfs_zerofill="yes"
fi
else
inotify1=yes
fi
-# check if utimensat and futimens are supported
-utimens=no
-cat > $TMPC << EOF
-#define _ATFILE_SOURCE
-#include <stddef.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-int main(void)
-{
- utimensat(AT_FDCWD, "foo", NULL, 0);
- futimens(0, NULL);
- return 0;
-}
-EOF
-if compile_prog "" "" ; then
- utimens=yes
-fi
-
# check if pipe2 is there
pipe2=no
cat > $TMPC << EOF
# check and set a backend for coroutine
# We prefer ucontext, but it's not always possible. The fallback
-# is sigcontext. gthread is not selectable except explicitly, because
-# it is not functional enough to run QEMU proper. (It is occasionally
-# useful for debugging purposes.) On Windows the only valid backend
-# is the Windows-specific one.
+# is sigcontext. On Windows the only valid backend is the Windows
+# specific one.
ucontext_works=no
if test "$darwin" != "yes"; then
feature_not_found "ucontext"
fi
;;
- gthread|sigaltstack)
+ sigaltstack)
if test "$mingw32" = "yes"; then
error_exit "only the 'windows' coroutine backend is valid for Windows"
fi
fi
if test "$coroutine_pool" = ""; then
- if test "$coroutine" = "gthread"; then
- coroutine_pool=no
- else
- coroutine_pool=yes
- fi
-fi
-if test "$coroutine" = "gthread" -a "$coroutine_pool" = "yes"; then
- error_exit "'gthread' coroutine backend does not support pool (use --disable-coroutine-pool)"
+ coroutine_pool=yes
fi
if test "$debug_stack_usage" = "yes"; then
fi
fi
+##########################################
+# check for _Static_assert()
+
+have_static_assert=no
+cat > $TMPC << EOF
+_Static_assert(1, "success");
+int main(void) {
+ return 0;
+}
+EOF
+if compile_prog "" "" ; then
+ have_static_assert=yes
+fi
+
##########################################
# End of CC checks
# After here, no more $cc or $ld runs
echo "libssh2 support $libssh2"
echo "TPM passthrough $tpm_passthrough"
echo "QOM debugging $qom_cast_debug"
+echo "Live block migration $live_block_migration"
echo "lzo support $lzo"
echo "snappy support $snappy"
echo "bzip2 support $bzip2"
if test "$curses" = "yes" ; then
echo "CONFIG_CURSES=y" >> $config_host_mak
fi
-if test "$utimens" = "yes" ; then
- echo "CONFIG_UTIMENSAT=y" >> $config_host_mak
-fi
if test "$pipe2" = "yes" ; then
echo "CONFIG_PIPE2=y" >> $config_host_mak
fi
echo "CONFIG_GLUSTERFS_DISCARD=y" >> $config_host_mak
fi
+if test "$glusterfs_fallocate" = "yes" ; then
+ echo "CONFIG_GLUSTERFS_FALLOCATE=y" >> $config_host_mak
+fi
+
if test "$glusterfs_zerofill" = "yes" ; then
echo "CONFIG_GLUSTERFS_ZEROFILL=y" >> $config_host_mak
fi
echo "LIBSSH2_LIBS=$libssh2_libs" >> $config_host_mak
fi
+if test "$live_block_migration" = "yes" ; then
+ echo "CONFIG_LIVE_BLOCK_MIGRATION=y" >> $config_host_mak
+fi
+
# USB host support
if test "$libusb" = "yes"; then
echo "HOST_USB=libusb legacy" >> $config_host_mak
echo "CONFIG_SYSMACROS=y" >> $config_host_mak
fi
+if test "$have_static_assert" = "yes" ; then
+ echo "CONFIG_STATIC_ASSERT=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
case "$target_name" in
i386)
+ gdb_xml_files="i386-32bit-core.xml"
;;
x86_64)
TARGET_BASE_ARCH=i386
+ gdb_xml_files="i386-64bit-core.xml"
;;
alpha)
mttcg="yes"
ppc64)
TARGET_BASE_ARCH=ppc
TARGET_ABI_DIR=ppc
+ mttcg=yes
gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"
;;
ppc64le)
TARGET_ARCH=ppc64
TARGET_BASE_ARCH=ppc
TARGET_ABI_DIR=ppc
+ mttcg=yes
gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"
;;
ppc64abi32)