mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-29 13:11:06 +00:00
gst-full: use a default version script
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>
This commit is contained in:
parent
71616b9317
commit
d5dcbdb51b
3 changed files with 13 additions and 2 deletions
|
@ -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)
|
[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
|
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
|
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
|
This is an experimental feature, backward uncompatible changes could still be
|
||||||
made in the future.
|
made in the future.
|
||||||
|
|
10
gstreamer-full-default.map
Normal file
10
gstreamer-full-default.map
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
global:
|
||||||
|
gst_*;
|
||||||
|
GST_*;
|
||||||
|
_gst_*;
|
||||||
|
g_*;
|
||||||
|
glib_*;
|
||||||
|
local:
|
||||||
|
*;
|
||||||
|
};
|
|
@ -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('custom_subprojects', type : 'string', value : '', description : 'Comma-separated project names')
|
||||||
option('gst-full-libraries', type : 'array', value : [],
|
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.''')
|
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')
|
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
|
# Common options, automatically inherited by subprojects
|
||||||
|
|
Loading…
Reference in a new issue