diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2023-05-18 16:50:00 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2023-06-06 16:30:01 +0200 |
commit | 2019cabfee08dd49c28359b6fd0bac63fb12df9b (patch) | |
tree | 97d332166364fecde526bf2729119dd4e7b3781b /subprojects | |
parent | d120116b5d6e81831332f807028a29c5e5815a6a (diff) |
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>
Diffstat (limited to 'subprojects')
-rw-r--r-- | subprojects/.gitignore | 3 | ||||
m--------- | subprojects/dtc | 0 | ||||
-rw-r--r-- | subprojects/dtc.wrap | 4 | ||||
m--------- | subprojects/keycodemapdb | 0 | ||||
-rw-r--r-- | subprojects/keycodemapdb.wrap | 4 | ||||
m--------- | subprojects/libvfio-user | 0 | ||||
-rw-r--r-- | subprojects/libvfio-user.wrap | 4 |
7 files changed, 15 insertions, 0 deletions
diff --git a/subprojects/.gitignore b/subprojects/.gitignore index 7560ebb0b1..935e9a72a8 100644 --- a/subprojects/.gitignore +++ b/subprojects/.gitignore @@ -1,3 +1,6 @@ /packagecache +/dtc +/keycodemapdb +/libvfio-user /slirp diff --git a/subprojects/dtc b/subprojects/dtc deleted file mode 160000 -Subproject b6910bec11614980a21e46fbccc35934b671bd8 diff --git a/subprojects/dtc.wrap b/subprojects/dtc.wrap new file mode 100644 index 0000000000..d1bc9174e9 --- /dev/null +++ b/subprojects/dtc.wrap @@ -0,0 +1,4 @@ +[wrap-git] +url = https://gitlab.com/qemu-project/dtc.git +revision = b6910bec11614980a21e46fbccc35934b671bd81 +depth = 1 diff --git a/subprojects/keycodemapdb b/subprojects/keycodemapdb deleted file mode 160000 -Subproject f5772a62ec52591ff6870b7e8ef32482371f22c diff --git a/subprojects/keycodemapdb.wrap b/subprojects/keycodemapdb.wrap new file mode 100644 index 0000000000..dda7b0e571 --- /dev/null +++ b/subprojects/keycodemapdb.wrap @@ -0,0 +1,4 @@ +[wrap-git] +url = https://gitlab.com/qemu-project/keycodemapdb.git +revision = f5772a62ec52591ff6870b7e8ef32482371f22c6 +depth = 1 diff --git a/subprojects/libvfio-user b/subprojects/libvfio-user deleted file mode 160000 -Subproject 0b28d205572c80b568a1003db2c8f37ca333e4d diff --git a/subprojects/libvfio-user.wrap b/subprojects/libvfio-user.wrap new file mode 100644 index 0000000000..416955ca45 --- /dev/null +++ b/subprojects/libvfio-user.wrap @@ -0,0 +1,4 @@ +[wrap-git] +url = https://gitlab.com/qemu-project/libvfio-user.git +revision = 0b28d205572c80b568a1003db2c8f37ca333e4d7 +depth = 1 |