meson.build 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. if not have_linux_user
  2. subdir_done()
  3. endif
  4. linux_user_ss = ss.source_set()
  5. common_user_inc += include_directories('include/host/' / host_arch)
  6. common_user_inc += include_directories('include')
  7. linux_user_ss.add(files(
  8. 'elfload.c',
  9. 'exit.c',
  10. 'fd-trans.c',
  11. 'linuxload.c',
  12. 'main.c',
  13. 'mmap.c',
  14. 'signal.c',
  15. 'strace.c',
  16. 'syscall.c',
  17. 'thunk.c',
  18. 'uaccess.c',
  19. 'uname.c',
  20. ))
  21. linux_user_ss.add(rt)
  22. linux_user_ss.add(libdw)
  23. linux_user_ss.add(when: 'TARGET_HAS_BFLT', if_true: files('flatload.c'))
  24. linux_user_ss.add(when: 'TARGET_I386', if_true: files('vm86.c'))
  25. linux_user_ss.add(when: 'CONFIG_ARM_COMPATIBLE_SEMIHOSTING', if_true: files('semihost.c'))
  26. linux_user_ss.add(when: 'CONFIG_TCG_PLUGINS', if_true: files('plugin-api.c'))
  27. syscall_nr_generators = {}
  28. gen_vdso_exe = executable('gen-vdso', 'gen-vdso.c',
  29. native: true, build_by_default: false)
  30. gen_vdso = generator(gen_vdso_exe, output: '@BASENAME@.c.inc',
  31. arguments: ['-o', '@OUTPUT@', '@EXTRA_ARGS@', '@INPUT@'])
  32. subdir('aarch64')
  33. subdir('alpha')
  34. subdir('arm')
  35. subdir('hexagon')
  36. subdir('hppa')
  37. subdir('i386')
  38. subdir('loongarch64')
  39. subdir('m68k')
  40. subdir('microblaze')
  41. subdir('mips64')
  42. subdir('mips')
  43. subdir('openrisc')
  44. subdir('ppc')
  45. subdir('riscv')
  46. subdir('s390x')
  47. subdir('sh4')
  48. subdir('sparc')
  49. subdir('x86_64')
  50. subdir('xtensa')
  51. specific_ss.add_all(when: 'CONFIG_LINUX_USER', if_true: linux_user_ss)