From a8e2d79e0228106d11b6ceeb38f4ffb587f0a819 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Fri, 24 Apr 2020 13:10:41 -0700 Subject: meson: use gnu_symbol_visibility argument This uses a meson builtin to handle -fvisibility=hidden. This is nice because we don't need to track which languages are used, if C++ is suddenly added meson just does the right thing. Acked-by: Matt Turner Reviewed-by: Eric Engestrom Part-of: --- src/gallium/drivers/etnaviv/meson.build | 2 +- src/gallium/drivers/freedreno/meson.build | 7 ++++--- src/gallium/drivers/i915/meson.build | 2 +- src/gallium/drivers/iris/meson.build | 8 +++++--- src/gallium/drivers/llvmpipe/meson.build | 5 +++-- src/gallium/drivers/nouveau/meson.build | 3 +-- src/gallium/drivers/panfrost/meson.build | 3 ++- src/gallium/drivers/r300/meson.build | 2 +- src/gallium/drivers/r600/meson.build | 4 ++-- src/gallium/drivers/radeonsi/meson.build | 4 ++-- src/gallium/drivers/softpipe/meson.build | 3 ++- src/gallium/drivers/svga/meson.build | 3 ++- src/gallium/drivers/swr/meson.build | 13 +++++++++++-- src/gallium/drivers/tegra/meson.build | 2 +- src/gallium/drivers/v3d/meson.build | 12 +++++++----- src/gallium/drivers/vc4/meson.build | 4 ++-- src/gallium/drivers/virgl/meson.build | 2 +- src/gallium/drivers/zink/meson.build | 2 +- 18 files changed, 49 insertions(+), 32 deletions(-) (limited to 'src/gallium/drivers') diff --git a/src/gallium/drivers/etnaviv/meson.build b/src/gallium/drivers/etnaviv/meson.build index 102797807be..e4adbf30b52 100644 --- a/src/gallium/drivers/etnaviv/meson.build +++ b/src/gallium/drivers/etnaviv/meson.build @@ -98,7 +98,7 @@ files_etnaviv = files( libetnaviv = static_library( 'etnaviv', files_etnaviv, - c_args : [c_vis_args], + gnu_symbol_visibility : 'hidden', include_directories : [ inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_etnaviv, ], diff --git a/src/gallium/drivers/freedreno/meson.build b/src/gallium/drivers/freedreno/meson.build index 8284f5e1a6d..bb1ffa67cb0 100644 --- a/src/gallium/drivers/freedreno/meson.build +++ b/src/gallium/drivers/freedreno/meson.build @@ -226,7 +226,7 @@ freedreno_includes = [ inc_freedreno, include_directories('ir3'), ] -freedreno_c_args = [ c_vis_args, no_override_init_args ] +freedreno_c_args = [no_override_init_args] if cc.has_argument('-Wpacked-bitfield-compat') freedreno_c_args += '-Wno-packed-bitfield-compat' endif @@ -240,8 +240,9 @@ libfreedreno = static_library( 'freedreno', [files_libfreedreno, freedreno_xml_header_files], include_directories : freedreno_includes, - c_args : [freedreno_c_args, c_vis_args], - cpp_args : [freedreno_cpp_args, cpp_vis_args], + c_args : [freedreno_c_args], + cpp_args : [freedreno_cpp_args], + gnu_symbol_visibility : 'hidden', dependencies : [dep_libdrm, idep_nir_headers], ) diff --git a/src/gallium/drivers/i915/meson.build b/src/gallium/drivers/i915/meson.build index 77f44a979dc..5bb97ede214 100644 --- a/src/gallium/drivers/i915/meson.build +++ b/src/gallium/drivers/i915/meson.build @@ -65,7 +65,7 @@ files_i915 = files( libi915 = static_library( 'i915', files_i915, - c_args : [c_vis_args], + gnu_symbol_visibility : 'hidden', include_directories : [inc_include, inc_src, inc_gallium, inc_gallium_aux], ) diff --git a/src/gallium/drivers/iris/meson.build b/src/gallium/drivers/iris/meson.build index 34b43245f34..a6712d2fe64 100644 --- a/src/gallium/drivers/iris/meson.build +++ b/src/gallium/drivers/iris/meson.build @@ -73,9 +73,10 @@ foreach v : ['80', '90', '100', '110', '120'] ['iris_blorp.c', 'iris_query.c', 'iris_state.c', gen_xml_pack], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_intel], c_args : [ - c_vis_args, no_override_init_args, c_sse2_args, + no_override_init_args, c_sse2_args, '-DGEN_VERSIONx10=@0@'.format(v), ], + gnu_symbol_visibility : 'hidden', dependencies : [dep_libdrm, dep_valgrind, idep_nir_headers], ) endforeach @@ -89,8 +90,9 @@ libiris = static_library( # these should not be necessary, but main/macros.h... inc_mesa, inc_mapi ], - c_args : [c_vis_args, c_sse2_args], - cpp_args : [cpp_vis_args, c_sse2_args], + c_args : [c_sse2_args], + cpp_args : [c_sse2_args], + gnu_symbol_visibility : 'hidden', dependencies : [dep_libdrm, dep_valgrind, idep_genxml, idep_libintel_common, idep_nir_headers], link_with : [ iris_gen_libs, libintel_compiler, libintel_dev, libisl, diff --git a/src/gallium/drivers/llvmpipe/meson.build b/src/gallium/drivers/llvmpipe/meson.build index 138c2ce871b..7a4766ca4d3 100644 --- a/src/gallium/drivers/llvmpipe/meson.build +++ b/src/gallium/drivers/llvmpipe/meson.build @@ -99,8 +99,9 @@ files_llvmpipe = files( libllvmpipe = static_library( 'llvmpipe', files_llvmpipe, - c_args : [c_vis_args, c_msvc_compat_args], - cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + c_args : [c_msvc_compat_args], + cpp_args : [cpp_msvc_compat_args], + gnu_symbol_visibility : 'hidden', include_directories : [inc_gallium, inc_gallium_aux, inc_include, inc_src], dependencies : [ dep_llvm, idep_nir_headers, ], ) diff --git a/src/gallium/drivers/nouveau/meson.build b/src/gallium/drivers/nouveau/meson.build index 7a1d18a6394..c6caae2bb79 100644 --- a/src/gallium/drivers/nouveau/meson.build +++ b/src/gallium/drivers/nouveau/meson.build @@ -214,8 +214,7 @@ libnouveau = static_library( include_directories : [ inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_mapi, inc_mesa, ], - c_args : [c_vis_args], - cpp_args : [cpp_vis_args], + gnu_symbol_visibility : 'hidden', dependencies : [dep_libdrm, dep_libdrm_nouveau, idep_nir_headers], ) diff --git a/src/gallium/drivers/panfrost/meson.build b/src/gallium/drivers/panfrost/meson.build index 06bcf681278..b3ebb16fe2d 100644 --- a/src/gallium/drivers/panfrost/meson.build +++ b/src/gallium/drivers/panfrost/meson.build @@ -68,7 +68,8 @@ libpanfrost = static_library( idep_nir ], include_directories : panfrost_includes, - c_args : [c_vis_args, c_msvc_compat_args, compile_args_panfrost], + c_args : [c_msvc_compat_args, compile_args_panfrost], + gnu_symbol_visibility : 'hidden', ) driver_panfrost = declare_dependency( diff --git a/src/gallium/drivers/r300/meson.build b/src/gallium/drivers/r300/meson.build index 66569bab364..ee8572444ea 100644 --- a/src/gallium/drivers/r300/meson.build +++ b/src/gallium/drivers/r300/meson.build @@ -121,11 +121,11 @@ files_r300 = files( libr300 = static_library( 'r300', files_r300, - c_args : [c_vis_args], include_directories : [ inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_gallium_drivers, inc_mesa, ], + gnu_symbol_visibility : 'hidden', dependencies : [dep_libdrm_radeon, dep_llvm], ) diff --git a/src/gallium/drivers/r600/meson.build b/src/gallium/drivers/r600/meson.build index 0bb31dca20a..880dad590cb 100644 --- a/src/gallium/drivers/r600/meson.build +++ b/src/gallium/drivers/r600/meson.build @@ -195,8 +195,8 @@ endif libr600 = static_library( 'r600', [files_r600, egd_tables_h], - c_args : [c_vis_args, r600_c_args, '-Wstrict-overflow=0'], - cpp_args : [cpp_vis_args], + c_args : [r600_c_args, '-Wstrict-overflow=0'], + gnu_symbol_visibility : 'hidden', include_directories : [ inc_src, inc_mapi, inc_mesa, inc_include, inc_compiler, inc_gallium, inc_gallium_aux, inc_amd_common, inc_gallium_drivers, diff --git a/src/gallium/drivers/radeonsi/meson.build b/src/gallium/drivers/radeonsi/meson.build index 357869eb94c..4f6ea1315c8 100644 --- a/src/gallium/drivers/radeonsi/meson.build +++ b/src/gallium/drivers/radeonsi/meson.build @@ -122,8 +122,8 @@ libradeonsi = static_library( inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_amd_common, inc_amd_common_llvm, inc_gallium_drivers, ], - c_args : ['-Wstrict-overflow=0', c_vis_args], - cpp_args : [cpp_vis_args], + c_args : ['-Wstrict-overflow=0'], + gnu_symbol_visibility : 'hidden', dependencies : [dep_llvm, dep_clock, dep_libdrm_radeon, idep_nir_headers, idep_amdgfxregs_h], ) diff --git a/src/gallium/drivers/softpipe/meson.build b/src/gallium/drivers/softpipe/meson.build index a345ff62ec9..6af71289763 100644 --- a/src/gallium/drivers/softpipe/meson.build +++ b/src/gallium/drivers/softpipe/meson.build @@ -80,7 +80,8 @@ libsoftpipe = static_library( 'softpipe', files_softpipe, include_directories : [inc_gallium_aux, inc_gallium, inc_include, inc_src], - c_args : [c_vis_args, c_msvc_compat_args], + c_args : [c_msvc_compat_args], + gnu_symbol_visibility : 'hidden', ) driver_swrast = declare_dependency( diff --git a/src/gallium/drivers/svga/meson.build b/src/gallium/drivers/svga/meson.build index 4d3207a9942..368d0c7f342 100644 --- a/src/gallium/drivers/svga/meson.build +++ b/src/gallium/drivers/svga/meson.build @@ -79,7 +79,8 @@ files_svga = files( libsvga = static_library( 'svga', [files_svga, sha1_h], - c_args : [c_vis_args, c_msvc_compat_args], + c_args : [c_msvc_compat_args], + gnu_symbol_visibility : 'hidden', include_directories : [ inc_src, inc_include, inc_gallium, inc_gallium_aux, include_directories('include') diff --git a/src/gallium/drivers/swr/meson.build b/src/gallium/drivers/swr/meson.build index e68d962ed84..f8c4ba93f55 100644 --- a/src/gallium/drivers/swr/meson.build +++ b/src/gallium/drivers/swr/meson.build @@ -187,7 +187,7 @@ swr_incs = include_directories( 'rasterizer/archrast', 'rasterizer', ) -swr_cpp_args = [cpp_vis_args] +swr_cpp_args = [] if cpp.has_argument('-fno-strict-aliasing') swr_cpp_args += '-fno-strict-aliasing' endif @@ -232,6 +232,7 @@ if with_swr_arches.contains('skx') cpp_msvc_compat_args, swr_cpp_args, swr_skx_args, '-DKNOB_ARCH=KNOB_ARCH_AVX512', ], + gnu_symbol_visibility : 'hidden', link_args : [ld_args_gc_sections], include_directories : [swr_incs], dependencies : [dep_thread, dep_llvm], @@ -247,6 +248,7 @@ if with_swr_arches.contains('skx') cpp_msvc_compat_args, swr_cpp_args, swr_skx_args, '-DKNOB_ARCH=KNOB_ARCH_AVX512', ], + gnu_symbol_visibility : 'hidden', link_args : [ld_args_gc_sections], include_directories : [swr_incs], dependencies : [dep_thread, dep_llvm], @@ -271,6 +273,7 @@ if with_swr_arches.contains('knl') cpp_msvc_compat_args, swr_cpp_args, swr_knl_args, '-DKNOB_ARCH=KNOB_ARCH_AVX512', '-DSIMD_ARCH_KNIGHTS', ], + gnu_symbol_visibility : 'hidden', link_args : [ld_args_gc_sections], include_directories : [swr_incs], dependencies : [dep_thread, dep_llvm], @@ -286,6 +289,7 @@ if with_swr_arches.contains('knl') cpp_msvc_compat_args, swr_cpp_args, swr_knl_args, '-DKNOB_ARCH=KNOB_ARCH_AVX512', '-DSIMD_ARCH_KNIGHTS', ], + gnu_symbol_visibility : 'hidden', link_args : [ld_args_gc_sections], include_directories : [swr_incs], dependencies : [dep_thread, dep_llvm], @@ -315,6 +319,7 @@ if with_swr_arches.contains('avx2') cpp_msvc_compat_args, swr_cpp_args, swr_avx2_args, '-DKNOB_ARCH=KNOB_ARCH_AVX2', ], + gnu_symbol_visibility : 'hidden', link_args : [ld_args_gc_sections], include_directories : [swr_incs], dependencies : [dep_thread, dep_llvm], @@ -330,6 +335,7 @@ if with_swr_arches.contains('avx2') cpp_msvc_compat_args, swr_cpp_args, swr_avx2_args, '-DKNOB_ARCH=KNOB_ARCH_AVX2', ], + gnu_symbol_visibility : 'hidden', link_args : [ld_args_gc_sections], include_directories : [swr_incs], dependencies : [dep_thread, dep_llvm], @@ -347,6 +353,7 @@ if with_swr_arches.contains('avx') cpp_msvc_compat_args, swr_cpp_args, swr_avx_args, '-DKNOB_ARCH=KNOB_ARCH_AVX', ], + gnu_symbol_visibility : 'hidden', link_args : [ld_args_gc_sections], include_directories : [swr_incs], dependencies : [dep_thread, dep_llvm], @@ -362,6 +369,7 @@ if with_swr_arches.contains('avx') cpp_msvc_compat_args, swr_cpp_args, swr_avx_args, '-DKNOB_ARCH=KNOB_ARCH_AVX', ], + gnu_symbol_visibility : 'hidden', link_args : [ld_args_gc_sections], include_directories : [swr_incs], dependencies : [dep_thread, dep_llvm], @@ -380,9 +388,10 @@ libmesaswr = static_library( [files_swr_mesa, files_swr_common, gen_knobs_h, gen_knobs_cpp, gen_builder_hpp, gen_builder_meta_hpp, gen_builder_intrin_hpp], cpp_args : [ - cpp_msvc_compat_args, cpp_vis_args, swr_cpp_args, swr_avx_args, + cpp_msvc_compat_args, swr_cpp_args, swr_avx_args, swr_defines, ], + gnu_symbol_visibility : 'hidden', include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, swr_incs], dependencies : dep_llvm, ) diff --git a/src/gallium/drivers/tegra/meson.build b/src/gallium/drivers/tegra/meson.build index 939d6294601..e428cea32de 100644 --- a/src/gallium/drivers/tegra/meson.build +++ b/src/gallium/drivers/tegra/meson.build @@ -28,7 +28,7 @@ files_tegra = files( libtegra = static_library( 'tegra', files_tegra, - c_args : [c_vis_args], + gnu_symbol_visibility : 'hidden', include_directories : [ inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_gallium_drivers, inc_gallium_winsys, diff --git a/src/gallium/drivers/v3d/meson.build b/src/gallium/drivers/v3d/meson.build index 78f38685826..64e6cb0789a 100644 --- a/src/gallium/drivers/v3d/meson.build +++ b/src/gallium/drivers/v3d/meson.build @@ -78,8 +78,8 @@ foreach ver : v3d_versions inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom, inc_gallium_drivers, ], - c_args : [c_vis_args, v3d_args, '-DV3D_VERSION=' + ver], - cpp_args : [cpp_vis_args], + c_args : [v3d_args, '-DV3D_VERSION=' + ver], + gnu_symbol_visibility : 'hidden', dependencies : [dep_v3dv3, dep_libdrm, dep_valgrind, idep_nir_headers], ) @@ -97,7 +97,8 @@ libv3d_neon = static_library( inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom, inc_gallium_drivers, ], - c_args : [c_vis_args, v3d_args, v3d_neon_c_args], + c_args : [v3d_args, v3d_neon_c_args], + gnu_symbol_visibility : 'hidden', dependencies : [dep_v3dv3, dep_libdrm, dep_valgrind, idep_nir_headers], ) @@ -112,8 +113,9 @@ libv3d = static_library( inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom, inc_gallium_drivers, ], - c_args : [c_vis_args, v3d_args], - cpp_args : [cpp_vis_args, v3d_args], + c_args : [v3d_args], + cpp_args : [v3d_args], + gnu_symbol_visibility : 'hidden', dependencies : [dep_v3dv3, dep_libdrm, dep_valgrind, idep_nir_headers], link_with: [per_version_libs, libv3d_neon], ) diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson.build index 5ce5af5f6b4..90a772d5dc6 100644 --- a/src/gallium/drivers/vc4/meson.build +++ b/src/gallium/drivers/vc4/meson.build @@ -108,8 +108,8 @@ libvc4 = static_library( inc_gallium_drivers, ], link_with: libvc4_neon, - c_args : [c_vis_args, vc4_c_args], - cpp_args : [cpp_vis_args], + c_args : [vc4_c_args], + gnu_symbol_visibility : 'hidden', dependencies : [dep_simpenrose, dep_libdrm, dep_valgrind, idep_nir_headers], build_by_default : false, ) diff --git a/src/gallium/drivers/virgl/meson.build b/src/gallium/drivers/virgl/meson.build index dd33d2b7c66..f94099bc200 100644 --- a/src/gallium/drivers/virgl/meson.build +++ b/src/gallium/drivers/virgl/meson.build @@ -46,7 +46,7 @@ virgl_driinfo_h = custom_target( libvirgl = static_library( 'virgl', [ files_libvirgl, virgl_driinfo_h ], - c_args : c_vis_args, + gnu_symbol_visibility : 'hidden', include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], dependencies : dep_libdrm ) diff --git a/src/gallium/drivers/zink/meson.build b/src/gallium/drivers/zink/meson.build index 15f79b62303..a104c1841fd 100644 --- a/src/gallium/drivers/zink/meson.build +++ b/src/gallium/drivers/zink/meson.build @@ -54,7 +54,7 @@ zink_nir_algebraic_c = custom_target( libzink = static_library( 'zink', [files_libzink, zink_nir_algebraic_c], - c_args : c_vis_args, + gnu_symbol_visibility : 'hidden', include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], dependencies: [dep_vulkan, idep_nir_headers], ) -- cgit v1.2.3