From cea5e3fcdb96deabd6cf6f7688de986a2512fdc3 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Fri, 31 Aug 2018 14:37:46 +0530 Subject: [PATCH] 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 --- gst-libs/gst/adaptivedemux/meson.build | 1 + gst-libs/gst/audio/meson.build | 1 + gst-libs/gst/basecamerabinsrc/meson.build | 1 + gst-libs/gst/codecparsers/meson.build | 1 + gst-libs/gst/insertbin/meson.build | 1 + gst-libs/gst/interfaces/meson.build | 1 + gst-libs/gst/isoff/meson.build | 1 + gst-libs/gst/mpegts/meson.build | 1 + gst-libs/gst/opencv/meson.build | 1 + gst-libs/gst/player/meson.build | 1 + gst-libs/gst/uridownloader/meson.build | 1 + gst-libs/gst/video/meson.build | 1 + gst-libs/gst/wayland/meson.build | 1 + gst-libs/gst/webrtc/meson.build | 1 + meson.build | 4 +++- 15 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/adaptivedemux/meson.build b/gst-libs/gst/adaptivedemux/meson.build index 24bd465..5f8eac3 100644 --- a/gst-libs/gst/adaptivedemux/meson.build +++ b/gst-libs/gst/adaptivedemux/meson.build @@ -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], ) diff --git a/gst-libs/gst/audio/meson.build b/gst-libs/gst/audio/meson.build index 9d23ef3..b8b7bd5 100644 --- a/gst-libs/gst/audio/meson.build +++ b/gst-libs/gst/audio/meson.build @@ -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], ) diff --git a/gst-libs/gst/basecamerabinsrc/meson.build b/gst-libs/gst/basecamerabinsrc/meson.build index 6989391..b1ba106 100644 --- a/gst-libs/gst/basecamerabinsrc/meson.build +++ b/gst-libs/gst/basecamerabinsrc/meson.build @@ -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], ) diff --git a/gst-libs/gst/codecparsers/meson.build b/gst-libs/gst/codecparsers/meson.build index 75bda95..12168ec 100644 --- a/gst-libs/gst/codecparsers/meson.build +++ b/gst-libs/gst/codecparsers/meson.build @@ -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], ) diff --git a/gst-libs/gst/insertbin/meson.build b/gst-libs/gst/insertbin/meson.build index f4b8aba..8c9e1f5 100644 --- a/gst-libs/gst/insertbin/meson.build +++ b/gst-libs/gst/insertbin/meson.build @@ -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], ) diff --git a/gst-libs/gst/interfaces/meson.build b/gst-libs/gst/interfaces/meson.build index 31c18c8..4e2fb43 100644 --- a/gst-libs/gst/interfaces/meson.build +++ b/gst-libs/gst/interfaces/meson.build @@ -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], ) diff --git a/gst-libs/gst/isoff/meson.build b/gst-libs/gst/isoff/meson.build index 8666ea1..d468a5a 100644 --- a/gst-libs/gst/isoff/meson.build +++ b/gst-libs/gst/isoff/meson.build @@ -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], ) diff --git a/gst-libs/gst/mpegts/meson.build b/gst-libs/gst/mpegts/meson.build index 9e2ed1c..6c3758e 100644 --- a/gst-libs/gst/mpegts/meson.build +++ b/gst-libs/gst/mpegts/meson.build @@ -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], ) diff --git a/gst-libs/gst/opencv/meson.build b/gst-libs/gst/opencv/meson.build index 222e861..848aac4 100644 --- a/gst-libs/gst/opencv/meson.build +++ b/gst-libs/gst/opencv/meson.build @@ -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], ) diff --git a/gst-libs/gst/player/meson.build b/gst-libs/gst/player/meson.build index b33001c..3619de5 100644 --- a/gst-libs/gst/player/meson.build +++ b/gst-libs/gst/player/meson.build @@ -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], diff --git a/gst-libs/gst/uridownloader/meson.build b/gst-libs/gst/uridownloader/meson.build index 7c4d670..cccb3b6 100644 --- a/gst-libs/gst/uridownloader/meson.build +++ b/gst-libs/gst/uridownloader/meson.build @@ -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], ) diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build index 39f48f2..a1432db 100644 --- a/gst-libs/gst/video/meson.build +++ b/gst-libs/gst/video/meson.build @@ -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], ) diff --git a/gst-libs/gst/wayland/meson.build b/gst-libs/gst/wayland/meson.build index d174a9f..ddade69 100644 --- a/gst-libs/gst/wayland/meson.build +++ b/gst-libs/gst/wayland/meson.build @@ -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] ) diff --git a/gst-libs/gst/webrtc/meson.build b/gst-libs/gst/webrtc/meson.build index 6e284b6..24e4376 100644 --- a/gst-libs/gst/webrtc/meson.build +++ b/gst-libs/gst/webrtc/meson.build @@ -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, ) diff --git a/meson.build b/meson.build index 84dd85c..78b7b1a 100644 --- a/meson.build +++ b/meson.build @@ -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')) -- 2.7.4