if not have_linux_user subdir_done() endif linux_user_ss = ss.source_set() common_user_inc += include_directories('include/host/' / host_arch) common_user_inc += include_directories('include') linux_user_ss.add(files( 'elfload.c', 'exit.c', 'fd-trans.c', 'linuxload.c', 'main.c', 'mmap.c', 'signal.c', 'strace.c', 'syscall.c', 'thunk.c', 'uaccess.c', 'uname.c', )) linux_user_ss.add(rt) linux_user_ss.add(libdw) linux_user_ss.add(when: 'TARGET_HAS_BFLT', if_true: files('flatload.c')) linux_user_ss.add(when: 'TARGET_I386', if_true: files('vm86.c')) linux_user_ss.add(when: 'CONFIG_ARM_COMPATIBLE_SEMIHOSTING', if_true: files('semihost.c')) syscall_nr_generators = {} gen_vdso_exe = executable('gen-vdso', 'gen-vdso.c', native: true, build_by_default: false) gen_vdso = generator(gen_vdso_exe, output: '@BASENAME@.c.inc', arguments: ['-o', '@OUTPUT@', '@EXTRA_ARGS@', '@INPUT@']) subdir('aarch64') subdir('alpha') subdir('arm') subdir('hexagon') subdir('hppa') subdir('i386') subdir('loongarch64') subdir('m68k') subdir('microblaze') subdir('mips64') subdir('mips') subdir('openrisc') subdir('ppc') subdir('riscv') subdir('s390x') subdir('sh4') subdir('sparc') subdir('x86_64') subdir('xtensa') specific_ss.add_all(when: 'CONFIG_LINUX_USER', if_true: linux_user_ss)