From 906dcb56e11fcf35b897157fc7c85631c347fd53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 21 Feb 2025 01:04:03 -0500 Subject: [PATCH] glx: make it more obvious what libglapi_bridge is Reviewed-by: Adam Jackson Part-of: --- src/gallium/targets/libgl-xlib/meson.build | 2 +- src/gallium/targets/osmesa/meson.build | 2 +- src/gallium/targets/wgl/meson.build | 2 +- src/glx/meson.build | 10 +++++++++- src/mapi/glapi/meson.build | 4 +--- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/gallium/targets/libgl-xlib/meson.build b/src/gallium/targets/libgl-xlib/meson.build index a8fbae7bf1c..5c22cf8d26f 100644 --- a/src/gallium/targets/libgl-xlib/meson.build +++ b/src/gallium/targets/libgl-xlib/meson.build @@ -27,7 +27,7 @@ libgl = shared_library( gnu_symbol_visibility : 'hidden', link_args : [ld_args_bsymbolic, ld_args_gc_sections, gallium_xlib_ld_args], link_depends : gallium_xlib_link_depends, - link_whole : [libxlib, libglapi_static], + link_whole : [libxlib, (with_shared_glapi ? libglapi_bridge : libglapi_static)], link_with : [ libgalliumvl_stub, libws_xlib, libgallium, libmesa, gallium_xlib_link_with, diff --git a/src/gallium/targets/osmesa/meson.build b/src/gallium/targets/osmesa/meson.build index 3c371616e7e..8808fce001b 100644 --- a/src/gallium/targets/osmesa/meson.build +++ b/src/gallium/targets/osmesa/meson.build @@ -33,7 +33,7 @@ libosmesa = shared_library( inc_gallium_drivers, ], link_depends : osmesa_link_deps, - link_whole : [libosmesa_st, libglapi_static], + link_whole : [libosmesa_st, (with_shared_glapi ? libglapi_bridge : libglapi_static)], link_with : [ libmesa, libgallium, libws_null, osmesa_link_with, ], diff --git a/src/gallium/targets/wgl/meson.build b/src/gallium/targets/wgl/meson.build index ec0d7bbcd82..db040e286c5 100644 --- a/src/gallium/targets/wgl/meson.build +++ b/src/gallium/targets/wgl/meson.build @@ -20,7 +20,7 @@ libgallium_wgl = shared_library( ], link_whole : [libwgl], link_with : [ - libgallium, libglsl, libmesa, libwsgdi, libglapi_static, libglapi, libgalliumvl_stub, + libgallium, libglsl, libmesa, libwsgdi, (with_shared_glapi ? libglapi_bridge : libglapi_static), libglapi, libgalliumvl_stub, ], dependencies : [ dep_ws2_32, idep_nir, idep_mesautil, driver_swrast, diff --git a/src/glx/meson.build b/src/glx/meson.build index 3315a7843fa..d6462d60464 100644 --- a/src/glx/meson.build +++ b/src/glx/meson.build @@ -130,10 +130,18 @@ libglx = static_library( ], ) +if with_shared_glapi + # libglapi_bridge contains GL functions that we need to export from libGL.so. + # Other than that, we don't need it. + libgl_link = with_glvnd ? [] : [libglapi_bridge] +else + libgl_link = libglapi_static +endif + libgl = shared_library( gl_lib_name, [], - link_with : [libglapi_static], + link_with : libgl_link, link_whole : libglx, link_args : [ld_args_bsymbolic, ld_args_gc_sections, extra_ld_args_libgl], dependencies : [ diff --git a/src/mapi/glapi/meson.build b/src/mapi/glapi/meson.build index 17042de491c..4050abd9bcb 100644 --- a/src/mapi/glapi/meson.build +++ b/src/mapi/glapi/meson.build @@ -67,9 +67,7 @@ libglapi_bridge = static_library( build_by_default : false, ) -if with_shared_glapi - libglapi_static = libglapi_bridge -else +if not with_shared_glapi libglapi_static = static_library( 'glapi_static', static_glapi_files,