xref: /qemu/pc-bios/meson.build (revision 19f9c044)
1809954efSPaolo Bonziniroms = []
2e49c0ef6SPaolo Bonziniif unpack_edk2_blobs
3bdcbea7aSMarc-André Lureau  fds = [
4bdcbea7aSMarc-André Lureau    'edk2-aarch64-code.fd',
5bdcbea7aSMarc-André Lureau    'edk2-arm-code.fd',
6bdcbea7aSMarc-André Lureau    'edk2-arm-vars.fd',
7bdcbea7aSMarc-André Lureau    'edk2-i386-code.fd',
8bdcbea7aSMarc-André Lureau    'edk2-i386-secure-code.fd',
9bdcbea7aSMarc-André Lureau    'edk2-i386-vars.fd',
10bdcbea7aSMarc-André Lureau    'edk2-x86_64-code.fd',
11bdcbea7aSMarc-André Lureau    'edk2-x86_64-secure-code.fd',
12bdcbea7aSMarc-André Lureau  ]
13bdcbea7aSMarc-André Lureau
14bdcbea7aSMarc-André Lureau  foreach f : fds
15809954efSPaolo Bonzini    roms += custom_target(f,
166d21d60aSPhilippe Mathieu-Daudé                  build_by_default: have_system,
17bdcbea7aSMarc-André Lureau                  output: f,
180f457147SPaolo Bonzini                  input: files('@0@.bz2'.format(f)),
19bdcbea7aSMarc-André Lureau                  capture: true,
20c8d5450bSPaolo Bonzini                  install: get_option('install_blobs'),
21ab4c0996SMarc-André Lureau                  install_dir: qemu_datadir,
22bdcbea7aSMarc-André Lureau                  command: [ bzip2, '-dc', '@INPUT0@' ])
23bdcbea7aSMarc-André Lureau  endforeach
24bdcbea7aSMarc-André Lureauendif
25bdcbea7aSMarc-André Lureau
2645f1eecdSPaolo Bonziniblobs = [
27b17cf893SMarc-André Lureau  'bios.bin',
28b17cf893SMarc-André Lureau  'bios-256k.bin',
2938edb514SGerd Hoffmann  'bios-microvm.bin',
303bee1d1dSGerd Hoffmann  'qboot.rom',
31b17cf893SMarc-André Lureau  'vgabios.bin',
32b17cf893SMarc-André Lureau  'vgabios-cirrus.bin',
33b17cf893SMarc-André Lureau  'vgabios-stdvga.bin',
34b17cf893SMarc-André Lureau  'vgabios-vmware.bin',
35b17cf893SMarc-André Lureau  'vgabios-qxl.bin',
36b17cf893SMarc-André Lureau  'vgabios-virtio.bin',
37b17cf893SMarc-André Lureau  'vgabios-ramfb.bin',
38b17cf893SMarc-André Lureau  'vgabios-bochs-display.bin',
39b17cf893SMarc-André Lureau  'vgabios-ati.bin',
40b17cf893SMarc-André Lureau  'openbios-sparc32',
41b17cf893SMarc-André Lureau  'openbios-sparc64',
42b17cf893SMarc-André Lureau  'openbios-ppc',
43b17cf893SMarc-André Lureau  'QEMU,tcx.bin',
44b17cf893SMarc-André Lureau  'QEMU,cgthree.bin',
45b17cf893SMarc-André Lureau  'pxe-e1000.rom',
46b17cf893SMarc-André Lureau  'pxe-eepro100.rom',
47b17cf893SMarc-André Lureau  'pxe-ne2k_pci.rom',
48b17cf893SMarc-André Lureau  'pxe-pcnet.rom',
49b17cf893SMarc-André Lureau  'pxe-rtl8139.rom',
50b17cf893SMarc-André Lureau  'pxe-virtio.rom',
51b17cf893SMarc-André Lureau  'efi-e1000.rom',
52b17cf893SMarc-André Lureau  'efi-eepro100.rom',
53b17cf893SMarc-André Lureau  'efi-ne2k_pci.rom',
54b17cf893SMarc-André Lureau  'efi-pcnet.rom',
55b17cf893SMarc-André Lureau  'efi-rtl8139.rom',
56b17cf893SMarc-André Lureau  'efi-virtio.rom',
57b17cf893SMarc-André Lureau  'efi-e1000e.rom',
58b17cf893SMarc-André Lureau  'efi-vmxnet3.rom',
59b17cf893SMarc-André Lureau  'qemu-nsis.bmp',
60b17cf893SMarc-André Lureau  'multiboot.bin',
6148972f8cSMarcus Hähnel  'multiboot_dma.bin',
62b17cf893SMarc-André Lureau  'linuxboot.bin',
63b17cf893SMarc-André Lureau  'linuxboot_dma.bin',
64b17cf893SMarc-André Lureau  'kvmvapic.bin',
65b17cf893SMarc-André Lureau  'pvh.bin',
66b17cf893SMarc-André Lureau  's390-ccw.img',
67b17cf893SMarc-André Lureau  's390-netboot.img',
68b17cf893SMarc-André Lureau  'slof.bin',
69b17cf893SMarc-André Lureau  'skiboot.lid',
70b17cf893SMarc-André Lureau  'palcode-clipper',
71b17cf893SMarc-André Lureau  'u-boot.e500',
72b17cf893SMarc-André Lureau  'u-boot-sam460-20100605.bin',
73b17cf893SMarc-André Lureau  'qemu_vga.ndrv',
74b17cf893SMarc-André Lureau  'edk2-licenses.txt',
75b17cf893SMarc-André Lureau  'hppa-firmware.img',
76*19f9c044SHelge Deller  'hppa-firmware64.img',
77b17cf893SMarc-André Lureau  'opensbi-riscv32-generic-fw_dynamic.bin',
78b17cf893SMarc-André Lureau  'opensbi-riscv64-generic-fw_dynamic.bin',
79d1cb5edaSHavard Skinnemoen  'npcm7xx_bootrom.bin',
8010717c26SAlexey Kardashevskiy  'vof.bin',
8110717c26SAlexey Kardashevskiy  'vof-nvram.bin',
8245f1eecdSPaolo Bonzini]
83b17cf893SMarc-André Lureau
846e0dc9d2SPaolo Bonzinidtc = find_program('dtc', required: false)
856e0dc9d2SPaolo Bonziniforeach f : [
866e0dc9d2SPaolo Bonzini  'bamboo.dts',
876e0dc9d2SPaolo Bonzini  'canyonlands.dts',
886e0dc9d2SPaolo Bonzini  'petalogix-s3adsp1800.dts',
896e0dc9d2SPaolo Bonzini  'petalogix-ml605.dts',
906e0dc9d2SPaolo Bonzini]
916e0dc9d2SPaolo Bonzini  out = fs.replace_suffix(f, '.dtb')
926e0dc9d2SPaolo Bonzini  if dtc.found()
936e0dc9d2SPaolo Bonzini    custom_target(f,
946e0dc9d2SPaolo Bonzini        build_by_default: have_system,
956e0dc9d2SPaolo Bonzini        input: files(f),
966e0dc9d2SPaolo Bonzini        output: out,
976e0dc9d2SPaolo Bonzini        install: get_option('install_blobs'),
986e0dc9d2SPaolo Bonzini        install_dir: qemu_datadir,
996e0dc9d2SPaolo Bonzini        command: [ dtc, '-I', 'dts', '-O', 'dtb', '-o', '@OUTPUT@', '@INPUT0@' ])
1006e0dc9d2SPaolo Bonzini  else
1016e0dc9d2SPaolo Bonzini    blobs += out
1026e0dc9d2SPaolo Bonzini  endif
1036e0dc9d2SPaolo Bonziniendforeach
1046e0dc9d2SPaolo Bonzini
105882084a0SAkihiko Odakiif get_option('install_blobs')
106882084a0SAkihiko Odaki  install_data(blobs, install_dir: qemu_datadir)
107882084a0SAkihiko Odakiendif
108b17cf893SMarc-André Lureau
109bdcbea7aSMarc-André Lureausubdir('descriptors')
11028742467SMarc-André Lureausubdir('keymaps')
111