meson: Avoid duplicate symbols.

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>
(cherry picked from commit f6dad10d04)
This commit is contained in:
Jose Fonseca 2020-03-10 17:26:35 +00:00 committed by Dylan Baker
parent 3cfca286af
commit 9a9413a7c5
3 changed files with 14 additions and 5 deletions

View file

@ -103,7 +103,7 @@
"description": "meson: Avoid duplicate symbols.",
"nominated": false,
"nomination_type": null,
"resolution": 4,
"resolution": 1,
"master_sha": null,
"because_sha": null
},

View 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,
)

View file

@ -239,7 +239,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,
)