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

ruby-changes:24796

From: nobu <ko1@a...>
Date: Wed, 29 Aug 2012 15:03:25 +0900 (JST)
Subject: [ruby-changes:24796] nobu:r36847 (trunk): configure.in: use configured libdir value

nobu	2012-08-29 15:03:09 +0900 (Wed, 29 Aug 2012)

  New Revision: 36847

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36847

  Log:
    configure.in: use configured libdir value
    
    * configure.in (LIBDIR_BASENAME): use configured libdir value to fix
      --enable-load-relative on systems where libdir is not default value,
      overridden in config.site files.  [ruby-core:47267] [Bug #6903]
    * ruby.c (ruby_init_loadpath_safe): ditto.

  Modified files:
    trunk/ChangeLog
    trunk/configure.in
    trunk/ruby.c

Index: configure.in
===================================================================
--- configure.in	(revision 36846)
+++ configure.in	(revision 36847)
@@ -2569,6 +2569,13 @@
     SOLIBS='$(LIBS)'
   fi
 
+  # libdir can be overridden in config.site file (on OpenSUSE at least).
+  libdir_basename=lib
+  if test "$bindir" = '${exec_prefix}/bin'; then
+    AS_CASE(["$libdir"], ['${exec_prefix}/'*], [libdir_basename=`basename "$libdir"`])
+  fi
+  AC_DEFINE(LIBDIR_BASENAME, ["${libdir_basename}"])
+
   AS_CASE(["$target_os"],
     [freebsd*|dragonfly*], [],
     [
@@ -2588,7 +2595,7 @@
 	LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)'
 	LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'
 	if test "$load_relative" = yes; then
-	    LIBRUBY_RPATHFLAGS="'-Wl,-rpath,\$\${ORIGIN}/../lib'"
+	    LIBRUBY_RPATHFLAGS="'-Wl,-rpath,\$\${ORIGIN}/../${libdir_basename}'"
 	    LIBRUBY_RELATIVE=yes
 	fi
 	],
@@ -2645,7 +2652,7 @@
 	RUBY_SO_NAME="$RUBY_SO_NAME"'.$(MAJOR).$(MINOR).$(TEENY)'
 	LIBRUBY_LDSHARED='$(CC) -dynamiclib'
 	if test "$load_relative" = yes; then
-	    libprefix='@executable_path/../lib'
+	    libprefix="@executable_path/../${libdir_basename}"
 	    LIBRUBY_RELATIVE=yes
 	fi
 	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-install_name '${libprefix}'/$(LIBRUBY_SO)'
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 36846)
+++ ChangeLog	(revision 36847)
@@ -1,3 +1,11 @@
+Wed Aug 29 15:03:04 2012  Nobuyoshi Nakada  <nobu@r...>
+
+	* configure.in (LIBDIR_BASENAME): use configured libdir value to fix
+	  --enable-load-relative on systems where libdir is not default value,
+	  overridden in config.site files.  [ruby-core:47267] [Bug #6903]
+
+	* ruby.c (ruby_init_loadpath_safe): ditto.
+
 Wed Aug 29 14:34:41 2012  NARUSE, Yui  <naruse@r...>
 
 	* addr2line.c: SIZE_MAX is defined in stdint.h, so r36755 breaks
Index: ruby.c
===================================================================
--- ruby.c	(revision 36846)
+++ ruby.c	(revision 36847)
@@ -412,7 +412,11 @@
     p = strrchr(libpath, '/');
     if (p) {
 	static const char bindir[] = "/bin";
+#ifdef LIBDIR_BASENAME
+	static const char libdir[] = "/"LIBDIR_BASENAME;
+#else
 	static const char libdir[] = "/lib";
+#endif
 	const ptrdiff_t bindir_len = (ptrdiff_t)sizeof(bindir) - 1;
 	const ptrdiff_t libdir_len = (ptrdiff_t)sizeof(libdir) - 1;
 	*p = 0;

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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