Commit 812e42e3 authored by Jan Schmidt's avatar Jan Schmidt

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.
parent c881e0a5
Pipeline #61646 passed with stages
in 38 minutes and 29 seconds
......@@ -17,6 +17,7 @@ if opencv_dep.found()
gstopencv = library('gstopencv-' + api_version,
opencv_sources,
c_args : gst_plugins_bad_args + ['-DBUILDING_GST_OPENCV'],
cpp_args : gst_plugins_bad_args + ['-DBUILDING_GST_OPENCV'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
......
......@@ -70,6 +70,7 @@ if cc.get_id() == 'msvc'
export_define = '__declspec(dllexport) extern'
elif cc.has_argument('-fvisibility=hidden')
add_project_arguments('-fvisibility=hidden', language: 'c')
add_project_arguments('-fvisibility=hidden', language: 'cpp')
export_define = 'extern __attribute__ ((visibility ("default")))'
else
export_define = 'extern'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment