summaryrefslogtreecommitdiff
path: root/linux-user/arm
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2019-08-18 16:13:08 +0400
committerPaolo Bonzini <pbonzini@redhat.com>2020-08-21 06:30:38 -0400
commit3a30446aed8497b5928576c6d1aedba557363934 (patch)
treecc670735d6eb7f2b66d4da3b5e1f91c7168bb766 /linux-user/arm
parent1a82878a0840ec963119fdf40895d87861884f40 (diff)
meson: linux-user
The most interesting or most complicated part here is the syscall_nr.h generators. In order to keep the generation logic all in meson.build, I am adding to config_target the name of the .tbl file, and making the generated file syscall<SUFFIX>_nr.h for input file syscall<SUFFIX>.tbl. For architectures where the input file is not named syscall_nr.tbl, syscall_nr.h has to be a source file; it's just a forwarder for x86 (i386/x86_64), while for MIPS64 it chooses between N32 and N64 ABIs. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'linux-user/arm')
-rw-r--r--linux-user/arm/Makefile.objs8
-rw-r--r--linux-user/arm/meson.build10
-rw-r--r--linux-user/arm/nwfpe/Makefile.objs2
-rw-r--r--linux-user/arm/nwfpe/meson.build10
4 files changed, 20 insertions, 10 deletions
diff --git a/linux-user/arm/Makefile.objs b/linux-user/arm/Makefile.objs
deleted file mode 100644
index c7eb94dcba..0000000000
--- a/linux-user/arm/Makefile.objs
+++ /dev/null
@@ -1,8 +0,0 @@
-obj-$(TARGET_ARM) += nwfpe/
-obj-$(TARGET_ARM) += semihost.o
-
-generated-files-y += linux-user/arm/syscall_nr.h
-
-syshdr := $(SRC_PATH)/linux-user/arm/syscallhdr.sh
-%/syscall_nr.h: $(SRC_PATH)/linux-user/arm/syscall.tbl $(syshdr)
- $(call quiet-command, sh $(syshdr) $< $@ $(TARGET_SYSTBL_ABI),"GEN","$@")
diff --git a/linux-user/arm/meson.build b/linux-user/arm/meson.build
new file mode 100644
index 0000000000..432984b58e
--- /dev/null
+++ b/linux-user/arm/meson.build
@@ -0,0 +1,10 @@
+linux_user_ss.add(when: 'TARGET_AARCH64', if_true: files('semihost.c'))
+linux_user_ss.add(when: 'TARGET_ARM', if_true: files('semihost.c'))
+
+subdir('nwfpe')
+
+syscall_nr_generators += {
+ 'arm': generator(sh,
+ arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@' ],
+ output: '@BASENAME@_nr.h')
+}
diff --git a/linux-user/arm/nwfpe/Makefile.objs b/linux-user/arm/nwfpe/Makefile.objs
deleted file mode 100644
index 51b0c32c2a..0000000000
--- a/linux-user/arm/nwfpe/Makefile.objs
+++ /dev/null
@@ -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
diff --git a/linux-user/arm/nwfpe/meson.build b/linux-user/arm/nwfpe/meson.build
new file mode 100644
index 0000000000..1c27e55f2a
--- /dev/null
+++ b/linux-user/arm/nwfpe/meson.build
@@ -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',
+))