diff --git a/meson.build b/meson.build index 63d5eb71c..724b3aeeb 100644 --- a/meson.build +++ b/meson.build @@ -68,8 +68,8 @@ if platform == 'windows' if cpu_family == 'x86' link_args += [ '-Wl,--enable-stdcall-fixup', - '-Wl,--add-stdcall-alias', - ] + '-Wl,--kill-at', + ] endif lib_d3d9 = cpp.find_library('d3d9') diff --git a/src/d3d10/meson.build b/src/d3d10/meson.build index fca2f82b5..51db067c0 100644 --- a/src/d3d10/meson.build +++ b/src/d3d10/meson.build @@ -7,14 +7,17 @@ d3d10_core_src = [ d3d10_core_ld_args = [] d3d10_core_link_depends = [] -if platform != 'windows' +if platform == 'windows' + d3d10_d3d11_dep = lib_d3d11 +else d3d10_core_ld_args += [ '-Wl,--version-script', join_paths(meson.current_source_dir(), 'd3d10core.sym') ] d3d10_core_link_depends += files('d3d10core.sym') + d3d10_d3d11_dep = d3d11_dep endif d3d10_core_dll = shared_library('d3d10core'+dll_ext, d3d10_core_src, d3d10_core_res, name_prefix : dxvk_name_prefix, - dependencies : [ d3d11_dep ], + dependencies : [ d3d10_d3d11_dep ], include_directories : dxvk_include_path, install : true, vs_module_defs : 'd3d10core'+def_spec_ext, diff --git a/src/d3d11/meson.build b/src/d3d11/meson.build index 4b71df30a..9b51e6ead 100644 --- a/src/d3d11/meson.build +++ b/src/d3d11/meson.build @@ -69,15 +69,18 @@ d3d11_shaders = files([ d3d11_ld_args = [] d3d11_link_depends = [] -if platform != 'windows' +if platform == 'windows' + d3d11_dxgi_dep = lib_dxgi +else d3d11_ld_args += [ '-Wl,--version-script', join_paths(meson.current_source_dir(), 'd3d11.sym') ] d3d11_link_depends += files('d3d11.sym') + d3d11_dxgi_dep = dxgi_dep endif d3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(d3d11_shaders), d3d11_res, name_prefix : dxvk_name_prefix, - dependencies : [ dxgi_dep, dxbc_dep, dxvk_dep ], + dependencies : [ d3d11_dxgi_dep, dxbc_dep, dxvk_dep ], include_directories : dxvk_include_path, install : true, vs_module_defs : 'd3d11'+def_spec_ext, diff --git a/src/d3d9/d3d9_include.h b/src/d3d9/d3d9_include.h index 2492f3ae2..9e67e577e 100644 --- a/src/d3d9/d3d9_include.h +++ b/src/d3d9/d3d9_include.h @@ -12,9 +12,9 @@ //for some reason we need to specify __declspec(dllexport) for MinGW #if defined(__WINE__) || !defined(_WIN32) -#define DLLEXPORT __attribute__((visibility("default"))) + #define DLLEXPORT __attribute__((visibility("default"))) #else -#define DLLEXPORT + #define DLLEXPORT #endif diff --git a/src/dxgi/dxgi_include.h b/src/dxgi/dxgi_include.h index d11445e06..3d60938b9 100644 --- a/src/dxgi/dxgi_include.h +++ b/src/dxgi/dxgi_include.h @@ -3,10 +3,8 @@ //for some reason we need to specify __declspec(dllexport) for MinGW #if defined(__WINE__) || !defined(_WIN32) #define DLLEXPORT __attribute__((visibility("default"))) -#elif defined(_MSC_VER) - #define DLLEXPORT #else - #define DLLEXPORT __declspec(dllexport) + #define DLLEXPORT #endif #include "../util/com/com_guid.h"