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>
This commit is contained in:
parent
577bdbcf85
commit
58e48b2e72
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -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
|
||||
|
2
configure
vendored
2
configure
vendored
@ -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
|
||||
|
||||
|
24
meson.build
24
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'
|
||||
|
@ -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=""
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user