meson: switch the meson builtin for symbol visiblity

This allows meson to check if the compiler supports gnu style symbol
visibility, and apply the appropriate flags as necessary, rather than us
adding them by hand

Signed-off-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
main
Dylan Baker 2022-01-19 10:42:20 -08:00
parent 847be2651f
commit 6b0b493555
8 changed files with 10 additions and 1 deletions

View File

@ -31,6 +31,7 @@ libdrm_etnaviv = library(
include_directories : [inc_root, inc_drm],
link_with : libdrm,
c_args : libdrm_c_args,
gnu_symbol_visibility : 'hidden',
dependencies : [dep_pthread_stubs, dep_rt, dep_atomic_ops],
version : '1.0.0',
install : true,

View File

@ -22,6 +22,7 @@ libdrm_exynos = library(
'drm_exynos',
[files('exynos_drm.c', 'exynos_fimg2d.c'), config_file],
c_args : libdrm_c_args,
gnu_symbol_visibility : 'hidden',
include_directories : [inc_root, inc_drm],
link_with : libdrm,
dependencies : [dep_pthread_stubs],

View File

@ -31,6 +31,7 @@ libdrm_intel = library(
link_with : libdrm,
dependencies : [dep_pciaccess, dep_pthread_stubs, dep_rt, dep_valgrind, dep_atomic_ops],
c_args : libdrm_c_args,
gnu_symbol_visibility : 'hidden',
version : '1.0.0',
install : true,
)
@ -64,6 +65,7 @@ test_decode = executable(
include_directories : [inc_root, inc_drm],
link_with : [libdrm, libdrm_intel],
c_args : libdrm_c_args,
gnu_symbol_visibility : 'hidden',
)
test(

View File

@ -241,8 +241,8 @@ foreach a : ['unused-parameter', 'attributes', 'long-long',
endforeach
# all c args:
libdrm_c_args = warn_c_args + ['-fvisibility=hidden']
libdrm_c_args = warn_c_args
dep_pciaccess = dependency('pciaccess', version : '>= 0.10', required : with_intel)
dep_cunit = dependency('cunit', version : '>= 2.1', required : false)
@ -323,6 +323,7 @@ libdrm = library(
include_directories : inc_drm,
install : true,
kwargs : libdrm_kw,
gnu_symbol_visibility : 'hidden',
)
test(

View File

@ -23,6 +23,7 @@ libdrm_nouveau = library(
'drm_nouveau',
[files( 'nouveau.c', 'pushbuf.c', 'bufctx.c', 'abi16.c'), config_file],
c_args : libdrm_c_args,
gnu_symbol_visibility : 'hidden',
include_directories : [inc_root, inc_drm],
link_with : libdrm,
dependencies : [dep_threads, dep_atomic_ops],

View File

@ -23,6 +23,7 @@ libdrm_omap = library(
[files('omap_drm.c'), config_file],
include_directories : [inc_root, inc_drm],
c_args : libdrm_c_args,
gnu_symbol_visibility : 'hidden',
link_with : libdrm,
dependencies : [dep_pthread_stubs, dep_atomic_ops],
version : '1.0.0',

View File

@ -29,6 +29,7 @@ libdrm_radeon = library(
config_file,
],
c_args : libdrm_c_args,
gnu_symbol_visibility : 'hidden',
include_directories : [inc_root, inc_drm],
link_with : libdrm,
dependencies : [dep_pthread_stubs, dep_atomic_ops],

View File

@ -25,6 +25,7 @@ libdrm_tegra = library(
link_with : libdrm,
dependencies : [dep_pthread_stubs, dep_atomic_ops],
c_args : libdrm_c_args,
gnu_symbol_visibility : 'hidden',
version : '0.0.0',
install : true,
)