From: Tim-Philipp Müller Date: Thu, 10 Aug 2017 12:32:43 +0000 (+0100) Subject: meson: hide symbols by default unless explicitly exported X-Git-Tag: 1.16.2~691 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=be8eb436b245416b55d3a114a8f9a882dc8c4572;p=platform%2Fupstream%2Fgstreamer.git meson: hide symbols by default unless explicitly exported --- diff --git a/libs/gst/check/libcheck/meson.build b/libs/gst/check/libcheck/meson.build index 6130764..176049a 100644 --- a/libs/gst/check/libcheck/meson.build +++ b/libs/gst/check/libcheck/meson.build @@ -54,11 +54,18 @@ configure_file(input : 'check.h.in', internal_check_h_inc = include_directories('..') +# Must explicitly make symbols public if default visibility is hidden +if have_visibility_hidden + libcheck_visibility_args = ['-DCK_DLL_EXP=extern __attribute__ ((visibility ("default")))'] +else + libcheck_visibility_args = ['-DCK_DLL_EXP=extern'] +endif + libcheck = static_library('check', libcheck_files, include_directories : [configinc, internal_check_h_inc], dependencies : [rt_lib, mathlib], - c_args: gst_c_args + + c_args: gst_c_args + libcheck_visibility_args + # Don't want libcompat to think we don't have these and substitute # replacements since we don't check for or define these. See libcompat.h ['-DHAVE_VSNPRINTF', '-DHAVE_SNPRINTF', '-DHAVE_MALLOC', '-DHAVE_REALLOC'], diff --git a/meson.build b/meson.build index 4f728f0..bfc3ae2 100644 --- a/meson.build +++ b/meson.build @@ -48,6 +48,12 @@ elif cc.has_argument('-Wl,-Bsymbolic-functions') # FIXME: Add FATAL_WARNINGS from configure.ac endif +# Symbol visibility +have_visibility_hidden = cc.has_argument('-fvisibility=hidden') +if have_visibility_hidden + add_project_arguments('-fvisibility=hidden', language: 'c') +endif + cdata = configuration_data() cdata.set_quoted('GST_API_VERSION', apiversion) cdata.set_quoted('GST_DATADIR', join_paths(prefix, get_option('datadir')))