meson: handle edk2 bios and descriptors
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
3f88565997
commit
bdcbea7ae5
29
Makefile
29
Makefile
@ -127,10 +127,6 @@ generated-files-y += module_block.h
|
||||
|
||||
generated-files-y += .git-submodule-status
|
||||
|
||||
edk2-decompressed = $(basename $(wildcard pc-bios/edk2-*.fd.bz2))
|
||||
pc-bios/edk2-%.fd: pc-bios/edk2-%.fd.bz2
|
||||
$(call quiet-command,bzip2 -d -c $< > $@,"BUNZIP2",$<)
|
||||
|
||||
# Don't try to regenerate Makefile or configure
|
||||
# We don't generate any of them
|
||||
Makefile: ;
|
||||
@ -274,9 +270,6 @@ $(SOFTMMU_ALL_RULES): $(chardev-obj-y)
|
||||
$(SOFTMMU_ALL_RULES): $(crypto-obj-y)
|
||||
$(SOFTMMU_ALL_RULES): $(io-obj-y)
|
||||
$(SOFTMMU_ALL_RULES): config-all-devices.mak
|
||||
ifdef DECOMPRESS_EDK2_BLOBS
|
||||
$(SOFTMMU_ALL_RULES): $(edk2-decompressed)
|
||||
endif
|
||||
|
||||
SOFTMMU_FUZZ_RULES=$(filter %-softmmu/fuzz, $(TARGET_DIRS_RULES))
|
||||
$(SOFTMMU_FUZZ_RULES): $(authz-obj-y)
|
||||
@ -384,7 +377,6 @@ clean: recurse-clean ninja-clean clean-ctlist
|
||||
! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-arm.a \
|
||||
! -path ./roms/edk2/BaseTools/Source/Python/UPT/Dll/sqlite3.dll \
|
||||
-exec rm {} +
|
||||
rm -f $(edk2-decompressed)
|
||||
rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) TAGS cscope.* *.pod *~ */*~
|
||||
rm -f fsdev/*.pod scsi/*.pod
|
||||
rm -f $(foreach f,$(generated-files-y),$(f) $(f)-timestamp)
|
||||
@ -461,13 +453,8 @@ edk2-licenses.txt \
|
||||
hppa-firmware.img \
|
||||
opensbi-riscv32-sifive_u-fw_jump.bin opensbi-riscv32-virt-fw_jump.bin \
|
||||
opensbi-riscv64-sifive_u-fw_jump.bin opensbi-riscv64-virt-fw_jump.bin
|
||||
|
||||
|
||||
DESCS=50-edk2-i386-secure.json 50-edk2-x86_64-secure.json \
|
||||
60-edk2-aarch64.json 60-edk2-arm.json 60-edk2-i386.json 60-edk2-x86_64.json
|
||||
else
|
||||
BLOBS=
|
||||
DESCS=
|
||||
endif
|
||||
|
||||
# Note that we manually filter-out the non-Sphinx documentation which
|
||||
@ -544,7 +531,6 @@ install-includedir:
|
||||
export DESTDIR
|
||||
install: all $(if $(BUILD_DOCS),install-doc) \
|
||||
install-datadir install-localstatedir install-includedir \
|
||||
$(if $(INSTALL_BLOBS),$(edk2-decompressed)) \
|
||||
recurse-install
|
||||
ifneq ($(TOOLS),)
|
||||
$(call install-prog,$(TOOLS),$(DESTDIR)$(bindir))
|
||||
@ -567,21 +553,6 @@ ifneq ($(BLOBS),)
|
||||
set -e; for x in $(BLOBS); do \
|
||||
$(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(qemu_datadir)"; \
|
||||
done
|
||||
endif
|
||||
ifdef INSTALL_BLOBS
|
||||
set -e; for x in $(edk2-decompressed); do \
|
||||
$(INSTALL_DATA) $$x "$(DESTDIR)$(qemu_datadir)"; \
|
||||
done
|
||||
endif
|
||||
ifneq ($(DESCS),)
|
||||
$(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/firmware"
|
||||
set -e; tmpf=$$(mktemp); trap 'rm -f -- "$$tmpf"' EXIT; \
|
||||
for x in $(DESCS); do \
|
||||
sed -e 's,@DATADIR@,$(qemu_datadir),' \
|
||||
"$(SRC_PATH)/pc-bios/descriptors/$$x" > "$$tmpf"; \
|
||||
$(INSTALL_DATA) "$$tmpf" \
|
||||
"$(DESTDIR)$(qemu_datadir)/firmware/$$x"; \
|
||||
done
|
||||
endif
|
||||
for s in $(ICON_SIZES); do \
|
||||
mkdir -p "$(DESTDIR)$(qemu_icondir)/hicolor/$${s}/apps"; \
|
||||
|
@ -383,6 +383,7 @@ if have_tools
|
||||
endif
|
||||
|
||||
subdir('tools')
|
||||
subdir('pc-bios')
|
||||
|
||||
summary_info = {}
|
||||
summary_info += {'Install prefix': config_host['prefix']}
|
||||
|
14
pc-bios/descriptors/meson.build
Normal file
14
pc-bios/descriptors/meson.build
Normal file
@ -0,0 +1,14 @@
|
||||
foreach f: [
|
||||
'50-edk2-i386-secure.json',
|
||||
'50-edk2-x86_64-secure.json',
|
||||
'60-edk2-aarch64.json',
|
||||
'60-edk2-arm.json',
|
||||
'60-edk2-i386.json',
|
||||
'60-edk2-x86_64.json'
|
||||
]
|
||||
configure_file(input: files(f),
|
||||
output: f,
|
||||
configuration: {'DATADIR': config_host['qemu_datadir']},
|
||||
install: install_blobs,
|
||||
install_dir: config_host['qemu_datadir'] / 'firmware')
|
||||
endforeach
|
27
pc-bios/meson.build
Normal file
27
pc-bios/meson.build
Normal file
@ -0,0 +1,27 @@
|
||||
bzip2 = find_program('bzip2')
|
||||
|
||||
install_blobs = 'INSTALL_BLOBS' in config_host
|
||||
if 'DECOMPRESS_EDK2_BLOBS' in config_host
|
||||
fds = [
|
||||
'edk2-aarch64-code.fd',
|
||||
'edk2-arm-code.fd',
|
||||
'edk2-arm-vars.fd',
|
||||
'edk2-i386-code.fd',
|
||||
'edk2-i386-secure-code.fd',
|
||||
'edk2-i386-vars.fd',
|
||||
'edk2-x86_64-code.fd',
|
||||
'edk2-x86_64-secure-code.fd',
|
||||
]
|
||||
|
||||
foreach f : fds
|
||||
custom_target(f,
|
||||
output: f,
|
||||
input: '@0@.bz2'.format(f),
|
||||
capture: true,
|
||||
install: install_blobs,
|
||||
install_dir: config_host['qemu_datadir'],
|
||||
command: [ bzip2, '-dc', '@INPUT0@' ])
|
||||
endforeach
|
||||
endif
|
||||
|
||||
subdir('descriptors')
|
Loading…
Reference in New Issue
Block a user