diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2024-04-14 12:57:10 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-14 12:57:10 +0300 |
commit | 1dcffb635f3ba3dae63e6aa1b61d3cf56c9cc49b (patch) | |
tree | 3e99f04c2f6bec5d785e512e3e5f524074d06221 /test cases | |
parent | 4e6bed6eb0ab1fe7ae93c7f99176be0cd17d8b22 (diff) | |
parent | 6c090cab510368e5a678ac3d3b1c59fba1b182f5 (diff) | |
download | meson-1dcffb635f3ba3dae63e6aa1b61d3cf56c9cc49b.zip meson-1dcffb635f3ba3dae63e6aa1b61d3cf56c9cc49b.tar.gz meson-1dcffb635f3ba3dae63e6aa1b61d3cf56c9cc49b.tar.bz2 |
Merge pull request #11737 from amyspark/amyspark/add-nasm-building-rules-to-xcode
backends: Add Nasm build rules to Xcode
Diffstat (limited to 'test cases')
-rw-r--r-- | test cases/nasm/1 configure file/meson.build | 18 | ||||
-rw-r--r-- | test cases/nasm/2 asm language/meson.build | 6 | ||||
-rw-r--r-- | test cases/nasm/3 nasm only/meson.build | 4 | ||||
-rw-r--r-- | test cases/nasm/4 through configure/dummy.asm.in | 4 | ||||
-rw-r--r-- | test cases/nasm/4 through configure/dummy.def | 2 | ||||
-rw-r--r-- | test cases/nasm/4 through configure/meson.build | 30 |
6 files changed, 52 insertions, 12 deletions
diff --git a/test cases/nasm/1 configure file/meson.build b/test cases/nasm/1 configure file/meson.build index 85ecaf1..fac46a6 100644 --- a/test cases/nasm/1 configure file/meson.build +++ b/test cases/nasm/1 configure file/meson.build @@ -1,15 +1,17 @@ project('nasm config file', 'c') -if host_machine.cpu_family() == 'x86' and host_machine.system() == 'windows' - asm_format = 'win32' -elif host_machine.cpu_family() == 'x86_64' and host_machine.system() == 'windows' - asm_format = 'win64' -elif host_machine.cpu_family() == 'x86' and host_machine.system() == 'linux' +if not host_machine.cpu_family().startswith('x86') + error('MESON_SKIP_TEST: nasm only supported for x86 and x86_64') +endif + +if host_machine.system() != 'linux' + error('MESON_SKIP_TEST: this test asm is made for Linux') +endif + +if host_machine.cpu_family() == 'x86' asm_format = 'elf32' -elif host_machine.cpu_family() == 'x86_64' and host_machine.system() == 'linux' - asm_format = 'elf64' else - error('MESON_SKIP_TEST: skipping test on this platform') + asm_format = 'elf64' endif nasm = find_program('nasm', required: false) diff --git a/test cases/nasm/2 asm language/meson.build b/test cases/nasm/2 asm language/meson.build index d025d43..d5a2ba3 100644 --- a/test cases/nasm/2 asm language/meson.build +++ b/test cases/nasm/2 asm language/meson.build @@ -5,10 +5,8 @@ if not host_machine.cpu_family().startswith('x86') error('MESON_SKIP_TEST: nasm only supported for x86 and x86_64') endif -if host_machine.system() == 'windows' - error('MESON_SKIP_TEST: this test asm is not made for Windows') -elif host_machine.system() == 'sunos' - error('MESON_SKIP_TEST: this test asm is not made for Solaris or illumos') +if host_machine.system() != 'linux' + error('MESON_SKIP_TEST: this test asm is made for Linux') endif if meson.backend().startswith('vs') diff --git a/test cases/nasm/3 nasm only/meson.build b/test cases/nasm/3 nasm only/meson.build index 9777291..18b980d 100644 --- a/test cases/nasm/3 nasm only/meson.build +++ b/test cases/nasm/3 nasm only/meson.build @@ -4,6 +4,10 @@ if not add_languages('nasm', required: false) error('MESON_SKIP_TEST: nasm not found') endif +if not ['linux', 'windows'].contains(host_machine.system()) + error('MESON_SKIP_TEST: this test asm is made for Windows and Linux') +endif + if meson.backend().startswith('vs') error('MESON_SKIP_TEST: VS backend does not recognise NASM yet') endif 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 0000000..5be150e --- /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 0000000..8f8eb99 --- /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 0000000..373810f --- /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', +) |