[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 052/150] meson: handle edk2 bios and descriptors
From: |
Paolo Bonzini |
Subject: |
[PATCH 052/150] meson: handle edk2 bios and descriptors |
Date: |
Fri, 14 Aug 2020 05:11:48 -0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
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>
---
Makefile | 29 -----------------------------
meson.build | 1 +
pc-bios/descriptors/meson.build | 14 ++++++++++++++
pc-bios/meson.build | 27 +++++++++++++++++++++++++++
4 files changed, 42 insertions(+), 29 deletions(-)
create mode 100644 pc-bios/descriptors/meson.build
create mode 100644 pc-bios/meson.build
diff --git a/Makefile b/Makefile
index 8f750a8551..0dce00d99a 100644
--- a/Makefile
+++ b/Makefile
@@ -118,10 +118,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: ;
@@ -265,9 +261,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)
@@ -375,7 +368,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)
@@ -452,13 +444,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
@@ -535,7 +522,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))
@@ -558,21 +544,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"; \
diff --git a/meson.build b/meson.build
index e37cd88cc1..e5617df1b3 100644
--- a/meson.build
+++ b/meson.build
@@ -379,6 +379,7 @@ if have_tools
endif
subdir('tools')
+subdir('pc-bios')
summary_info = {}
summary_info += {'Install prefix': config_host['prefix']}
diff --git a/pc-bios/descriptors/meson.build b/pc-bios/descriptors/meson.build
new file mode 100644
index 0000000000..7c715bace8
--- /dev/null
+++ b/pc-bios/descriptors/meson.build
@@ -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
diff --git a/pc-bios/meson.build b/pc-bios/meson.build
new file mode 100644
index 0000000000..6e3bfe3ca4
--- /dev/null
+++ b/pc-bios/meson.build
@@ -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')
--
2.26.2
- [PATCH 043/150] meson: convert dummy Windows qga/qemu-ga target, (continued)
- [PATCH 043/150] meson: convert dummy Windows qga/qemu-ga target, Paolo Bonzini, 2020/08/14
- [PATCH 048/150] meson: keymap-gen, Paolo Bonzini, 2020/08/14
- [PATCH 046/150] meson: add qemu-edid, Paolo Bonzini, 2020/08/14
- [PATCH 044/150] meson: add qemu-bridge-helper, Paolo Bonzini, 2020/08/14
- [PATCH 047/150] meson: add virtfs-proxy-helper, Paolo Bonzini, 2020/08/14
- [PATCH 049/150] meson: generate qemu-version.h, Paolo Bonzini, 2020/08/14
- [PATCH 035/150] contrib/vhost-user-gpu: convert to meson, Paolo Bonzini, 2020/08/14
- [PATCH 042/150] meson: add msi generation, Paolo Bonzini, 2020/08/14
- [PATCH 040/150] meson: convert qemu-ga, Paolo Bonzini, 2020/08/14
- [PATCH 050/150] meson: generate shader headers, Paolo Bonzini, 2020/08/14
- [PATCH 052/150] meson: handle edk2 bios and descriptors,
Paolo Bonzini <=
- [PATCH 045/150] meson: add qemu-keymap, Paolo Bonzini, 2020/08/14
- [PATCH 053/150] meson: convert check-decodetree, Paolo Bonzini, 2020/08/14
- [PATCH 054/150] meson: convert tests/fp and check-softfloat, Paolo Bonzini, 2020/08/14
- [PATCH 059/150] meson: convert io directory to Meson, Paolo Bonzini, 2020/08/14
- [PATCH 057/150] meson: convert authz directory to Meson, Paolo Bonzini, 2020/08/14
- [PATCH 058/150] meson: convert crypto directory to Meson, Paolo Bonzini, 2020/08/14
- [PATCH 051/150] meson: generate hxtool files, Paolo Bonzini, 2020/08/14
- [PATCH 055/150] meson: convert check-qapi-schema, Paolo Bonzini, 2020/08/14
- [PATCH 056/150] meson: convert qom directory to Meson (tools part), Paolo Bonzini, 2020/08/14
- [PATCH 060/150] meson: convert target/s390x/gen-features.h, Paolo Bonzini, 2020/08/14