gst-full: use a default version script
authorStéphane Cerveau <scerveau@collabora.com>
Mon, 12 Oct 2020 15:46:04 +0000 (17:46 +0200)
committerStéphane Cerveau <scerveau@collabora.com>
Wed, 14 Oct 2020 14:05:13 +0000 (16:05 +0200)
Use a default version script instead of
Bsymbolic to get rid of x264 and ffmpeg
symbol relocation issue.

https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/108

Export only glib and gstreamer symbols.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/204>

README.md
gstreamer-full-default.map [new file with mode: 0644]
meson_options.txt

index c9ca051..05e4c9d 100644 (file)
--- a/README.md
+++ b/README.md
@@ -135,7 +135,8 @@ One can use the `gst-full-version-script` option to pass a
 [version script](https://www.gnu.org/software/gnulib/manual/html_node/LD-Version-Scripts.html)
 to the linker. This can be used to control the exact symbols that are exported by
 the gstreamer-full library, allowing the linker to garbage collect unused code
-and so reduce the total library size.
+and so reduce the total library size. A default script `gstreamer-full-default.map`
+declares only glib/gstreamer symbols as public.
 
 This is an experimental feature, backward uncompatible changes could still be
 made in the future.
diff --git a/gstreamer-full-default.map b/gstreamer-full-default.map
new file mode 100644 (file)
index 0000000..5fd04d0
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  global:
+    gst_*;
+    GST_*;
+    _gst_*;
+    g_*;
+    glib_*;
+  local:
+    *;
+};
index a3b73a1..1cc6c54 100644 (file)
@@ -21,7 +21,7 @@ option('qt5', type : 'feature', value : 'auto', description : 'Qt5 Support')
 option('custom_subprojects', type : 'string', value : '', description : 'Comma-separated project names')
 option('gst-full-libraries', type : 'array', value : [],
   description : '''List of libraries to expose in gstreamer-full's ABI. gstreamer, glib and gobject are always included.''')
-option('gst-full-version-script', type : 'string', value: '',
+option('gst-full-version-script', type : 'string', value: 'gstreamer-full-default.map',
   description : 'path of the version script to be used by the linker, see https://www.gnu.org/software/gnulib/manual/html_node/LD-Version-Scripts.html')
 
 # Common options, automatically inherited by subprojects