summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2018-08-29 15:36:23 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2018-10-22 06:51:32 +0530
commit8b3590c23149e8d85a40d39cccab2c61631466dc (patch)
tree2a51541e8cd5fac533ee3adb7c9d75daa7b4ecb9
parent85e2a7d1b794e807bc003c0f2552555f793a193f (diff)
downloadglib-8b3590c23149e8d85a40d39cccab2c61631466dc.tar.gz
meson: Add macOS libtool versioning for ABI compatibility
With this, the compatibility version and current version values in macOS and iOS dylibs will match the values set by Autotools. See: https://github.com/mesonbuild/meson/issues/1451
-rw-r--r--gio/meson.build1
-rw-r--r--glib/meson.build1
-rw-r--r--gmodule/meson.build1
-rw-r--r--gobject/meson.build1
-rw-r--r--gthread/meson.build1
-rw-r--r--meson.build4
6 files changed, 8 insertions, 1 deletions
diff --git a/gio/meson.build b/gio/meson.build
index 7f2c08e30..ab3834586 100644
--- a/gio/meson.build
+++ b/gio/meson.build
@@ -797,6 +797,7 @@ libgio = library('gio-2.0',
objects : internal_objects,
version : library_version,
soversion : soversion,
+ darwin_versions : darwin_versions,
install : true,
include_directories : [configinc, gioinc],
# '$(gio_win32_res_ldflag)',
diff --git a/glib/meson.build b/glib/meson.build
index 6fc56da7c..1a500fa81 100644
--- a/glib/meson.build
+++ b/glib/meson.build
@@ -256,6 +256,7 @@ libglib = library('glib-2.0',
objects : [charset_lib.extract_all_objects()] + gnulib_objects + pcre_objects,
version : library_version,
soversion : soversion,
+ darwin_versions : darwin_versions,
install : true,
# intl.lib is not compatible with SAFESEH
link_args : [noseh_link_args, glib_link_flags, win32_ldflags],
diff --git a/gmodule/meson.build b/gmodule/meson.build
index 8bb61897b..2c8a5ea20 100644
--- a/gmodule/meson.build
+++ b/gmodule/meson.build
@@ -99,6 +99,7 @@ libgmodule = library('gmodule-2.0',
sources : gmodule_sources,
version : library_version,
soversion : soversion,
+ darwin_versions : darwin_versions,
install : true,
include_directories : [configinc, gmoduleinc],
dependencies : [libdl_dep, libglib_dep],
diff --git a/gobject/meson.build b/gobject/meson.build
index d8d421df8..d426f12b4 100644
--- a/gobject/meson.build
+++ b/gobject/meson.build
@@ -66,6 +66,7 @@ libgobject = library('gobject-2.0',
sources : gobject_sources,
version : library_version,
soversion : soversion,
+ darwin_versions : darwin_versions,
install : true,
include_directories : [configinc],
dependencies : [libffi_dep, libglib_dep],
diff --git a/gthread/meson.build b/gthread/meson.build
index 515479ba1..a626ee84b 100644
--- a/gthread/meson.build
+++ b/gthread/meson.build
@@ -16,6 +16,7 @@ libgthread = library('gthread-2.0',
sources : gthread_sources,
version : library_version,
soversion : soversion,
+ darwin_versions : darwin_versions,
install : true,
dependencies : [libglib_dep],
c_args : ['-DG_LOG_DOMAIN="GThread"' ] + glib_hidden_visibility_args,
diff --git a/meson.build b/meson.build
index d562e8e87..f2ffd9919 100644
--- a/meson.build
+++ b/meson.build
@@ -45,7 +45,9 @@ binary_age = 100 * minor_version + micro_version
soversion = 0
# Maintain compatibility with previous libtool versioning
# current = minor * 100 + micro
-library_version = '@0@.@1@.@2@'.format(soversion, binary_age - interface_age, interface_age)
+current = binary_age - interface_age
+library_version = '@0@.@1@.@2@'.format(soversion, current, interface_age)
+darwin_versions = [current + 1, '@0@.@1@'.format(current + 1, interface_age)]
configinc = include_directories('.')
glibinc = include_directories('glib')