vk: move radv's linker symbols scripts for use in all drivers

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21631>
This commit is contained in:
Eric Engestrom 2023-03-03 16:40:57 +00:00 committed by Marge Bot
parent 938f7a48b2
commit 78578a6ddb
4 changed files with 17 additions and 17 deletions

View file

@ -164,21 +164,6 @@ if with_platform_android
radv_deps += dep_android
endif
# When static linking LLVM, all its symbols are public API.
# That may cause symbol collision, so explicitly demote everything.
libvulkan_radeon_ld_args = []
libvulkan_radeon_link_depends = []
if with_ld_version_script
if with_platform_android
libvulkan_radeon_ld_args += ['-Wl,--version-script', join_paths(meson.current_source_dir(), 'vulkan-android.sym')]
libvulkan_radeon_link_depends += files('vulkan-android.sym')
else
libvulkan_radeon_ld_args += ['-Wl,--version-script', join_paths(meson.current_source_dir(), 'vulkan.sym')]
libvulkan_radeon_link_depends += files('vulkan.sym')
endif
endif
radv_build_id = get_option('radv-build-id')
if radv_build_id != ''
radv_flags += '-DRADV_BUILD_ID_OVERRIDE="' + radv_build_id + '"'
@ -204,9 +189,9 @@ libvulkan_radeon = shared_library(
c_args : [no_override_init_args, radv_flags, c_msvc_compat_args],
cpp_args : [radv_flags, cpp_msvc_compat_args],
link_args : [
ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections, libvulkan_radeon_ld_args,
ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections, vulkan_icd_link_args,
],
link_depends : [libvulkan_radeon_link_depends,],
link_depends : vulkan_icd_link_depends,
gnu_symbol_visibility : 'hidden',
name_prefix : host_machine.system() == 'windows' ? '' : [],
install : true,

View file

@ -21,6 +21,21 @@
vk_api_xml = files('registry/vk.xml')
vulkan_icd_symbols = files('vulkan-icd-symbols.txt')
vulkan_icd_link_args = []
vulkan_icd_link_depends = []
if with_platform_android
if with_ld_version_script
vulkan_icd_link_args += ['-Wl,--version-script', join_paths(meson.current_source_dir(), 'vulkan-android.sym')]
vulkan_icd_link_depends += files('vulkan-android.sym')
endif
else
if with_ld_version_script
vulkan_icd_link_args += ['-Wl,--version-script', join_paths(meson.current_source_dir(), 'vulkan.sym')]
vulkan_icd_link_depends += files('vulkan.sym')
endif
endif
inc_vulkan_util = include_directories('util')
vulkan_wsi_deps = []