1roms = [] 2if unpack_edk2_blobs 3 fds = [ 4 'edk2-aarch64-code.fd', 5 'edk2-arm-code.fd', 6 'edk2-arm-vars.fd', 7 'edk2-riscv-code.fd', 8 'edk2-riscv-vars.fd', 9 'edk2-i386-code.fd', 10 'edk2-i386-secure-code.fd', 11 'edk2-i386-vars.fd', 12 'edk2-x86_64-code.fd', 13 'edk2-x86_64-secure-code.fd', 14 'edk2-loongarch64-code.fd', 15 'edk2-loongarch64-vars.fd', 16 ] 17 18 foreach f : fds 19 roms += custom_target(f, 20 build_by_default: have_system, 21 output: f, 22 input: files('@0@.bz2'.format(f)), 23 capture: true, 24 install: get_option('install_blobs'), 25 install_dir: qemu_datadir, 26 command: [ bzip2, '-dc', '@INPUT0@' ]) 27 endforeach 28endif 29 30blobs = [ 31 'bios.bin', 32 'bios-256k.bin', 33 'bios-microvm.bin', 34 'qboot.rom', 35 'vgabios.bin', 36 'vgabios-cirrus.bin', 37 'vgabios-stdvga.bin', 38 'vgabios-vmware.bin', 39 'vgabios-qxl.bin', 40 'vgabios-virtio.bin', 41 'vgabios-ramfb.bin', 42 'vgabios-bochs-display.bin', 43 'vgabios-ati.bin', 44 'openbios-sparc32', 45 'openbios-sparc64', 46 'openbios-ppc', 47 'QEMU,tcx.bin', 48 'QEMU,cgthree.bin', 49 'pxe-e1000.rom', 50 'pxe-eepro100.rom', 51 'pxe-ne2k_pci.rom', 52 'pxe-pcnet.rom', 53 'pxe-rtl8139.rom', 54 'pxe-virtio.rom', 55 'efi-e1000.rom', 56 'efi-eepro100.rom', 57 'efi-ne2k_pci.rom', 58 'efi-pcnet.rom', 59 'efi-rtl8139.rom', 60 'efi-virtio.rom', 61 'efi-e1000e.rom', 62 'efi-vmxnet3.rom', 63 'qemu-nsis.bmp', 64 'multiboot.bin', 65 'multiboot_dma.bin', 66 'linuxboot.bin', 67 'linuxboot_dma.bin', 68 'kvmvapic.bin', 69 'pvh.bin', 70 's390-ccw.img', 71 'slof.bin', 72 'skiboot.lid', 73 'pnv-pnor.bin', 74 'palcode-clipper', 75 'u-boot.e500', 76 'u-boot-sam460-20100605.bin', 77 'qemu_vga.ndrv', 78 'edk2-licenses.txt', 79 'hppa-firmware.img', 80 'hppa-firmware64.img', 81 'opensbi-riscv32-generic-fw_dynamic.bin', 82 'opensbi-riscv64-generic-fw_dynamic.bin', 83 'npcm7xx_bootrom.bin', 84 'npcm8xx_bootrom.bin', 85 'vof.bin', 86 'vof-nvram.bin', 87 'ast27x0_bootrom.bin', 88] 89 90dtc = find_program('dtc', required: false) 91foreach f : [ 92 'bamboo.dts', 93 'canyonlands.dts', 94 'petalogix-s3adsp1800.dts', 95 'petalogix-ml605.dts', 96] 97 out = fs.replace_suffix(f, '.dtb') 98 if dtc.found() 99 custom_target(f, 100 build_by_default: have_system, 101 input: files(f), 102 output: out, 103 install: get_option('install_blobs'), 104 install_dir: qemu_datadir, 105 command: [ dtc, '-q', '-I', 'dts', '-O', 'dtb', 106 '-o', '@OUTPUT@', '@INPUT0@' ]) 107 else 108 blobs += out 109 endif 110endforeach 111 112if get_option('install_blobs') 113 install_data(blobs, install_dir: qemu_datadir) 114endif 115 116subdir('descriptors') 117subdir('keymaps') 118