whoami7 - Manager
:
/
proc
/
self
/
root
/
usr
/
local
/
rvm
/
patches
/
ruby
/
1.9.3
/
p194
/
Upload File:
files >> //proc/self/root/usr/local/rvm/patches/ruby/1.9.3/p194/ruby-multilib.patch
diff -u -wr a/configure.in b/configure.in --- a/configure.in 2012-04-18 16:09:04.000000000 +0200 +++ b/configure.in 2012-10-08 04:34:25.722227142 +0200 @@ -2354,6 +2354,14 @@ if test "$rb_cv_binary_elf" = yes; then 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_UNQUOTED(LIBDIR_BASENAME, ["${libdir_basename}"]) + AS_CASE(["$target_os"], [sunos4*], [ LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so' @@ -2362,7 +2370,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 ], @@ -2419,7 +2427,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)' diff -u -wr a/ruby.c b/ruby.c --- a/ruby.c 2012-02-06 21:35:30.000000000 +0100 +++ b/ruby.c 2012-10-08 04:40:59.940293797 +0200 @@ -410,9 +410,21 @@ #endif 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; - if (p - libpath > 3 && !(STRCASECMP(p - 4, "/bin") && strcmp(p - 4, "/lib"))) { - p -= 4; + if (p - libpath >= bindir_len && !STRCASECMP(p - bindir_len, bindir)) { + p -= bindir_len; + *p = 0; + } + else if (p - libpath >= libdir_len && !strcmp(p - libdir_len, libdir)) { + p -= libdir_len; *p = 0; } } diff -u -wr a/tool/mkconfig.rb b/tool/mkconfig.rb --- a/tool/mkconfig.rb 2012-10-08 05:57:16.948702976 +0200 +++ b/tool/mkconfig.rb 2011-08-13 15:17:30.000000000 +0200 @@ -40,6 +40,7 @@ v_fast = [] v_others = [] vars = {} +v_runtime = {} continued_name = nil continued_line = nil File.foreach "config.status" do |line| @@ -118,7 +119,10 @@ val = val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1 ? "$(#{$1})" : $&}.dump case name when /^prefix$/ + v_runtime[:prefix] = val.slice(1..-2) val = "(TOPDIR || DESTDIR + #{val})" + when /^libdir$/ + v_runtime[:libdir] = File.basename(val.slice(1..-2)) when /^ARCH_FLAG$/ val = "arch_flag || #{val}" if universal when /^UNIVERSAL_ARCHNAMES$/ @@ -145,7 +149,7 @@ drive = File::PATH_SEPARATOR == ';' -prefix = "/lib/ruby/#{version}/#{arch}" +prefix = "/#{v_runtime[:libdir]}/ruby/#{version}/#{arch}" print " TOPDIR = File.dirname(__FILE__).chomp!(#{prefix.dump})\n" print " DESTDIR = ", (drive ? "TOPDIR && TOPDIR[/\\A[a-z]:/i] || " : ""), "'' unless defined? DESTDIR\n" print <<'ARCH' if universal @@ -190,6 +194,7 @@ x end end +v_others.map!{|x| x.gsub(v_runtime[:prefix], "$(prefix)") } v_others.compact! if $install_name
Copyright ©2021 || Defacer Indonesia