Signed-off-by: Pierrick Bouvier <[email protected]>
---
tests/tcg/alpha/Makefile.target | 18 -----------
tests/tcg/alpha/meson.build | 53 +++++++++++++++++++++++++++++++++
tests/tcg/meson.build | 1 +
3 files changed, 54 insertions(+), 18 deletions(-)
delete mode 100644 tests/tcg/alpha/Makefile.target
create mode 100644 tests/tcg/alpha/meson.build
diff --git a/tests/tcg/alpha/Makefile.target b/tests/tcg/alpha/Makefile.target
deleted file mode 100644
index 36d8ed1eaea..00000000000
--- a/tests/tcg/alpha/Makefile.target
+++ /dev/null
@@ -1,18 +0,0 @@
-# -*- Mode: makefile -*-
-#
-# Alpha specific tweaks
-
-ALPHA_SRC=$(SRC_PATH)/tests/tcg/alpha
-VPATH+=$(ALPHA_SRC)
-
-ALPHA_TESTS=hello-alpha test-cond test-cmov test-ovf test-cvttq
-TESTS+=$(ALPHA_TESTS)
-
-test-cmov: EXTRA_CFLAGS=-DTEST_CMOV
-test-cmov: test-cond.c
- $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
-
-# Force generation of byte read/write
-test-plugin-mem-access: CFLAGS+=-mbwx
-
-run-test-cmov: test-cmov
diff --git a/tests/tcg/alpha/meson.build b/tests/tcg/alpha/meson.build
new file mode 100644
index 00000000000..08e371116c3
--- /dev/null
+++ b/tests/tcg/alpha/meson.build
@@ -0,0 +1,53 @@
+cc = 'alpha-linux-gnu-gcc'
+cc_dockerfile = 'debian-all-test-cross'
+cc_docker_host_arch = ['aarch64', 'x86_64']
+
+tests = []
+
+# Multi arch tests
+multi_src = []
+foreach t: tcg_tests['multiarch-linux-user']['tests']
+ foreach src, setup: t
+ new_cflags = []
+ if 'cflags' in setup
+ new_cflags = setup['cflags']
+ endif
+ # Force generation of byte read/write
+ if fs.stem(src) == 'test-plugin-mem-access'
+ new_cflags += ['-mbwx']
+ endif
+ if src not in multi_src
+ setup += {'cflags': new_cflags}
+ multi_src += src
+ endif
+ tests += {src: setup}
+ endforeach
+endforeach
+
+tests += {
+ 'hello-alpha.c': {},
+ 'test-cond.c': {},
+ 'test-cvttq.c': {},
+ 'test-ovf.c': {},
+}
+
+tests += {
+ 'test-cond.c': {
+ 'cflags': ['-DTEST_CMOV'],
+ 'exe_name': 'test-cmov'
+ },
+}
+
+if 'qemu-alpha' in emulators
+ tcg_tests += {
+ 'alpha-linux-user': {
+ 'cc': cc,
+ 'cc_dockerfile': cc_dockerfile,
+ 'cc_docker_host_arch': cc_docker_host_arch,
+ 'folder': 'alpha',
+ 'gdb_arch': 'alpha',
+ 'qemu': emulators['qemu-alpha'],
+ 'tests': tests,
+ }
+ }
+endif
diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build
index 1996fb0cdf8..45f53fbd8df 100644
--- a/tests/tcg/meson.build
+++ b/tests/tcg/meson.build
@@ -135,6 +135,7 @@ endforeach
# Now let's go through all architectures
subdir('aarch64')
subdir('aarch64_be')
+subdir('alpha')
image_targets = {}
exe_targets = []
--
2.47.3