summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-04-29 11:15:41 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-04-29 11:15:41 +0000
commitde2bfd3d9ca18a97b2d48462ac84c28f70bc3bac (patch)
treefa5df37ee2cf62936eccf1fc47fc5bdb87e32057
parent058949ac13003ce54ba421b346977d75ee229bb0 (diff)
Remove the teeny part from the shared library name on macOS
This will prevent macOS users from having to rebuild all extension libraries every time they upgrade ruby to a new teeny release. Before: - libruby.2.6.0.dylib - libruby.2.6.dylib -> libruby.2.6.0.dylib - libruby.dylib -> libruby.2.6.0.dylib After: - libruby.2.6.dylib - libruby.dylib -> libruby.2.6.dylib git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--NEWS12
-rw-r--r--configure.ac8
2 files changed, 16 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index 7a67831c2c..e8d316f45c 100644
--- a/NEWS
+++ b/NEWS
@@ -191,3 +191,15 @@ with all sufficient information, see the ChangeLog file or Redmine
* VM generator script renewal; makes the generated VM more optimized. [GH-1779]
=== Miscellaneous changes
+
+* On macOS, shared libraries no longer include a full version number of ruby in their names.
+ This eliminates the burden of each teeny upgrade on the platform that users need to rebuild every extension library.
+
+ * Before:
+ * libruby.2.6.0.dylib
+ * libruby.2.6.dylib -> libruby.2.6.0.dylib
+ * libruby.dylib -> libruby.2.6.0.dylib
+
+ * After:
+ * libruby.2.6.dylib
+ * libruby.dylib -> libruby.2.6.dylib
diff --git a/configure.ac b/configure.ac
index 5b21e47c88..2ebfd431d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2968,7 +2968,7 @@ AC_ARG_WITH(soname,
[
AS_CASE(["$target_os"],
[darwin*], [
- RUBY_SO_NAME='$(RUBY_BASE_NAME).$(RUBY_PROGRAM_VERSION)'
+ RUBY_SO_NAME='$(RUBY_BASE_NAME).$(RUBY_API_VERSION)'
],
[cygwin*], [
RUBY_SO_NAME='$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)0'
@@ -3076,6 +3076,9 @@ AS_CASE("$enable_shared", [yes], [
LIBS="$LIBS -lm -lc"
],
[darwin*], [
+ LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT)'
+ LIBRUBY_SONAME='$(LIBRUBY_SO)'
+ LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).$(SOEXT)'
LIBRUBY_LDSHARED='$(CC) -dynamiclib'
AS_IF([test "$load_relative" = yes], [
libprefix="@executable_path/../${libdir_basename}"
@@ -3090,9 +3093,6 @@ AS_CASE("$enable_shared", [yes], [
LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-unexported_symbol,*_threadptr_*'
])
LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "' $(XLDFLAGS)'
- LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT)'
- LIBRUBY_SONAME='lib$(RUBY_BASE_NAME).$(RUBY_API_VERSION).$(SOEXT)'
- LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_INSTALL_NAME).$(SOEXT)'
],
[interix*], [
LIBRUBYARG_SHARED='-L. -L${libdir} -l$(RUBY_SO_NAME)'