1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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
This commit is contained in:
knu 2018-04-29 11:15:41 +00:00
parent 058949ac13
commit de2bfd3d9c
2 changed files with 16 additions and 4 deletions

12
NEWS
View file

@ -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

View file

@ -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)'