From c57e63f7d297c3f29ca0b34d93960fb414cf633c Mon Sep 17 00:00:00 2001 From: orbea Date: Thu, 5 Sep 2019 09:01:33 -0700 Subject: [PATCH] Work around build failure with winegcc/clang. (#1184) Fixes #1182. --- build-wine32.txt | 2 +- build-wine64.txt | 2 +- meson.build | 3 +++ src/util/util_bit.h | 9 ++++++++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/build-wine32.txt b/build-wine32.txt index db9d069c6..9f13dbdf9 100644 --- a/build-wine32.txt +++ b/build-wine32.txt @@ -8,7 +8,7 @@ strip = 'strip' needs_exe_wrapper = true c_args=['-m32', '-msse', '-msse2', '-fvisibility=hidden'] -cpp_args=['-m32', '--no-gnu-unique', '-msse', '-msse2', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C='] +cpp_args=['-m32', '-msse', '-msse2', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C='] cpp_link_args=['-m32', '-mwindows'] [host_machine] diff --git a/build-wine64.txt b/build-wine64.txt index 0809caec8..fd7be2f8d 100644 --- a/build-wine64.txt +++ b/build-wine64.txt @@ -8,7 +8,7 @@ strip = 'strip' needs_exe_wrapper = true c_args=['-m64', '-fvisibility=hidden'] -cpp_args=['-m64', '--no-gnu-unique', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C='] +cpp_args=['-m64', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C='] cpp_link_args=['-m64', '-mwindows'] [host_machine] diff --git a/meson.build b/meson.build index eddfc0bcb..243634316 100644 --- a/meson.build +++ b/meson.build @@ -33,6 +33,9 @@ dxvk_winelib = dxvk_compiler.compiles(code, name: 'winelib check') dxvk_extradep = [ ] if dxvk_winelib + if dxvk_compiler.has_argument('--no-gnu-unique') + add_project_arguments('--no-gnu-unique', language : ['cpp']) + endif wrc = find_program('wrc') lib_vulkan = declare_dependency(link_args: [ '-lwinevulkan' ]) lib_d3d11 = declare_dependency(link_args: [ '-ld3d11' ]) diff --git a/src/util/util_bit.h b/src/util/util_bit.h index 421912989..1bad55c36 100644 --- a/src/util/util_bit.h +++ b/src/util/util_bit.h @@ -1,7 +1,14 @@ #pragma once #ifndef _MSC_VER +#if defined(__WINE__) && defined(__clang__) +#pragma push_macro("_WIN32") +#undef _WIN32 +#endif #include +#if defined(__WINE__) && defined(__clang__) +#pragma pop_macro("_WIN32") +#endif #else #include #endif @@ -73,4 +80,4 @@ namespace dxvk::bit { return shift > Bits ? shift - Bits : 0; } -} \ No newline at end of file +}