pvalena / rpms / ruby

Forked from rpms/ruby 6 years ago
Clone
6193662
From 50d6113cc3752d1810d58b78d9d009662e143041 Mon Sep 17 00:00:00 2001
117278a
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
117278a
Date: Thu, 8 Sep 2011 15:30:05 +0200
117278a
Subject: [PATCH] Add configuration arch specific dir flag.
117278a
117278a
---
6193662
 Makefile.in      |  1 +
6193662
 configure.in     | 20 ++++++++++++++++++++
6193662
 tool/mkconfig.rb |  4 +++-
6193662
 version.c        |  2 ++
6193662
 4 files changed, 26 insertions(+), 1 deletion(-)
117278a
117278a
diff --git a/Makefile.in b/Makefile.in
6193662
index 78d7139..690ff8e 100644
117278a
--- a/Makefile.in
117278a
+++ b/Makefile.in
6193662
@@ -36,6 +36,7 @@ libexecdir = @libexecdir@
117278a
 datarootdir = @datarootdir@
117278a
 datadir = @datadir@
117278a
 arch = @arch@
117278a
+archdir = @archdir@
117278a
 sitearch = @sitearch@
117278a
 sitedir = @sitedir@
117278a
 ruby_version = @ruby_version@
117278a
diff --git a/configure.in b/configure.in
6193662
index db3641b..8e4aaec 100644
117278a
--- a/configure.in
117278a
+++ b/configure.in
3fa8028
@@ -3152,6 +3152,15 @@ else
117278a
     RUBY_LIB_VERSION="\"${ruby_version}\""
117278a
 fi
117278a
 
117278a
+AC_ARG_WITH(archdir,
117278a
+	    AS_HELP_STRING([--with-archdir=DIR], [architecture specific ruby libraries [[LIBDIR/RUBY_BASE_NAME/ARCH]]]),
117278a
+            [archdir=$withval],
117278a
+            [archdir='${rubylibprefix}/${arch}'])
117278a
+dir="${archdir}"
117278a
+until ARCH_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${ARCH_DIR}"; do
117278a
+    dir="${ARCH_DIR}"
117278a
+done
117278a
+
117278a
 AC_ARG_WITH(sitedir,
7fe201b
 	    AS_HELP_STRING([--with-sitedir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]], "no" to disable site directory]),
117278a
             [sitedir=$withval],
3fa8028
@@ -3174,16 +3183,25 @@ if test "${LOAD_RELATIVE+set}"; then
117278a
     AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)
117278a
     RUBY_EXEC_PREFIX=""
117278a
     RUBY_LIB_PREFIX="`eval echo "$RUBY_LIB_PREFIX" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
117278a
+    RUBY_ARCH_LIB_PATH="`eval echo "$ARCH_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
117278a
     RUBY_SITE_LIB_PATH="`eval echo "$SITE_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
117278a
     RUBY_VENDOR_LIB_PATH="`eval echo "$VENDOR_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
117278a
 else
117278a
     RUBY_EXEC_PREFIX="`eval echo \\"$exec_prefix/\\" | sed 's|^NONE/|'"$prefix"'/|;s|/$||'`"
117278a
     RUBY_LIB_PREFIX="`eval echo \\"$RUBY_LIB_PREFIX\\" | sed 's|^NONE/|'"$prefix"'/|'`"
117278a
+    RUBY_ARCH_LIB_PATH="`eval echo \\"$ARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`"
117278a
     RUBY_SITE_LIB_PATH="`eval echo \\"$SITE_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`"
