From: Jan Schmidt Date: Fri, 6 Sep 2019 09:13:46 +0000 (+1000) Subject: meson: Fix plugin symbol export for C++ sources/plugins X-Git-Tag: 1.19.3~507^2~2678 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c0561fb916780ec2fdfafe09e31a74ff5fa5ec08;p=platform%2Fupstream%2Fgstreamer.git 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. --- diff --git a/gst-libs/gst/opencv/meson.build b/gst-libs/gst/opencv/meson.build index 8dc2ad9..f659d57 100644 --- a/gst-libs/gst/opencv/meson.build +++ b/gst-libs/gst/opencv/meson.build @@ -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, diff --git a/meson.build b/meson.build index 7b3314b..6eabbf1 100644 --- a/meson.build +++ b/meson.build @@ -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'