mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
meson: Fix plugin symbol export for C++ sources/plugins
The symbol visibility=hidden flag was only being applied to C compilation, so plugins implemented in C++ would leak extra symbols than the 2 _get_desc() and _register(). That also showed that the gst-libs opencv C++ lib was not marking symbols for export correctly because the BUILDING_GST_OPENCV define wasn't in the C++ args, so fix that too.
This commit is contained in:
parent
346bca80af
commit
c0561fb916
2 changed files with 2 additions and 0 deletions
|
@ -17,6 +17,7 @@ if opencv_dep.found()
|
||||||
gstopencv = library('gstopencv-' + api_version,
|
gstopencv = library('gstopencv-' + api_version,
|
||||||
opencv_sources,
|
opencv_sources,
|
||||||
c_args : gst_plugins_bad_args + ['-DBUILDING_GST_OPENCV'],
|
c_args : gst_plugins_bad_args + ['-DBUILDING_GST_OPENCV'],
|
||||||
|
cpp_args : gst_plugins_bad_args + ['-DBUILDING_GST_OPENCV'],
|
||||||
include_directories : [configinc, libsinc],
|
include_directories : [configinc, libsinc],
|
||||||
version : libversion,
|
version : libversion,
|
||||||
soversion : soversion,
|
soversion : soversion,
|
||||||
|
|
|
@ -70,6 +70,7 @@ if cc.get_id() == 'msvc'
|
||||||
export_define = '__declspec(dllexport) extern'
|
export_define = '__declspec(dllexport) extern'
|
||||||
elif cc.has_argument('-fvisibility=hidden')
|
elif cc.has_argument('-fvisibility=hidden')
|
||||||
add_project_arguments('-fvisibility=hidden', language: 'c')
|
add_project_arguments('-fvisibility=hidden', language: 'c')
|
||||||
|
add_project_arguments('-fvisibility=hidden', language: 'cpp')
|
||||||
export_define = 'extern __attribute__ ((visibility ("default")))'
|
export_define = 'extern __attribute__ ((visibility ("default")))'
|
||||||
else
|
else
|
||||||
export_define = 'extern'
|
export_define = 'extern'
|
||||||
|
|
Loading…
Reference in a new issue