summaryrefslogtreecommitdiff
path: root/test cases/nasm
diff options
context:
space:
mode:
authorL. E. Segovia <amy@amyspark.me>2023-04-25 21:39:40 +0000
committerL. E. Segovia <amy@amyspark.me>2024-04-09 22:11:04 -0300
commit53ec050e3606d26f847209bd2b4703cd0b23289a (patch)
tree014c952446ddff85843b3ee04b6f7edf3be440b3 /test cases/nasm
parentaf40f98d87caafee65b9189b89f8858b518dc2b3 (diff)
downloadmeson-53ec050e3606d26f847209bd2b4703cd0b23289a.tar.gz
nasm test: Add a test for validating the Xcode backend
Diffstat (limited to 'test cases/nasm')
-rw-r--r--test cases/nasm/4 through configure/dummy.asm.in4
-rw-r--r--test cases/nasm/4 through configure/dummy.def2
-rw-r--r--test cases/nasm/4 through configure/meson.build30
3 files changed, 36 insertions, 0 deletions
diff --git a/test cases/nasm/4 through configure/dummy.asm.in b/test cases/nasm/4 through configure/dummy.asm.in
new file mode 100644
index 000000000..5be150e44
--- /dev/null
+++ b/test cases/nasm/4 through configure/dummy.asm.in
@@ -0,0 +1,4 @@
+global dummy
+section .rodata align=16
+dummy:
+ dd 0x00010203
diff --git a/test cases/nasm/4 through configure/dummy.def b/test cases/nasm/4 through configure/dummy.def
new file mode 100644
index 000000000..8f8eb9959
--- /dev/null
+++ b/test cases/nasm/4 through configure/dummy.def
@@ -0,0 +1,2 @@
+EXPORTS
+ dummy
diff --git a/test cases/nasm/4 through configure/meson.build b/test cases/nasm/4 through configure/meson.build
new file mode 100644
index 000000000..373810f5f
--- /dev/null
+++ b/test cases/nasm/4 through configure/meson.build
@@ -0,0 +1,30 @@
+project('through configure')
+
+if not add_languages('nasm', required: false)
+ error('MESON_SKIP_TEST: nasm not found')
+endif
+
+if not host_machine.cpu_family().startswith('x86')
+ assert(not add_languages('nasm', required: false))
+ error('MESON_SKIP_TEST: nasm only supported for x86 and x86_64')
+endif
+
+if meson.backend().startswith('vs')
+ error('MESON_SKIP_TEST: VS backend does not recognise NASM yet')
+endif
+
+section = host_machine.system() == 'macos' ? '.rodata' : '.rdata'
+
+sources = configure_file(
+ input: 'dummy.asm.in',
+ output: 'dummy.asm',
+ configuration: {
+ 'section': section
+ }
+)
+
+dummy = library(
+ 'dummy',
+ sources,
+ vs_module_defs: 'dummy.def',
+)