meson: Maintain macOS ABI through dylib versioning
authorNirbheek Chauhan <nirbheek@centricular.com>
Fri, 31 Aug 2018 09:22:04 +0000 (14:52 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Fri, 31 Aug 2018 09:22:04 +0000 (14:52 +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

meson.build
validate/gst/overrides/meson.build
validate/gst/validate/meson.build

index 60f24ec..7b8ce36 100644 (file)
@@ -20,7 +20,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.to_int() * 100 + gst_version_micro.to_int())
+curversion = gst_version_minor * 100 + gst_version_micro
+libversion = '@0@.@1@.0'.format(soversion, curversion)
+osxversion = curversion + 1
 
 prefix = get_option('prefix')
 
index d5f975e..f8ab435 100644 (file)
@@ -2,6 +2,7 @@ shared_library('gstvalidate-default-overrides-1.0',
     sources: 'gst-validate-default-overrides.c',
     version : libversion,
     soversion : soversion,
+    darwin_versions : osxversion,
     include_directories : [inc_dirs],
     install: true,
     c_args : [gst_c_args] + ['-D_GNU_SOURCE'],
index 1774b07..2af0182 100644 (file)
@@ -56,6 +56,7 @@ gstvalidate = shared_library('gstvalidate-1.0',
     sources: gstvalidate_sources + gst_validate_enums,
     version : libversion,
     soversion : soversion,
+    darwin_versions : osxversion,
     include_directories : [inc_dirs],
     install: true,
     c_args : [gst_c_args] + ['-D_GNU_SOURCE'],