configure: rename --enable-pypi to --enable-download, control subprojects too
The behavior of --{enable,disable}-pypi is similar to that of -Dwrapmode={default,nodownload} respectively. In particular, in both cases a feature needs to be explicitly enabled for the dependency to be downloaded. So, use a single option to control both cases. Now, --enable-slirp will trigger cloning and building of libslirp if the .pc file is not found on the machine. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
50cfed80ec
commit
ac4ccac740
2
.gitignore
vendored
2
.gitignore
vendored
@ -20,5 +20,3 @@ GTAGS
|
|||||||
*.swp
|
*.swp
|
||||||
*.patch
|
*.patch
|
||||||
*.gcov
|
*.gcov
|
||||||
|
|
||||||
/subprojects/slirp
|
|
||||||
|
17
configure
vendored
17
configure
vendored
@ -266,7 +266,7 @@ bsd_user=""
|
|||||||
plugins="$default_feature"
|
plugins="$default_feature"
|
||||||
ninja=""
|
ninja=""
|
||||||
python=
|
python=
|
||||||
pypi="enabled"
|
download="enabled"
|
||||||
bindir="bin"
|
bindir="bin"
|
||||||
skip_meson=no
|
skip_meson=no
|
||||||
vfio_user_server="disabled"
|
vfio_user_server="disabled"
|
||||||
@ -754,9 +754,9 @@ for opt do
|
|||||||
--with-git-submodules=*)
|
--with-git-submodules=*)
|
||||||
git_submodules_action="$optarg"
|
git_submodules_action="$optarg"
|
||||||
;;
|
;;
|
||||||
--disable-pypi) pypi="disabled"
|
--disable-download) download="disabled"
|
||||||
;;
|
;;
|
||||||
--enable-pypi) pypi="enabled"
|
--enable-download) download="enabled"
|
||||||
;;
|
;;
|
||||||
--enable-plugins) if test "$mingw32" = "yes"; then
|
--enable-plugins) if test "$mingw32" = "yes"; then
|
||||||
error_exit "TCG plugins not currently supported on Windows platforms"
|
error_exit "TCG plugins not currently supported on Windows platforms"
|
||||||
@ -960,7 +960,7 @@ python="$(command -v "$python")"
|
|||||||
# - venv is allowed to use system packages;
|
# - venv is allowed to use system packages;
|
||||||
# - all setup can be performed offline;
|
# - all setup can be performed offline;
|
||||||
# - missing packages may be fetched from PyPI,
|
# - missing packages may be fetched from PyPI,
|
||||||
# unless --disable-pypi is passed.
|
# unless --disable-download is passed.
|
||||||
# - pip is not installed into the venv when possible,
|
# - pip is not installed into the venv when possible,
|
||||||
# but ensurepip is called as a fallback when necessary.
|
# but ensurepip is called as a fallback when necessary.
|
||||||
|
|
||||||
@ -977,7 +977,7 @@ python="$python -B"
|
|||||||
mkvenv="$python ${source_path}/python/scripts/mkvenv.py"
|
mkvenv="$python ${source_path}/python/scripts/mkvenv.py"
|
||||||
|
|
||||||
mkvenv_flags=""
|
mkvenv_flags=""
|
||||||
if test "$pypi" = "enabled" ; then
|
if test "$download" = "enabled" ; then
|
||||||
mkvenv_flags="--online"
|
mkvenv_flags="--online"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -1000,7 +1000,7 @@ meson="$(cd pyvenv/bin; pwd)/meson"
|
|||||||
# Conditionally ensure Sphinx is installed.
|
# Conditionally ensure Sphinx is installed.
|
||||||
|
|
||||||
mkvenv_flags=""
|
mkvenv_flags=""
|
||||||
if test "$pypi" = "enabled" -a "$docs" = "enabled" ; then
|
if test "$download" = "enabled" -a "$docs" = "enabled" ; then
|
||||||
mkvenv_flags="--online"
|
mkvenv_flags="--online"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -1940,11 +1940,8 @@ if test "$skip_meson" = no; then
|
|||||||
|
|
||||||
rm -rf meson-private meson-info meson-logs
|
rm -rf meson-private meson-info meson-logs
|
||||||
|
|
||||||
# Prevent meson from automatically downloading wrapped subprojects when missing.
|
|
||||||
# You can use 'meson subprojects download' before running configure.
|
|
||||||
meson_option_add "--wrap-mode=nodownload"
|
|
||||||
|
|
||||||
# Built-in options
|
# Built-in options
|
||||||
|
test "$download" = "disabled" && meson_option_add "--wrap-mode=nodownload"
|
||||||
test "$bindir" != "bin" && meson_option_add "-Dbindir=$bindir"
|
test "$bindir" != "bin" && meson_option_add "-Dbindir=$bindir"
|
||||||
test "$default_feature" = no && meson_option_add -Dauto_features=disabled
|
test "$default_feature" = no && meson_option_add -Dauto_features=disabled
|
||||||
test "$static" = yes && meson_option_add -Dprefer_static=true
|
test "$static" = yes && meson_option_add -Dprefer_static=true
|
||||||
|
12
meson.build
12
meson.build
@ -3985,8 +3985,15 @@ endif
|
|||||||
# Configuration summary #
|
# Configuration summary #
|
||||||
#########################
|
#########################
|
||||||
|
|
||||||
# Directories
|
# Build environment
|
||||||
summary_info = {}
|
summary_info = {}
|
||||||
|
summary_info += {'Build directory': meson.current_build_dir()}
|
||||||
|
summary_info += {'Source path': meson.current_source_dir()}
|
||||||
|
summary_info += {'GIT submodules': config_host['GIT_SUBMODULES']}
|
||||||
|
summary_info += {'Download dependencies': get_option('wrap_mode') != 'nodownload'}
|
||||||
|
summary(summary_info, bool_yn: true, section: 'Build environment')
|
||||||
|
|
||||||
|
# Directories
|
||||||
summary_info += {'Install prefix': get_option('prefix')}
|
summary_info += {'Install prefix': get_option('prefix')}
|
||||||
summary_info += {'BIOS directory': qemu_datadir}
|
summary_info += {'BIOS directory': qemu_datadir}
|
||||||
pathsep = targetos == 'windows' ? ';' : ':'
|
pathsep = targetos == 'windows' ? ';' : ':'
|
||||||
@ -4004,9 +4011,6 @@ else
|
|||||||
summary_info += {'local state directory': 'queried at runtime'}
|
summary_info += {'local state directory': 'queried at runtime'}
|
||||||
endif
|
endif
|
||||||
summary_info += {'Doc directory': get_option('prefix') / get_option('docdir')}
|
summary_info += {'Doc directory': get_option('prefix') / get_option('docdir')}
|
||||||
summary_info += {'Build directory': meson.current_build_dir()}
|
|
||||||
summary_info += {'Source path': meson.current_source_dir()}
|
|
||||||
summary_info += {'GIT submodules': config_host['GIT_SUBMODULES']}
|
|
||||||
summary(summary_info, bool_yn: true, section: 'Directories')
|
summary(summary_info, bool_yn: true, section: 'Directories')
|
||||||
|
|
||||||
# Host binaries
|
# Host binaries
|
||||||
|
3
subprojects/.gitignore
vendored
Normal file
3
subprojects/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
/packagecache
|
||||||
|
|
||||||
|
/slirp
|
Loading…
Reference in New Issue
Block a user