]>
Commit | Line | Data |
---|---|---|
d78ec589 ER |
1 | From df4253a5b79b63f16f215f2c19f1b9666c4ca01e Mon Sep 17 00:00:00 2001 |
2 | From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com> | |
3 | Date: Thu, 8 Sep 2011 15:30:05 +0200 | |
4 | Subject: [PATCH] Add configuration arch specific dir flag. | |
5 | ||
6 | --- | |
7 | Makefile.in | 1 + | |
8 | configure.in | 20 ++++++++++++++++++++ | |
9 | tool/mkconfig.rb | 4 +++- | |
10 | version.c | 2 ++ | |
11 | 4 files changed, 26 insertions(+), 1 deletions(-) | |
12 | ||
13 | diff --git a/Makefile.in b/Makefile.in | |
14 | index bcdaf5f..d61b2ee 100644 | |
15 | --- a/Makefile.in | |
16 | +++ b/Makefile.in | |
17 | @@ -31,6 +31,7 @@ libexecdir = @libexecdir@ | |
18 | datarootdir = @datarootdir@ | |
19 | datadir = @datadir@ | |
20 | arch = @arch@ | |
21 | +archdir = @archdir@ | |
22 | sitearch = @sitearch@ | |
23 | sitedir = @sitedir@ | |
24 | ruby_version = @ruby_version@ | |
25 | diff --git a/configure.in b/configure.in | |
26 | index 83e5d76..e6dc38c 100644 | |
27 | --- a/configure.in | |
28 | +++ b/configure.in | |
29 | @@ -2793,6 +2793,15 @@ else | |
30 | RUBY_LIB_VERSION="\"${ruby_version}\"" | |
31 | fi | |
32 | ||
33 | +AC_ARG_WITH(archdir, | |
34 | + AS_HELP_STRING([--with-archdir=DIR], [architecture specific ruby libraries [[LIBDIR/RUBY_BASE_NAME/ARCH]]]), | |
35 | + [archdir=$withval], | |
36 | + [archdir='${rubylibprefix}/${arch}']) | |
37 | +dir="${archdir}" | |
38 | +until ARCH_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${ARCH_DIR}"; do | |
39 | + dir="${ARCH_DIR}" | |
40 | +done | |
41 | + | |
42 | AC_ARG_WITH(sitedir, | |
43 | AS_HELP_STRING([--with-sitedir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]]]), | |
44 | [sitedir=$withval], | |
45 | @@ -2815,16 +2824,25 @@ if test "${LOAD_RELATIVE+set}"; then | |
46 | AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) | |
47 | RUBY_EXEC_PREFIX="" | |
48 | RUBY_LIB_PREFIX="`eval echo "$RUBY_LIB_PREFIX" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" | |
49 | + RUBY_ARCH_LIB_PATH="`eval echo "$ARCH_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" | |
50 | RUBY_SITE_LIB_PATH="`eval echo "$SITE_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" | |
51 | RUBY_VENDOR_LIB_PATH="`eval echo "$VENDOR_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" | |
52 | else | |
53 | RUBY_EXEC_PREFIX="`eval echo \\"$exec_prefix/\\" | sed 's|^NONE/|'"$prefix"'/|;s|/$||'`" | |
54 | RUBY_LIB_PREFIX="`eval echo \\"$RUBY_LIB_PREFIX\\" | sed 's|^NONE/|'"$prefix"'/|'`" | |
55 | + RUBY_ARCH_LIB_PATH="`eval echo \\"$ARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" | |
56 | RUBY_SITE_LIB_PATH="`eval echo \\"$SITE_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" | |
57 | RUBY_VENDOR_LIB_PATH="`eval echo \\"$VENDOR_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" | |
58 | fi | |
59 | ||
60 | pat=`echo "$RUBY_LIB_PREFIX/" | tr -c '\012' .`'\(.*\)' | |
61 | +AS_CASE(["$RUBY_ARCH_LIB_PATH"], | |
62 | + ["$RUBY_LIB_PREFIX/"*], [ | |
63 | + RUBY_ARCH_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_ARCH_LIB_PATH\" : \"$pat\"`"'"' | |
64 | + ], | |
65 | + [ | |
66 | + RUBY_ARCH_LIB_PATH="\"${RUBY_ARCH_LIB_PATH}\"" | |
67 | + ]) | |
68 | AS_CASE(["$RUBY_SITE_LIB_PATH"], | |
69 | ["$RUBY_LIB_PREFIX/"*], [ | |
70 | RUBY_SITE_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_SITE_LIB_PATH\" : \"$pat\"`"'"' | |
71 | @@ -2855,6 +2873,7 @@ else | |
72 | fi | |
73 | AC_DEFINE_UNQUOTED(RUBY_EXEC_PREFIX, "${RUBY_EXEC_PREFIX}") | |
74 | AC_DEFINE_UNQUOTED(RUBY_LIB_PREFIX, ${RUBY_LIB_PREFIX}) | |
75 | +AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, ${RUBY_ARCH_LIB_PATH}) | |
76 | if test "x$SITE_DIR" = xno; then | |
77 | AC_DEFINE(NO_RUBY_SITE_LIB) | |
78 | else | |
79 | @@ -2869,6 +2888,7 @@ fi | |
80 | AC_SUBST(arch)dnl | |
81 | AC_SUBST(sitearch)dnl | |
82 | AC_SUBST(ruby_version)dnl | |
83 | +AC_SUBST(archdir)dnl | |
84 | AC_SUBST(sitedir)dnl | |
85 | AC_SUBST(vendordir)dnl | |
86 | ||
87 | diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb | |
88 | index b707c4b..9780ef2 100755 | |
89 | --- a/tool/mkconfig.rb | |
90 | +++ b/tool/mkconfig.rb | |
91 | @@ -43,6 +43,7 @@ v_others = [] | |
92 | continued_name = nil | |
93 | continued_line = nil | |
94 | path_version = "/$(ruby_version)" | |
95 | +archdir_override = "$(vendorlibdir)/$(sitearch)" | |
96 | File.foreach "config.status" do |line| | |
97 | next if /^#/ =~ line | |
98 | name = nil | |
99 | @@ -77,6 +78,7 @@ File.foreach "config.status" do |line| | |
100 | when /^RUBY_INSTALL_NAME$/; next if $install_name | |
101 | when /^RUBY_SO_NAME$/; next if $so_name | |
102 | when /^arch$/; if val.empty? then val = arch else arch = val end | |
103 | + when /^archdir$/; archdir_override = val; next | |
104 | when /^sitearch/; val = '$(arch)' if val.empty? | |
105 | end | |
106 | case val | |
107 | @@ -207,7 +209,7 @@ print(*v_fast) | |
108 | print(*v_others) | |
109 | print <<EOS | |
110 | CONFIG["rubylibdir"] = "$(rubylibprefix)#{path_version}" | |
111 | - CONFIG["archdir"] = "$(rubylibdir)/$(arch)" | |
112 | + CONFIG["archdir"] = "#{archdir_override}" | |
113 | EOS | |
114 | print <<EOS unless v_disabled["sitedir"] | |
115 | CONFIG["sitelibdir"] = "$(sitedir)#{path_version}" | |
116 | diff --git a/version.c b/version.c | |
117 | index 59d4e5e..915a0a2 100644 | |
118 | --- a/version.c | |
119 | +++ b/version.c | |
120 | @@ -47,7 +47,9 @@ | |
121 | #define RUBY_SITE_LIB2 RUBY_SITE_LIB "/"RUBY_LIB_VERSION | |
122 | #define RUBY_VENDOR_LIB2 RUBY_VENDOR_LIB "/"RUBY_LIB_VERSION | |
123 | #endif | |
124 | +#ifndef RUBY_ARCHLIB | |
125 | #define RUBY_ARCHLIB RUBY_LIB "/"RUBY_ARCH | |
126 | +#endif | |
127 | #define RUBY_SITE_ARCHLIB RUBY_SITE_LIB2 "/"RUBY_SITEARCH | |
128 | #define RUBY_VENDOR_ARCHLIB RUBY_VENDOR_LIB2 "/"RUBY_SITEARCH | |
129 | #ifdef RUBY_THINARCH | |
130 | -- | |
131 | 1.7.6.1 | |
132 |