117278a
     RUBY_VENDOR_LIB_PATH="`eval echo \\"$VENDOR_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`"
117278a
 fi
117278a
 
117278a
 pat=`echo "$RUBY_LIB_PREFIX/" | tr -c '\012' .`'\(.*\)'
117278a
+AS_CASE(["$RUBY_ARCH_LIB_PATH"],
117278a
+  ["$RUBY_LIB_PREFIX/"*], [
117278a
+    RUBY_ARCH_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_ARCH_LIB_PATH\" : \"$pat\"`"'"'
117278a
+    ],
117278a
+  [
117278a
+    RUBY_ARCH_LIB_PATH="\"${RUBY_ARCH_LIB_PATH}\""
117278a
+    ])
117278a
 AS_CASE(["$RUBY_SITE_LIB_PATH"],
117278a
   ["$RUBY_LIB_PREFIX/"*], [
117278a
     RUBY_SITE_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_SITE_LIB_PATH\" : \"$pat\"`"'"'
3fa8028
@@ -3214,6 +3232,7 @@ else
117278a
 fi
117278a
 AC_DEFINE_UNQUOTED(RUBY_EXEC_PREFIX, "${RUBY_EXEC_PREFIX}")
ea3cb65
 AC_DEFINE_UNQUOTED(RUBY_LIB_PREFIX, ${RUBY_LIB_PREFIX} !<verconf>!)
ea3cb65
+AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, ${RUBY_ARCH_LIB_PATH} !<verconf>!)
117278a
 if test "x$SITE_DIR" = xno; then
ea3cb65
     AC_DEFINE(NO_RUBY_SITE_LIB, [] !<verconf>!)
117278a
 else
3fa8028
@@ -3228,6 +3247,7 @@ fi
117278a
 AC_SUBST(arch)dnl
117278a
 AC_SUBST(sitearch)dnl
117278a
 AC_SUBST(ruby_version)dnl
117278a
+AC_SUBST(archdir)dnl
117278a
 AC_SUBST(sitedir)dnl
117278a
 AC_SUBST(vendordir)dnl
117278a
 
117278a
diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb
6193662
index d9e26c1..03c3332 100755
117278a
--- a/tool/mkconfig.rb
117278a
+++ b/tool/mkconfig.rb
6193662
@@ -43,6 +43,7 @@ vars = {}
117278a
 continued_name = nil
117278a
 continued_line = nil
117278a
 path_version = "/$(ruby_version)"
117278a
+archdir_override = "$(vendorlibdir)/$(sitearch)"
117278a
 File.foreach "config.status" do |line|
117278a
   next if /^#/ =~ line
117278a
   name = nil
117278a
@@ -77,6 +78,7 @@ File.foreach "config.status" do |line|
117278a
     when /^RUBY_INSTALL_NAME$/; next if $install_name
117278a
     when /^RUBY_SO_NAME$/; next if $so_name
117278a
     when /^arch$/; if val.empty? then val = arch else arch = val end
117278a
+    when /^archdir$/; archdir_override = val; next
117278a
     when /^sitearch/; val = '$(arch)' if val.empty?
117278a
     end
117278a
     case val
117278a
@@ -207,7 +209,7 @@ print(*v_fast)
117278a
 print(*v_others)
117278a
 print <
117278a
   CONFIG["rubylibdir"] = "$(rubylibprefix)#{path_version}"
117278a
-  CONFIG["archdir"] = "$(rubylibdir)/$(arch)"
117278a
+  CONFIG["archdir"] = "#{archdir_override}"
117278a
 EOS
117278a
 print <
117278a
   CONFIG["sitelibdir"] = "$(sitedir)#{path_version}"
117278a
diff --git a/version.c b/version.c
6193662
index 05e5069..a117059 100644
117278a
--- a/version.c
117278a
+++ b/version.c
ea3cb65
@@ -48,7 +48,9 @@
117278a
 #define RUBY_SITE_LIB2              RUBY_SITE_LIB    "/"RUBY_LIB_VERSION
117278a
 #define RUBY_VENDOR_LIB2            RUBY_VENDOR_LIB  "/"RUBY_LIB_VERSION
117278a
 #endif
117278a
+#ifndef RUBY_ARCHLIB
117278a
 #define RUBY_ARCHLIB                RUBY_LIB         "/"RUBY_ARCH
117278a
+#endif
117278a
 #define RUBY_SITE_ARCHLIB           RUBY_SITE_LIB2   "/"RUBY_SITEARCH
117278a
 #define RUBY_VENDOR_ARCHLIB         RUBY_VENDOR_LIB2 "/"RUBY_SITEARCH
117278a
 #ifdef  RUBY_THINARCH
117278a
-- 
6193662
1.8.0
117278a