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

15 files changed:
gst-libs/gst/adaptivedemux/meson.build
gst-libs/gst/audio/meson.build
gst-libs/gst/basecamerabinsrc/meson.build
gst-libs/gst/codecparsers/meson.build
gst-libs/gst/insertbin/meson.build
gst-libs/gst/interfaces/meson.build
gst-libs/gst/isoff/meson.build
gst-libs/gst/mpegts/meson.build
gst-libs/gst/opencv/meson.build
gst-libs/gst/player/meson.build
gst-libs/gst/uridownloader/meson.build
gst-libs/gst/video/meson.build
gst-libs/gst/wayland/meson.build
gst-libs/gst/webrtc/meson.build
meson.build

index 24bd465..5f8eac3 100644 (file)
@@ -4,6 +4,7 @@ gstadaptivedemux = library('gstadaptivedemux-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gstbase_dep, gsturidownloader_dep],
 )
index 9d23ef3..b8b7bd5 100644 (file)
@@ -9,6 +9,7 @@ gstbadaudio = library('gstbadaudio-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gstaudio_dep, gstbase_dep],
 )
index 6989391..b1ba106 100644 (file)
@@ -17,6 +17,7 @@ gstbasecamerabin = library('gstbasecamerabinsrc-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gstapp_dep],
 )
index 75bda95..12168ec 100644 (file)
@@ -45,6 +45,7 @@ gstcodecparsers = library('gstcodecparsers-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gstbase_dep, libm],
 )
index f4b8aba..8c9e1f5 100644 (file)
@@ -8,6 +8,7 @@ gstinsertbin = library('gstinsertbin-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gst_dep],
 )
index 31c18c8..4e2fb43 100644 (file)
@@ -18,6 +18,7 @@ gstphotography = library('gstphotography-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gst_dep],
 )
index 8666ea1..d468a5a 100644 (file)
@@ -12,6 +12,7 @@ gstisoff = library('gstisoff-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gstbase_dep],
 )
index 9e2ed1c..6c3758e 100644 (file)
@@ -35,6 +35,7 @@ gstmpegts = library('gstmpegts-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gst_dep],
 )
index 222e861..848aac4 100644 (file)
@@ -17,6 +17,7 @@ if opencv_dep.found()
     include_directories : [configinc, libsinc],
     version : libversion,
     soversion : soversion,
+  darwin_versions : osxversion,
     install : true,
     dependencies : [gstbase_dep, gstvideo_dep, opencv_dep],
   )
index b33001c..3619de5 100644 (file)
@@ -29,6 +29,7 @@ gstplayer = library('gstplayer-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gstbase_dep, gstvideo_dep, gstaudio_dep,
                   gsttag_dep, gstpbutils_dep],
index 7c4d670..cccb3b6 100644 (file)
@@ -16,6 +16,7 @@ gsturidownloader = library('gsturidownloader-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gstbase_dep],
 )
index 39f48f2..a1432db 100644 (file)
@@ -14,6 +14,7 @@ gstbadvideo = library('gstbadvideo-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : [gstvideo_dep, gstbase_dep],
 )
index d174a9f..ddade69 100644 (file)
@@ -13,6 +13,7 @@ if use_wayland
     include_directories : [configinc, libsinc],
     version : libversion,
     soversion : soversion,
+  darwin_versions : osxversion,
     install : true,
     dependencies : [gst_dep, gstvideo_dep]
   )
index 6e284b6..24e4376 100644 (file)
@@ -45,6 +45,7 @@ gstwebrtc = library('gstwebrtc-' + api_version,
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
+  darwin_versions : osxversion,
   install : true,
   dependencies : gstwebrtc_dependencies,
 )
index 84dd85c..78b7b1a 100644 (file)
@@ -23,7 +23,9 @@ api_version = '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
 
 plugins_install_dir = '@0@/gstreamer-1.0'.format(get_option('libdir'))