ruby-changes:51093
From: knu <ko1@a...>
Date: Sun, 29 Apr 2018 20:15:47 +0900 (JST)
Subject: [ruby-changes:51093] knu:r63300 (trunk): Remove the teeny part from the shared library name on macOS
knu 2018-04-29 20:15:41 +0900 (Sun, 29 Apr 2018) New Revision: 63300 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=63300 Log: 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 Modified files: trunk/NEWS trunk/configure.ac Index: NEWS =================================================================== --- NEWS (revision 63299) +++ NEWS (revision 63300) @@ -191,3 +191,15 @@ with all sufficient information, see the https://github.com/ruby/ruby/blob/trunk/NEWS#L191 * 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 Index: configure.ac =================================================================== --- configure.ac (revision 63299) +++ configure.ac (revision 63300) @@ -2968,7 +2968,7 @@ AC_ARG_WITH(soname, https://github.com/ruby/ruby/blob/trunk/configure.ac#L2968 [ 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], [ https://github.com/ruby/ruby/blob/trunk/configure.ac#L3076 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], [ https://github.com/ruby/ruby/blob/trunk/configure.ac#L3093 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)' -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/