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