mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
* Drop ninjatool and just require ninja (Paolo)
* Fix docs build under msys2 (Yonggang) * HAX snafu fix (Claudio) * Disable signal handlers during fuzzing (Alex) * Miscellaneous fixes (Bruce, Greg) -----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAl+LA6QUHHBib256aW5p QHJlZGhhdC5jb20ACgkQv/vSX3jHroPa0wgAk6DqUR/eSv2tmwd6EiSLi+ngnA2q WcqbsEe8DQRZeNWB8WQHTp3g6DdwMjhCdn2KBZmT51g1pdyVoqu0wiW1lfb/plRR 2aCcpMt++X4s8KdrILQ+gR7ZOR88GT6Mbm+9tt8MlYJu8aC8KW4wLMr/wAorNe+i iEMweEK0cw+TFYdb/cQV3vRgfp/DyiRGGG9MHrYa6eygkDqA1YBffTjlybivibjg WxRFtSd8pqFGyVsPsnRk0MX3+MY1U4Ah2Film/PukW6c2K0IOHR2zVRJOOR+Zd2E cCD3w+26/akivI01yH1V2kOzfsV2NipOtD7YW1DTMl5FFTSAKvXLzFibpA== =uWTa -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into staging * Drop ninjatool and just require ninja (Paolo) * Fix docs build under msys2 (Yonggang) * HAX snafu fix (Claudio) * Disable signal handlers during fuzzing (Alex) * Miscellaneous fixes (Bruce, Greg) # gpg: Signature made Sat 17 Oct 2020 15:45:56 BST # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonzini@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full] # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full] # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * remotes/bonzini-gitlab/tags/for-upstream: (22 commits) ci: include configure and meson logs in all jobs if configure fails hax: unbreak accelerator cpu code after cpus.c split fuzz: Disable QEMU's SIG{INT,HUP,TERM} handlers cirrus: Enable doc build on msys2/mingw meson: Move the detection logic for sphinx to meson meson: move SPHINX_ARGS references within "if build_docs" docs: Fix Sphinx configuration for msys2/mingw meson: Only install icons and qemu.desktop if have_system configure: fix handling of --docdir parameter meson: cleanup curses/iconv test meson.build: don't condition iconv detection on library detection build: add --enable/--disable-libudev build: replace ninjatool with ninja build: cleanups to Makefile add ninja to dockerfiles, CI configurations and test VMs dockerfiles: enable Centos 8 PowerTools configure: move QEMU_INCLUDES to meson tests: add missing generated sources to testqapi make: run shell with pipefail tests/Makefile.include: unbreak non-tcg builds ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
782d7b30dd
37 changed files with 391 additions and 1311 deletions
101
configure
vendored
101
configure
vendored
|
@ -297,12 +297,13 @@ brlapi=""
|
|||
curl=""
|
||||
iconv="auto"
|
||||
curses="auto"
|
||||
docs=""
|
||||
docs="auto"
|
||||
fdt="auto"
|
||||
netmap="no"
|
||||
sdl="auto"
|
||||
sdl_image="auto"
|
||||
virtfs=""
|
||||
libudev="auto"
|
||||
mpath="auto"
|
||||
vnc="enabled"
|
||||
sparse="auto"
|
||||
|
@ -537,8 +538,6 @@ QEMU_CFLAGS="-fno-strict-aliasing -fno-common -fwrapv $QEMU_CFLAGS"
|
|||
QEMU_CFLAGS="-Wundef -Wwrite-strings -Wmissing-prototypes $QEMU_CFLAGS"
|
||||
QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS"
|
||||
QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS"
|
||||
QEMU_INCLUDES="-iquote . -iquote ${source_path} -iquote ${source_path}/accel/tcg -iquote ${source_path}/include"
|
||||
QEMU_INCLUDES="$QEMU_INCLUDES -iquote ${source_path}/disas/libvixl"
|
||||
|
||||
# Flags that are needed during configure but later taken care of by Meson
|
||||
CONFIGURE_CFLAGS="-std=gnu99 -Wall"
|
||||
|
@ -796,7 +795,6 @@ Linux)
|
|||
audio_possible_drivers="oss alsa sdl pa"
|
||||
linux="yes"
|
||||
linux_user="yes"
|
||||
QEMU_INCLUDES="-isystem ${source_path}/linux-headers -Ilinux-headers $QEMU_INCLUDES"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -822,15 +820,6 @@ do
|
|||
fi
|
||||
done
|
||||
|
||||
sphinx_build=
|
||||
for binary in sphinx-build-3 sphinx-build
|
||||
do
|
||||
if has "$binary"
|
||||
then
|
||||
sphinx_build=$(command -v "$binary")
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Check for ancillary tools used in testing
|
||||
genisoimage=
|
||||
|
@ -971,7 +960,7 @@ for opt do
|
|||
;;
|
||||
--with-suffix=*) qemu_suffix="$optarg"
|
||||
;;
|
||||
--docdir=*) qemu_docdir="$optarg"
|
||||
--docdir=*) docdir="$optarg"
|
||||
;;
|
||||
--sysconfdir=*) sysconfdir="$optarg"
|
||||
;;
|
||||
|
@ -1005,6 +994,10 @@ for opt do
|
|||
;;
|
||||
--enable-virtfs) virtfs="yes"
|
||||
;;
|
||||
--disable-libudev) libudev="disabled"
|
||||
;;
|
||||
--enable-libudev) libudev="enabled"
|
||||
;;
|
||||
--disable-mpath) mpath="disabled"
|
||||
;;
|
||||
--enable-mpath) mpath="enabled"
|
||||
|
@ -1226,9 +1219,9 @@ for opt do
|
|||
;;
|
||||
--disable-crypto-afalg) crypto_afalg="no"
|
||||
;;
|
||||
--disable-docs) docs="no"
|
||||
--disable-docs) docs="disabled"
|
||||
;;
|
||||
--enable-docs) docs="yes"
|
||||
--enable-docs) docs="enabled"
|
||||
;;
|
||||
--disable-vhost-net) vhost_net="no"
|
||||
;;
|
||||
|
@ -1762,6 +1755,7 @@ disabled with --disable-FEATURE, default is enabled if available:
|
|||
vnc-png PNG compression for VNC server
|
||||
cocoa Cocoa UI (Mac OS X only)
|
||||
virtfs VirtFS
|
||||
libudev Use libudev to enumerate host devices
|
||||
mpath Multipath persistent reservation passthrough
|
||||
xen xen backend driver support
|
||||
xen-pci-passthrough PCI passthrough support for Xen
|
||||
|
@ -1866,7 +1860,7 @@ python_version=$($python -c 'import sys; print("%d.%d.%d" % (sys.version_info[0]
|
|||
python="$python -B"
|
||||
|
||||
if test -z "$meson"; then
|
||||
if test "$explicit_python" = no && has meson && version_ge "$(meson --version)" 0.55.1; then
|
||||
if test "$explicit_python" = no && has meson && version_ge "$(meson --version)" 0.55.3; then
|
||||
meson=meson
|
||||
elif test -e "${source_path}/.git" && test $git_update = 'yes' ; then
|
||||
meson=git
|
||||
|
@ -1908,7 +1902,7 @@ case "$meson" in
|
|||
*) meson=$(command -v "$meson") ;;
|
||||
esac
|
||||
|
||||
# Probe for ninja (used for compdb)
|
||||
# Probe for ninja
|
||||
|
||||
if test -z "$ninja"; then
|
||||
for c in ninja ninja-build samu; do
|
||||
|
@ -1917,6 +1911,9 @@ if test -z "$ninja"; then
|
|||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$ninja"; then
|
||||
error_exit "Cannot find Ninja"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check that the C compiler works. Doing this here before testing
|
||||
|
@ -4413,45 +4410,6 @@ if check_include linux/btrfs.h ; then
|
|||
btrfs=yes
|
||||
fi
|
||||
|
||||
# If we're making warnings fatal, apply this to Sphinx runs as well
|
||||
sphinx_werror=""
|
||||
if test "$werror" = "yes"; then
|
||||
sphinx_werror="-W"
|
||||
fi
|
||||
|
||||
# Check we have a new enough version of sphinx-build
|
||||
has_sphinx_build() {
|
||||
# This is a bit awkward but works: create a trivial document and
|
||||
# try to run it with our configuration file (which enforces a
|
||||
# version requirement). This will fail if either
|
||||
# sphinx-build doesn't exist at all or if it is too old.
|
||||
mkdir -p "$TMPDIR1/sphinx"
|
||||
touch "$TMPDIR1/sphinx/index.rst"
|
||||
"$sphinx_build" $sphinx_werror -c "$source_path/docs" \
|
||||
-b html "$TMPDIR1/sphinx" \
|
||||
"$TMPDIR1/sphinx/out" >> config.log 2>&1
|
||||
}
|
||||
|
||||
# Check if tools are available to build documentation.
|
||||
if test "$docs" != "no" ; then
|
||||
if has_sphinx_build; then
|
||||
sphinx_ok=yes
|
||||
else
|
||||
sphinx_ok=no
|
||||
fi
|
||||
if test "$sphinx_ok" = "yes"; then
|
||||
docs=yes
|
||||
else
|
||||
if test "$docs" = "yes" ; then
|
||||
if has $sphinx_build && test "$sphinx_ok" != "yes"; then
|
||||
echo "Warning: $sphinx_build exists but it is either too old or uses too old a Python version" >&2
|
||||
fi
|
||||
feature_not_found "docs" "Install a Python 3 version of python-sphinx"
|
||||
fi
|
||||
docs=no
|
||||
fi
|
||||
fi
|
||||
|
||||
# Search for bswap_32 function
|
||||
byteswap_h=no
|
||||
cat > $TMPC << EOF
|
||||
|
@ -5770,7 +5728,6 @@ fi
|
|||
qemu_confdir="$sysconfdir/$qemu_suffix"
|
||||
qemu_moddir="$libdir/$qemu_suffix"
|
||||
qemu_datadir="$datadir/$qemu_suffix"
|
||||
qemu_docdir="$docdir/$qemu_suffix"
|
||||
qemu_localedir="$datadir/locale"
|
||||
qemu_icondir="$datadir/icons"
|
||||
qemu_desktopdir="$datadir/applications"
|
||||
|
@ -6088,9 +6045,6 @@ qemu_version=$(head $source_path/VERSION)
|
|||
echo "PKGVERSION=$pkgversion" >>$config_host_mak
|
||||
echo "SRC_PATH=$source_path" >> $config_host_mak
|
||||
echo "TARGET_DIRS=$target_list" >> $config_host_mak
|
||||
if [ "$docs" = "yes" ] ; then
|
||||
echo "BUILD_DOCS=yes" >> $config_host_mak
|
||||
fi
|
||||
if test "$modules" = "yes"; then
|
||||
# $shacmd can generate a hash started with digit, which the compiler doesn't
|
||||
# like as an symbol. So prefix it with an underscore
|
||||
|
@ -6777,28 +6731,12 @@ if test "$secret_keyring" = "yes" ; then
|
|||
echo "CONFIG_SECRET_KEYRING=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$tcg_interpreter" = "yes"; then
|
||||
QEMU_INCLUDES="-iquote ${source_path}/tcg/tci $QEMU_INCLUDES"
|
||||
elif test "$ARCH" = "sparc64" ; then
|
||||
QEMU_INCLUDES="-iquote ${source_path}/tcg/sparc $QEMU_INCLUDES"
|
||||
elif test "$ARCH" = "s390x" ; then
|
||||
QEMU_INCLUDES="-iquote ${source_path}/tcg/s390 $QEMU_INCLUDES"
|
||||
elif test "$ARCH" = "x86_64" || test "$ARCH" = "x32" ; then
|
||||
QEMU_INCLUDES="-iquote ${source_path}/tcg/i386 $QEMU_INCLUDES"
|
||||
elif test "$ARCH" = "ppc64" ; then
|
||||
QEMU_INCLUDES="-iquote ${source_path}/tcg/ppc $QEMU_INCLUDES"
|
||||
elif test "$ARCH" = "riscv32" || test "$ARCH" = "riscv64" ; then
|
||||
QEMU_INCLUDES="-I${source_path}/tcg/riscv $QEMU_INCLUDES"
|
||||
else
|
||||
QEMU_INCLUDES="-iquote ${source_path}/tcg/${ARCH} $QEMU_INCLUDES"
|
||||
fi
|
||||
|
||||
echo "ROMS=$roms" >> $config_host_mak
|
||||
echo "MAKE=$make" >> $config_host_mak
|
||||
echo "PYTHON=$python" >> $config_host_mak
|
||||
echo "SPHINX_BUILD=$sphinx_build" >> $config_host_mak
|
||||
echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
|
||||
echo "MESON=$meson" >> $config_host_mak
|
||||
echo "NINJA=$ninja" >> $config_host_mak
|
||||
echo "CC=$cc" >> $config_host_mak
|
||||
if $iasl -h > /dev/null 2>&1; then
|
||||
echo "CONFIG_IASL=$iasl" >> $config_host_mak
|
||||
|
@ -6819,7 +6757,6 @@ echo "WINDRES=$windres" >> $config_host_mak
|
|||
echo "CFLAGS_NOPIE=$CFLAGS_NOPIE" >> $config_host_mak
|
||||
echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak
|
||||
echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak
|
||||
echo "QEMU_INCLUDES=$QEMU_INCLUDES" >> $config_host_mak
|
||||
echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
|
||||
echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
|
||||
echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
|
||||
|
@ -7051,7 +6988,7 @@ fi
|
|||
mv $cross config-meson.cross
|
||||
|
||||
rm -rf meson-private meson-info meson-logs
|
||||
NINJA=${ninja:-$PWD/ninjatool} $meson setup \
|
||||
NINJA=$ninja $meson setup \
|
||||
--prefix "$prefix" \
|
||||
--libdir "$libdir" \
|
||||
--libexecdir "$libexecdir" \
|
||||
|
@ -7077,14 +7014,14 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
|
|||
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
|
||||
-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f \
|
||||
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt \
|
||||
-Diconv=$iconv -Dcurses=$curses \
|
||||
-Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
|
||||
-Ddocs=$docs -Dsphinx_build=$sphinx_build \
|
||||
$cross_arg \
|
||||
"$PWD" "$source_path"
|
||||
|
||||
if test "$?" -ne 0 ; then
|
||||
error_exit "meson setup failed"
|
||||
fi
|
||||
touch ninjatool.stamp
|
||||
fi
|
||||
|
||||
if test -n "${deprecated_features}"; then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue