@@ -130,9 +130,6 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) \
-I$(SRC_PATH)/linux-user/host/$(ARCH) \
-I$(SRC_PATH)/linux-user
-obj-y += linux-user/
-obj-y += gdbstub.o thunk.o
-
endif #CONFIG_LINUX_USER
#########################################################
deleted file mode 100644
@@ -1,10 +0,0 @@
-obj-y = main.o syscall.o strace.o mmap.o signal.o \
- elfload.o linuxload.o uaccess.o uname.o \
- safe-syscall.o $(TARGET_ABI_DIR)/signal.o \
- $(TARGET_ABI_DIR)/cpu_loop.o exit.o fd-trans.o
-
-obj-$(TARGET_HAS_BFLT) += flatload.o
-obj-$(TARGET_I386) += vm86.o
-obj-$(TARGET_ARM) += arm/nwfpe/
-obj-$(TARGET_ARM) += arm/semihost.o
-obj-$(TARGET_AARCH64) += arm/semihost.o
deleted file mode 100644
@@ -1,2 +0,0 @@
-obj-y = fpa11.o fpa11_cpdo.o fpa11_cpdt.o fpa11_cprt.o fpopcode.o
-obj-y += single_cpdo.o double_cpdo.o extended_cpdo.o
new file mode 100644
@@ -0,0 +1,10 @@
+linux_user_ss.add(when: 'TARGET_ARM', if_true: files(
+ 'double_cpdo.c',
+ 'extended_cpdo.c',
+ 'fpa11.c',
+ 'fpa11_cpdo.c',
+ 'fpa11_cpdt.c',
+ 'fpa11_cprt.c',
+ 'fpopcode.c',
+ 'single_cpdo.c',
+))
new file mode 100644
@@ -0,0 +1,22 @@
+linux_user_ss.add(files(
+ 'elfload.c',
+ 'exit.c',
+ 'fd-trans.c',
+ 'linuxload.c',
+ 'main.c',
+ 'mmap.c',
+ 'safe-syscall.S',
+ 'signal.c',
+ 'strace.c',
+ 'syscall.c',
+ 'uaccess.c',
+ 'uname.c',
+))
+linux_user_ss.add(rt)
+
+linux_user_ss.add(when: 'TARGET_AARCH64', if_true: files('arm/semihost.c'))
+linux_user_ss.add(when: 'TARGET_ARM', if_true: files('arm/semihost.c'))
+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'))
+
+subdir('arm/nwfpe')
@@ -655,6 +655,10 @@ subdir('net')
subdir('replay')
subdir('hw')
subdir('accel')
+subdir('linux-user')
+
+linux_user_ss.add(files('gdbstub.c', 'thunk.c'))
+specific_ss.add_all(when: 'CONFIG_LINUX_USER', if_true: linux_user_ss)
mods = []
block_mods = []
@@ -751,6 +755,11 @@ foreach target : target_dirs
base_dir,
base_dir / config_target['TARGET_ABI_DIR'],
)
+ if 'CONFIG_LINUX_USER' in config_target
+ dir = base_dir / config_target['TARGET_ABI_DIR']
+ target_inc += include_directories(base_dir / 'host' / config_target['ARCH'])
+ arch_srcs += files(dir / 'signal.c', dir / 'cpu_loop.c')
+ endif
endif
t = target_arch[arch].apply(config_target, strict: false)