aboutsummaryrefslogtreecommitdiff
path: root/linux-user/x86_64
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/x86_64
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/x86_64')
-rw-r--r--linux-user/x86_64/Makefile.objs5
-rw-r--r--linux-user/x86_64/meson.build5
-rw-r--r--linux-user/x86_64/syscall_nr.h1
3 files changed, 6 insertions, 5 deletions
diff --git a/linux-user/x86_64/Makefile.objs b/linux-user/x86_64/Makefile.objs
deleted file mode 100644
index 2cef1d48be..0000000000
--- a/linux-user/x86_64/Makefile.objs
+++ /dev/null
@@ -1,5 +0,0 @@
-generated-files-y += linux-user/x86_64/syscall_nr.h
-
-syshdr := $(SRC_PATH)/linux-user/x86_64/syscallhdr.sh
-%/syscall_nr.h: $(SRC_PATH)/linux-user/x86_64/syscall_64.tbl $(syshdr)
- $(call quiet-command, sh $(syshdr) $< $@ $(TARGET_SYSTBL_ABI),"GEN","$@")
diff --git a/linux-user/x86_64/meson.build b/linux-user/x86_64/meson.build
new file mode 100644
index 0000000000..203af9a60c
--- /dev/null
+++ b/linux-user/x86_64/meson.build
@@ -0,0 +1,5 @@
+syscall_nr_generators += {
+ 'x86_64': generator(sh,
+ arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@' ],
+ output: '@BASENAME@_nr.h')
+}
diff --git a/linux-user/x86_64/syscall_nr.h b/linux-user/x86_64/syscall_nr.h
new file mode 100644
index 0000000000..760302cb3e
--- /dev/null
+++ b/linux-user/x86_64/syscall_nr.h
@@ -0,0 +1 @@
+#include "syscall_64_nr.h"