meson.build 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
  2. 'arch_init.c',
  3. 'ioport.c',
  4. 'globals-target.c',
  5. 'memory.c',
  6. 'physmem.c',
  7. )])
  8. system_ss.add(files(
  9. 'balloon.c',
  10. 'bootdevice.c',
  11. 'cpus.c',
  12. 'cpu-timers.c',
  13. 'datadir.c',
  14. 'dirtylimit.c',
  15. 'dma-helpers.c',
  16. 'globals.c',
  17. 'memory_mapping.c',
  18. 'qdev-monitor.c',
  19. 'qtest.c',
  20. 'rtc.c',
  21. 'runstate-action.c',
  22. 'runstate-hmp-cmds.c',
  23. 'runstate.c',
  24. 'tpm-hmp-cmds.c',
  25. 'vl.c',
  26. 'watchpoint.c',
  27. ), sdl, libpmem, libdaxctl)
  28. if have_tpm
  29. system_ss.add(files('tpm.c'))
  30. endif
  31. system_ss.add(when: seccomp, if_true: files('qemu-seccomp.c'))
  32. system_ss.add(when: 'CONFIG_DEVICE_TREE',
  33. if_true: [fdt, files('device_tree.c')],
  34. if_false: files('device_tree-stub.c'))
  35. if host_os == 'linux'
  36. system_ss.add(files('async-teardown.c'))
  37. endif
  38. # Export symbols for shared lib build
  39. if get_option('shared_lib')
  40. if host_os == 'darwin'
  41. configure_file(
  42. input: files('qemu.symbols'),
  43. output: 'qemu-ld64.symbols',
  44. capture: true,
  45. command: ['sed', '-ne', 's/^[[:space:]]*\\([a-zA-Z_$0-9]*\\);/_\\1/p', '@INPUT@'])
  46. emulator_link_args += ['-Wl,-exported_symbols_list,system/qemu-ld64.symbols']
  47. else
  48. emulator_link_args += ['-Xlinker', '--dynamic-list=' + (meson.project_source_root() / 'system/qemu.symbols')]
  49. endif
  50. endif