meson: Maintain macOS ABI through dylib versioning
authorNirbheek Chauhan <nirbheek@centricular.com>
Tue, 28 Aug 2018 20:33:28 +0000 (02:03 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Fri, 31 Aug 2018 09:10:14 +0000 (14:40 +0530)
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

gst/meson.build
libs/gst/base/meson.build
libs/gst/check/meson.build
libs/gst/controller/meson.build
libs/gst/net/meson.build
meson.build

index 91d0e19..d6eb4a2 100644 (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.
index bc2a926..7c38a09 100644 (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],
index f09908d..2068718 100644 (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],
index 6ef2769..e58dbed 100644 (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],
 )
index 0c90a7d..73bd16e 100644 (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],
 )
index fa699ed..6991a34 100644 (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')