From 552da8569bca9ea5238bcbdad7432b8f7c0837b9 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Tue, 24 Nov 2020 22:11:50 +0530 Subject: [PATCH] deinterlace: Enable x86 assembly with nasm on MSVC We need to remove x86inc.asm from the list of compiled assembly files because it is not supposed to be compiled separately. It is directly included by yadif.asm, and it exports no symbols. The object file was getting ignored on all platforms except on msvc where it was causing a linker hang when building with debugging enabled because the object file had no debug symbols (or similar). We've seen this before in FFmpeg too, which uses nasm: https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/merge_requests/46 Part-of: --- gst/deinterlace/meson.build | 3 +-- meson.build | 4 +--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/gst/deinterlace/meson.build b/gst/deinterlace/meson.build index 49c915c69b..4c747b7659 100644 --- a/gst/deinterlace/meson.build +++ b/gst/deinterlace/meson.build @@ -65,8 +65,7 @@ if have_nasm and host_cpu == 'x86_64' else asm_outformat = 'elf64' endif - asm_x = files('x86/yadif.asm', - 'x86/x86inc.asm') + asm_x = files('x86/yadif.asm') asm_stackalign_def = '-DSTACK_ALIGNMENT=64' asm_incdir = 'x86' diff --git a/meson.build b/meson.build index 583082e7e1..97f76a4d86 100644 --- a/meson.build +++ b/meson.build @@ -373,9 +373,7 @@ have_nasm = false # FIXME: nasm path needs testing on non-Linux, esp. Windows host_cpu = host_machine.cpu_family() if host_cpu == 'x86_64' - if cc.get_id() == 'msvc' - message('Nasm disabled on MSVC') - elif cc.get_define('__ILP32__') == '1' + if cc.get_define('__ILP32__') == '1' message('Nasm disabled on x32') else asm_option = get_option('asm')