1 |
From b0a875862d14244ca41cd1e1e9090f87757aaeb9 Mon Sep 17 00:00:00 2001 |
2 |
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com> |
3 |
Date: Mon, 5 Sep 2011 13:10:47 +0200 |
4 |
Subject: [PATCH] Added configuration flags for site and vendor architecture |
5 |
specific directories. |
6 |
|
7 |
--- |
8 |
Makefile.in | 3 +++ |
9 |
configure.in | 40 ++++++++++++++++++++++++++++++++++++++++ |
10 |
tool/mkconfig.rb | 8 ++++++-- |
11 |
version.c | 4 ++++ |
12 |
4 files changed, 53 insertions(+), 2 deletions(-) |
13 |
|
14 |
diff --git a/Makefile.in b/Makefile.in |
15 |
index bcdaf5f..f57e4c4 100644 |
16 |
--- a/Makefile.in |
17 |
+++ b/Makefile.in |
18 |
@@ -34,6 +34,9 @@ datadir = @datadir@ |
19 |
archdir = @archdir@ |
20 |
sitearch = @sitearch@ |
21 |
sitedir = @sitedir@ |
22 |
+sitearchdir= @sitearchdir@ |
23 |
+vendordir = @vendordir@ |
24 |
+vendorarchdir = @vendorarchdir@ |
25 |
ruby_version = @ruby_version@ |
26 |
|
27 |
TESTUI = console |
28 |
diff --git a/configure.in b/configure.in |
29 |
index 83e5d76..31532bd 100644 |
30 |
--- a/configure.in |
31 |
+++ b/configure.in |
32 |
@@ -2811,6 +2811,15 @@ until SITE_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${SITE_DIR}"; do |
33 |
dir="${SITE_DIR}" |
34 |
done |
35 |
|
36 |
+AC_ARG_WITH(sitearchdir, |
37 |
+ AS_HELP_STRING([--with-sitearchdir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]]]), |
38 |
+ [sitearchdir=$withval], |
39 |
+ [sitearchdir='${rubylibprefix}/site_ruby/${arch}']) |
40 |
+dir="${sitearchdir}" |
41 |
+until SITEARCH_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${SITEARCH_DIR}"; do |
42 |
+ dir="${SITEARCH_DIR}" |
43 |
+done |
44 |
+ |
45 |
AC_ARG_WITH(vendordir, |
46 |
AS_HELP_STRING([--with-vendordir=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]]]), |
47 |
[vendordir=$withval], |
48 |
@@ -2820,19 +2829,32 @@ until VENDOR_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_DIR}"; do |
49 |
dir="${VENDOR_DIR}" |
50 |
done |
51 |
|
52 |
+AC_ARG_WITH(vendorarchdir, |
53 |
+ AS_HELP_STRING([--with-vendorarchdir=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]]]), |
54 |
+ [vendorarchdir=$withval], |
55 |
+ [vendorarchdir='${rubylibprefix}/vendor_ruby/${arch}']) |
56 |
+dir="${vendorarchdir}" |
57 |
+until VENDORARCH_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDORARCH_DIR}"; do |
58 |
+ dir="${VENDORARCH_DIR}" |
59 |
+done |
60 |
+ |
61 |
if test "${LOAD_RELATIVE+set}"; then |
62 |
AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) |
63 |
RUBY_EXEC_PREFIX="" |
64 |
RUBY_LIB_PREFIX="`eval echo "$RUBY_LIB_PREFIX" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" |
65 |
RUBY_ARCH_LIB_PATH="`eval echo "$ARCH_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" |
66 |
RUBY_SITE_LIB_PATH="`eval echo "$SITE_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" |
67 |
+ RUBY_SITE_ARCHLIB_PATH="`eval echo "$SITEARCH_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" |
68 |
RUBY_VENDOR_LIB_PATH="`eval echo "$VENDOR_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" |
69 |
+ RUBY_VENDOR_ARCHLIB_PATH="`eval echo "$VENDORARCH_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" |
70 |
else |
71 |
RUBY_EXEC_PREFIX="`eval echo \\"$exec_prefix/\\" | sed 's|^NONE/|'"$prefix"'/|;s|/$||'`" |
72 |
RUBY_LIB_PREFIX="`eval echo \\"$RUBY_LIB_PREFIX\\" | sed 's|^NONE/|'"$prefix"'/|'`" |
73 |
RUBY_ARCH_LIB_PATH="`eval echo \\"$ARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" |
74 |
RUBY_SITE_LIB_PATH="`eval echo \\"$SITE_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" |
75 |
+ RUBY_SITE_ARCHLIB_PATH="`eval echo \\"$SITEARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" |
76 |
RUBY_VENDOR_LIB_PATH="`eval echo \\"$VENDOR_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" |
77 |
+ RUBY_VENDOR_ARCHLIB_PATH="`eval echo \\"$VENDORARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" |
78 |
fi |
79 |
|
80 |
pat=`echo "$RUBY_LIB_PREFIX/" | tr -c '\012' .`'\(.*\)' |
81 |
@@ -2850,6 +2872,13 @@ AS_CASE(["$RUBY_SITE_LIB_PATH"], |
82 |
[ |
83 |
RUBY_SITE_LIB_PATH="\"${RUBY_SITE_LIB_PATH}\"" |
84 |
]) |
85 |
+AS_CASE(["$RUBY_SITE_ARCHLIB_PATH"], |
86 |
+ ["$RUBY_LIB_PREFIX/"*], [ |
87 |
+ RUBY_SITE_ARCHLIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_SITE_ARCHLIB_PATH\" : \"$pat\"`"'"' |
88 |
+ ], |
89 |
+ [ |
90 |
+ RUBY_SITE_ARCHLIB_PATH="\"${RUBY_SITE_ARCHLIB_PATH}\"" |
91 |
+ ]) |
92 |
AS_CASE(["$RUBY_VENDOR_LIB_PATH"], |
93 |
["$RUBY_LIB_PREFIX/"*], [ |
94 |
RUBY_VENDOR_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_VENDOR_LIB_PATH\" : \"$pat\"`"'"' |
95 |
@@ -2857,6 +2886,13 @@ AS_CASE(["$RUBY_VENDOR_LIB_PATH"], |
96 |
[ |
97 |
RUBY_VENDOR_LIB_PATH="\"${RUBY_VENDOR_LIB_PATH}\"" |
98 |
]) |
99 |
+AS_CASE(["$RUBY_VENDOR_ARCHLIB_PATH"], |
100 |
+ ["$RUBY_LIB_PREFIX/"*], [ |
101 |
+ RUBY_VENDOR_ARCHLIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_VENDOR_ARCHLIB_PATH\" : \"$pat\"`"'"' |
102 |
+ ], |
103 |
+ [ |
104 |
+ RUBY_VENDOR_ARCHLIB_PATH="\"${RUBY_VENDOR_ARCHLIB_PATH}\"" |
105 |
+ ]) |
106 |
pat=`echo "$RUBY_EXEC_PREFIX/" | tr -c '\012' .`'\(.*\)' |
107 |
AS_CASE(["$RUBY_LIB_PREFIX"], |
108 |
["$RUBY_EXEC_PREFIX/"*], [ |
109 |
@@ -2878,19 +2914,23 @@ if test "x$SITE_DIR" = xno; then |
110 |
AC_DEFINE(NO_RUBY_SITE_LIB) |
111 |
else |
112 |
AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, ${RUBY_SITE_LIB_PATH}) |
113 |
+ AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB, ${RUBY_SITE_ARCHLIB_PATH}) |
114 |
fi |
115 |
if test "x$VENDOR_DIR" = xno; then |
116 |
AC_DEFINE(NO_RUBY_VENDOR_LIB) |
117 |
else |
118 |
AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB, ${RUBY_VENDOR_LIB_PATH}) |
119 |
+ AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCHLIB, ${RUBY_VENDOR_ARCHLIB_PATH}) |
120 |
fi |
121 |
|
122 |
AC_SUBST(arch)dnl |
123 |
AC_SUBST(sitearch)dnl |
124 |
AC_SUBST(ruby_version)dnl |
125 |
AC_SUBST(archdir)dnl |
126 |
AC_SUBST(sitedir)dnl |
127 |
+AC_SUBST(sitearchdir)dnl |
128 |
AC_SUBST(vendordir)dnl |
129 |
+AC_SUBST(vendorarchdir)dnl |
130 |
|
131 |
configure_args=$ac_configure_args |
132 |
AC_SUBST(configure_args)dnl |
133 |
diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb |
134 |
index b707c4b..6230720 100755 |
135 |
--- a/tool/mkconfig.rb |
136 |
+++ b/tool/mkconfig.rb |
137 |
@@ -44,6 +44,8 @@ v_others = [] |
138 |
continued_line = nil |
139 |
path_version = "/$(ruby_version)" |
140 |
archdir_override = "$(vendorlibdir)/$(sitearch)" |
141 |
+sitearchdir_override = "$(sitelibdir)/$(sitearch)" |
142 |
+vendorarchdir_override = "$(vendorlibdir)/$(sitearch)" |
143 |
File.foreach "config.status" do |line| |
144 |
next if /^#/ =~ line |
145 |
name = nil |
146 |
@@ -79,6 +81,8 @@ File.foreach "config.status" do |line| |
147 |
when /^RUBY_SO_NAME$/; next if $so_name |
148 |
when /^arch$/; if val.empty? then val = arch else arch = val end |
149 |
when /^archdir$/; archdir_override = val; next |
150 |
+ when /^sitearchdir$/; sitearchdir_override = val; next |
151 |
+ when /^vendorarchdir$/; vendorarchdir_override = val; next |
152 |
when /^sitearch/; val = '$(arch)' if val.empty? |
153 |
end |
154 |
case val |
155 |
@@ -213,11 +217,11 @@ print <<EOS |
156 |
EOS |
157 |
print <<EOS unless v_disabled["sitedir"] |
158 |
CONFIG["sitelibdir"] = "$(sitedir)#{path_version}" |
159 |
- CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)" |
160 |
+ CONFIG["sitearchdir"] = "#{sitearchdir_override}" |
161 |
EOS |
162 |
print <<EOS unless v_disabled["vendordir"] |
163 |
CONFIG["vendorlibdir"] = "$(vendordir)#{path_version}" |
164 |
- CONFIG["vendorarchdir"] = "$(vendorlibdir)/$(sitearch)" |
165 |
+ CONFIG["vendorarchdir"] = "#{vendorarchdir_override}" |
166 |
EOS |
167 |
print <<EOS |
168 |
CONFIG["topdir"] = File.dirname(__FILE__) |
169 |
diff --git a/version.c b/version.c |
170 |
index 59d4e5e..2558aa0 100644 |
171 |
--- a/version.c |
172 |
+++ b/version.c |
173 |
@@ -50,8 +50,12 @@ |
174 |
#ifndef RUBY_ARCHLIB |
175 |
#define RUBY_ARCHLIB RUBY_LIB "/"RUBY_ARCH |
176 |
#endif |
177 |
+#ifndef RUBY_SITE_ARCHLIB |
178 |
#define RUBY_SITE_ARCHLIB RUBY_SITE_LIB2 "/"RUBY_SITEARCH |
179 |
+#endif |
180 |
+#ifndef RUBY_VENDOR_ARCHLIB |
181 |
#define RUBY_VENDOR_ARCHLIB RUBY_VENDOR_LIB2 "/"RUBY_SITEARCH |
182 |
+#endif |
183 |
#ifdef RUBY_THINARCH |
184 |
#define RUBY_THIN_ARCHLIB RUBY_LIB "/"RUBY_THINARCH |
185 |
#define RUBY_SITE_THIN_ARCHLIB RUBY_SITE_LIB2 "/"RUBY_THINARCH |
186 |
-- |
187 |
1.7.6.1 |
188 |
|