meson: compile bundled device trees

If dtc is available, compile the .dts files in the pc-bios directory
instead of using the precompiled binaries.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
master
Paolo Bonzini 2023-08-28 11:43:06 +02:00
parent 3c7ee49b81
commit 6e0dc9d2a8
2 changed files with 21 additions and 23 deletions

View File

@ -1,19 +0,0 @@
#
# NOTE: only compilable with x86 cross compile tools
#
include ../config-host.mak
DEFINES=
TARGETS=
all: $(TARGETS)
%.o: %.S
$(CC) $(DEFINES) -c -o $@ $<
%.dtb: %.dts
dtc -I dts -O dtb -o $@ $<
clean:
rm -f $(TARGETS) *.o *~

View File

@ -57,10 +57,6 @@ blobs = [
'efi-e1000e.rom',
'efi-vmxnet3.rom',
'qemu-nsis.bmp',
'bamboo.dtb',
'canyonlands.dtb',
'petalogix-s3adsp1800.dtb',
'petalogix-ml605.dtb',
'multiboot.bin',
'multiboot_dma.bin',
'linuxboot.bin',
@ -84,6 +80,27 @@ blobs = [
'vof-nvram.bin',
]
dtc = find_program('dtc', required: false)
foreach f : [
'bamboo.dts',
'canyonlands.dts',
'petalogix-s3adsp1800.dts',
'petalogix-ml605.dts',
]
out = fs.replace_suffix(f, '.dtb')
if dtc.found()
custom_target(f,
build_by_default: have_system,
input: files(f),
output: out,
install: get_option('install_blobs'),
install_dir: qemu_datadir,
command: [ dtc, '-I', 'dts', '-O', 'dtb', '-o', '@OUTPUT@', '@INPUT0@' ])
else
blobs += out
endif
endforeach
if get_option('install_blobs')
install_data(blobs, install_dir: qemu_datadir)
endif