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>
This commit is contained in:
Jose Fonseca 2020-03-10 17:26:35 +00:00 committed by Marge Bot
parent 4b61ad372d
commit f6dad10d04
2 changed files with 13 additions and 4 deletions

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

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