mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
meson: subprojects: replace submodules with wrap files
Compared to submodules, .wrap files have several advantages: * option parsing and downloading is delegated to meson * the commit is stored in a text file instead of a magic entry in the git tree object * we could stop shipping external dependencies that are only used as a fallback, but not break compilation on platforms that lack them. For example it may make sense to download dtc at build time, controlled by --enable-download, even when building from a tarball. Right now, this patch does the opposite: make-release treats dtc like libvfio-user (which is not stable API and therefore hasn't found its way into any distros) and keycodemap (which is a copylib, for better or worse). dependency() can fall back to a wrap automatically. However, this is only possible for libraries that come with a .pc file, and this is not very common for libfdt even though the upstream project in principle provides it; it also removes the control that we provide with --enable-fdt={system,internal}. Therefore, the logic to pick system vs. internal libfdt is left untouched. --enable-fdt=git is removed; it was already a synonym for --enable-fdt=internal. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
d120116b5d
commit
2019cabfee
13 changed files with 63 additions and 73 deletions
15
meson.build
15
meson.build
|
@ -3031,14 +3031,7 @@ endif
|
|||
|
||||
libvfio_user_dep = not_found
|
||||
if have_system and vfio_user_server_allowed
|
||||
have_internal = fs.exists(meson.current_source_dir() / 'subprojects/libvfio-user/meson.build')
|
||||
|
||||
if not have_internal
|
||||
error('libvfio-user source not found - please pull git submodule')
|
||||
endif
|
||||
|
||||
libvfio_user_proj = subproject('libvfio-user')
|
||||
|
||||
libvfio_user_proj = subproject('libvfio-user', required: true)
|
||||
libvfio_user_dep = libvfio_user_proj.get_variable('libvfio_user_dep')
|
||||
endif
|
||||
|
||||
|
@ -3066,12 +3059,6 @@ if fdt_required.length() > 0 or fdt_opt == 'enabled'
|
|||
endif
|
||||
if not fdt.found()
|
||||
assert(fdt_opt == 'internal')
|
||||
have_internal = fs.exists(meson.current_source_dir() / 'subprojects/dtc/meson.build')
|
||||
|
||||
if not have_internal
|
||||
error('libfdt source not found - please pull git submodule')
|
||||
endif
|
||||
|
||||
libfdt_proj = subproject('dtc', required: true,
|
||||
default_options: ['tools=false', 'yaml=disabled',
|
||||
'python=disabled', 'default_library=static'])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue