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"]
|
[submodule "roms/qemu-palcode"]
|
||||||
path = roms/qemu-palcode
|
path = roms/qemu-palcode
|
||||||
url = https://gitlab.com/qemu-project/qemu-palcode.git
|
url = https://gitlab.com/qemu-project/qemu-palcode.git
|
||||||
[submodule "dtc"]
|
[submodule "subprojects/dtc"]
|
||||||
path = dtc
|
path = subprojects/dtc
|
||||||
url = https://gitlab.com/qemu-project/dtc.git
|
url = https://gitlab.com/qemu-project/dtc.git
|
||||||
[submodule "roms/u-boot"]
|
[submodule "roms/u-boot"]
|
||||||
path = roms/u-boot
|
path = roms/u-boot
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -1187,7 +1187,7 @@ fi
|
|||||||
case "$fdt" in
|
case "$fdt" in
|
||||||
auto | enabled | internal)
|
auto | enabled | internal)
|
||||||
# Simpler to always update submodule, even if not needed.
|
# Simpler to always update submodule, even if not needed.
|
||||||
git_submodules="${git_submodules} dtc"
|
git_submodules="${git_submodules} subprojects/dtc"
|
||||||
;;
|
;;
|
||||||
esac
|
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')
|
error('libfdt source not found - please pull git submodule')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
fdt_files = files(
|
libfdt_proj = subproject('dtc', required: true,
|
||||||
'dtc/libfdt/fdt.c',
|
default_options: ['tools=false', 'yaml=disabled',
|
||||||
'dtc/libfdt/fdt_ro.c',
|
'python=disabled', 'default_library=static'])
|
||||||
'dtc/libfdt/fdt_wip.c',
|
fdt = libfdt_proj.get_variable('libfdt_dep')
|
||||||
'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)
|
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
fdt_opt = 'disabled'
|
fdt_opt = 'disabled'
|
||||||
|
@ -26,7 +26,7 @@ sub_file="${sub_tdir}/submodule.tar"
|
|||||||
# independent of what the developer currently has initialized
|
# independent of what the developer currently has initialized
|
||||||
# in their checkout, because the build environment is completely
|
# in their checkout, because the build environment is completely
|
||||||
# different to the host OS.
|
# 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"
|
submodules="$submodules tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloat-3"
|
||||||
sub_deinit=""
|
sub_deinit=""
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user