meson: Avoid duplicate symbols.
authorJose Fonseca <jfonseca@vmware.com>
Tue, 10 Mar 2020 17:26:35 +0000 (17:26 +0000)
committerMarge Bot <eric+marge@anholt.net>
Mon, 16 Mar 2020 11:52:26 +0000 (11:52 +0000)
All the stubs in src/compiler/glsl/glcpp/pp_standalone_scaffolding.c
are duplicate symbols.  They should only be used as replacement for
Mesa functions when building glcpp and glsl standalone compilers, but
in fact they are getting linked with Mesa.

This change fixes this by moving the standalone stubs to a
libglcpp_standalone target, that's only linked with the glcpp/glsl
tools.

Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Neha Bhende <bhenden@vmware.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4186>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4186>

src/compiler/glsl/glcpp/meson.build
src/compiler/glsl/meson.build

index 5f3d85735af623473688908fc4b41c99f5218190..81c8d65dca13a4fa23cad99a024abe8e6b8c8a27 100644 (file)
@@ -47,8 +47,7 @@ endif
 
 libglcpp = static_library(
   'glcpp',
-  [glcpp_lex, glcpp_parse, files('glcpp.h', 'pp.c',
-                                 'pp_standalone_scaffolding.c')],
+  [glcpp_lex, glcpp_parse, files('glcpp.h', 'pp.c')],
   dependencies : idep_mesautil,
   include_directories : [inc_common],
   c_args : [c_vis_args, no_override_init_args, c_msvc_compat_args, _extra_args],
@@ -56,12 +55,22 @@ libglcpp = static_library(
   build_by_default : false,
 )
 
+libglcpp_standalone = static_library(
+  'glcpp_standalone',
+  'pp_standalone_scaffolding.c',
+  link_with : libglcpp,
+  include_directories : [inc_common],
+  c_args : [c_vis_args, no_override_init_args, c_msvc_compat_args, _extra_args],
+  cpp_args : [cpp_vis_args, cpp_msvc_compat_args, _extra_args],
+  build_by_default : false,
+)
+
 glcpp = executable(
   'glcpp',
   'glcpp.c',
   dependencies : [dep_m, idep_getopt],
   include_directories : [inc_common],
-  link_with : [libglcpp, libglsl_util],
+  link_with : [libglcpp_standalone, libglsl_util],
   c_args : [c_vis_args, no_override_init_args, c_msvc_compat_args],
   build_by_default : false,
 )
index ea3e7beaa0c7fae6bd902823578e67af07e3f201..3f03d27511d74c5715397b2bec0d16603bc3cddf 100644 (file)
@@ -240,7 +240,7 @@ libglsl_standalone = static_library(
   c_args : [c_vis_args, c_msvc_compat_args, no_override_init_args],
   cpp_args : [cpp_vis_args, cpp_msvc_compat_args],
   include_directories : [inc_common],
-  link_with : [libglsl, libglsl_util],
+  link_with : [libglsl, libglsl_util, libglcpp_standalone],
   dependencies : [idep_mesautil, idep_getopt],
   build_by_default : false,
 )