meson: Maintain macOS ABI through dylib versioning

Requires Meson 0.48, but the feature will be ignored on older versions
so it's safe to add it without bumping the requirement.

Documentation:
https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library
This commit is contained in:
Nirbheek Chauhan 2018-08-29 02:03:28 +05:30
parent 7c179e3f58
commit c389c59b22
6 changed files with 8 additions and 1 deletions

View file

@ -236,6 +236,7 @@ libgst = library('gstreamer-1.0', gst_sources,
gstenum_h, gstenum_c, gst_parse_sources, gst_registry_sources,
version : libversion,
soversion : soversion,
darwin_versions : osxversion,
c_args : libgst_c_args,
include_directories : [configinc,
# HACK, change include paths in .y and .l in final version.

View file

@ -45,6 +45,7 @@ gst_base = library('gstbase-@0@'.format(apiversion),
c_args : gst_c_args,
version : libversion,
soversion : soversion,
darwin_versions : osxversion,
install : true,
include_directories : [configinc, libsinc],
dependencies : [gobject_dep, glib_dep, gst_dep],

View file

@ -42,6 +42,7 @@ gst_check = shared_library('gstcheck-@0@'.format(apiversion),
c_args : gst_c_args + ['-DGST_EXPORTS', '-UG_DISABLE_ASSERT'],
version : libversion,
soversion : soversion,
darwin_versions : osxversion,
install : true,
include_directories : [configinc, libsinc],
link_with : [libcheck],

View file

@ -42,6 +42,7 @@ gst_controller = library('gstcontroller-@0@'.format(apiversion),
install : true,
version : libversion,
soversion : soversion,
darwin_versions : osxversion,
include_directories : [configinc, libsinc],
dependencies : [gobject_dep, glib_dep, mathlib, gst_dep],
)

View file

@ -29,6 +29,7 @@ gst_net = library('gstnet-@0@'.format(apiversion),
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
darwin_versions : osxversion,
install : true,
dependencies : [gio_dep, gst_base_dep],
)

View file

@ -22,7 +22,9 @@ apiversion = '1.0'
soversion = 0
# maintaining compatibility with the previous libtool versioning
# current = minor * 100 + micro
libversion = '@0@.@1@.0'.format(soversion, gst_version_minor * 100 + gst_version_micro)
curversion = gst_version_minor * 100 + gst_version_micro
libversion = '@0@.@1@.0'.format(soversion, curversion)
osxversion = curversion + 1
prefix = get_option('prefix')