diff --git a/src/d3d10/d3d10core.sym b/src/d3d10/d3d10core.sym new file mode 100644 index 000000000..ba6ccb596 --- /dev/null +++ b/src/d3d10/d3d10core.sym @@ -0,0 +1,9 @@ +{ + global: + D3D10CoreCreateDevice; + D3D10CoreGetVersion; + D3D10CoreRegisterLayers; + + local: + *; +}; diff --git a/src/d3d10/meson.build b/src/d3d10/meson.build index 1ef0167f4..fca2f82b5 100644 --- a/src/d3d10/meson.build +++ b/src/d3d10/meson.build @@ -4,12 +4,22 @@ d3d10_core_src = [ 'd3d10_core.cpp', ] +d3d10_core_ld_args = [] +d3d10_core_link_depends = [] + +if platform != 'windows' + d3d10_core_ld_args += [ '-Wl,--version-script', join_paths(meson.current_source_dir(), 'd3d10core.sym') ] + d3d10_core_link_depends += files('d3d10core.sym') +endif + d3d10_core_dll = shared_library('d3d10core'+dll_ext, d3d10_core_src, d3d10_core_res, name_prefix : dxvk_name_prefix, dependencies : [ d3d11_dep ], include_directories : dxvk_include_path, install : true, vs_module_defs : 'd3d10core'+def_spec_ext, + link_args : d3d10_core_ld_args, + link_depends : [ d3d10_core_link_depends ], ) d3d10_core_dep = declare_dependency( diff --git a/src/meson.build b/src/meson.build index f4de1099c..f641ac046 100644 --- a/src/meson.build +++ b/src/meson.build @@ -20,14 +20,10 @@ if get_option('enable_d3d11') endif if get_option('enable_d3d10') - if platform == 'windows' - if not get_option('enable_d3d11') - error('D3D11 is required for D3D10.') - endif - subdir('d3d10') - else - warning('Building D3D10 is not supported on non-Windows platforms') + if not get_option('enable_d3d11') + error('D3D11 is required for D3D10.') endif + subdir('d3d10') endif if get_option('enable_d3d9')