[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]