diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2023-05-18 12:07:22 +0000 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2023-05-26 12:34:18 +0200 |
commit | 58e48b2e721dcf70571d293e86c02eedbe3a0f39 (patch) | |
tree | 4776d45f4ff79cfee1545c5d9f527c0de2ab802d | |
parent | 577bdbcf85d4c491da3271d99526b66c576d90e5 (diff) | |
download | qemu-58e48b2e721dcf70571d293e86c02eedbe3a0f39.zip qemu-58e48b2e721dcf70571d293e86c02eedbe3a0f39.tar.gz qemu-58e48b2e721dcf70571d293e86c02eedbe3a0f39.tar.bz2 |
meson: use subproject for internal libfdt
Recent dtc/libfdt can use either Make or meson as the build system.
By using a subproject, our own meson.build can remove the hard
coded list of source files.
This is also the first step towards managing downloads with .wrap
files instead of submodule.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | .gitmodules | 4 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | meson.build | 24 | ||||
-rwxr-xr-x | scripts/archive-source.sh | 2 | ||||
m--------- | subprojects/dtc (renamed from dtc) | 0 |
5 files changed, 8 insertions, 24 deletions
diff --git a/.gitmodules b/.gitmodules index 2a3a120..3ed5d07 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,8 +13,8 @@ [submodule "roms/qemu-palcode"] path = roms/qemu-palcode url = https://gitlab.com/qemu-project/qemu-palcode.git -[submodule "dtc"] - path = dtc +[submodule "subprojects/dtc"] + path = subprojects/dtc url = https://gitlab.com/qemu-project/dtc.git [submodule "roms/u-boot"] path = roms/u-boot @@ -1187,7 +1187,7 @@ fi case "$fdt" in auto | enabled | internal) # Simpler to always update submodule, even if not needed. - git_submodules="${git_submodules} dtc" + git_submodules="${git_submodules} subprojects/dtc" ;; esac diff --git a/meson.build b/meson.build index 2184288..884b16c 100644 --- a/meson.build +++ b/meson.build @@ -3088,26 +3088,10 @@ if fdt_required.length() > 0 or fdt_opt == 'enabled' error('libfdt source not found - please pull git submodule') endif - fdt_files = files( - 'dtc/libfdt/fdt.c', - 'dtc/libfdt/fdt_ro.c', - 'dtc/libfdt/fdt_wip.c', - 'dtc/libfdt/fdt_sw.c', - 'dtc/libfdt/fdt_rw.c', - 'dtc/libfdt/fdt_strerror.c', - 'dtc/libfdt/fdt_empty_tree.c', - 'dtc/libfdt/fdt_addresses.c', - 'dtc/libfdt/fdt_overlay.c', - 'dtc/libfdt/fdt_check.c', - ) - - fdt_inc = include_directories('dtc/libfdt') - libfdt = static_library('fdt', - build_by_default: false, - sources: fdt_files, - include_directories: fdt_inc) - fdt = declare_dependency(link_with: libfdt, - include_directories: fdt_inc) + libfdt_proj = subproject('dtc', required: true, + default_options: ['tools=false', 'yaml=disabled', + 'python=disabled', 'default_library=static']) + fdt = libfdt_proj.get_variable('libfdt_dep') endif else fdt_opt = 'disabled' diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh index c035329..a7c2886 100755 --- a/scripts/archive-source.sh +++ b/scripts/archive-source.sh @@ -26,7 +26,7 @@ sub_file="${sub_tdir}/submodule.tar" # independent of what the developer currently has initialized # in their checkout, because the build environment is completely # different to the host OS. -submodules="dtc ui/keycodemapdb" +submodules="subprojects/dtc ui/keycodemapdb" submodules="$submodules tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloat-3" sub_deinit="" diff --git a/dtc b/subprojects/dtc -Subproject b6910bec11614980a21e46fbccc35934b671bd8 +Subproject b6910bec11614980a21e46fbccc35934b671bd8 |