meson: For MSVC, suppress warnings generated by useless delayloads

LLVM's tools delayload some OS DLLs to improve process startup times,
but they put the delayload in the exported linker args that Meson picks
up and then applies to all libraries that link against LLVM. Since our
binaries don't link against the OS libs that are being delayloaded, that
generates a "useless delayload" warning.

Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10157>
This commit is contained in:
Jesse Natalie
2021-04-10 12:14:19 -07:00
committed by Marge Bot
parent 8cc3100226
commit 99dde83a3e

View File

@@ -1636,6 +1636,14 @@ if with_llvm
cpp_args += '-fno-rtti' cpp_args += '-fno-rtti'
endif endif
endif endif
if cc.get_id() == 'msvc'
# Suppress "/DELAYLOAD:ole32.dll/shell32.dll ignored" warnings that LLVM adds
add_project_link_arguments(
'/ignore:4199',
language : ['c', 'cpp'],
)
endif
elif with_amd_vk or with_gallium_radeonsi or with_gallium_swr or with_swrast_vk elif with_amd_vk or with_gallium_radeonsi or with_gallium_swr or with_swrast_vk
error('The following drivers require LLVM: Radv, RadeonSI, SWR, Lavapipe. One of these is enabled, but LLVM is disabled.') error('The following drivers require LLVM: Radv, RadeonSI, SWR, Lavapipe. One of these is enabled, but LLVM is disabled.')
elif with_gallium_opencl elif with_gallium_opencl