]>
Commit | Line | Data |
---|---|---|
1a83bc11 | 1 | From e24d97c938c481450ed80ec83e5399595946c1ae Mon Sep 17 00:00:00 2001 |
c0484a8d ER |
2 | From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com> |
3 | Date: Fri, 8 Feb 2013 22:48:41 +0100 | |
4 | Subject: [PATCH] Prevent duplicated paths when empty version string is | |
5 | configured. | |
6 | ||
7 | --- | |
3112d6a6 | 8 | configure.in | 15 +++++++++------ |
1a83bc11 ER |
9 | loadpath.c | 12 ++++++++++++ |
10 | tool/mkconfig.rb | 2 +- | |
3112d6a6 | 11 | 3 files changed, 22 insertions(+), 7 deletions(-) |
c0484a8d ER |
12 | |
13 | diff --git a/configure.in b/configure.in | |
3112d6a6 | 14 | index 17ed3ed..5843651 100644 |
c0484a8d ER |
15 | --- a/configure.in |
16 | +++ b/configure.in | |
3112d6a6 ER |
17 | @@ -3975,8 +3975,6 @@ AS_CASE(["$target_os"], |
18 | rubyw_install_name='$(RUBYW_INSTALL_NAME)' | |
19 | ]) | |
1a83bc11 | 20 | |
3112d6a6 ER |
21 | -rubylibdir='${rubylibprefix}/${ruby_version}' |
22 | -rubyarchdir=${multiarch+'${rubyarchprefix}/${ruby_version}'}${multiarch-'${rubylibdir}/${arch}'} | |
23 | ||
24 | rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'} | |
25 | AC_ARG_WITH(rubyarchprefix, | |
26 | @@ -4006,6 +4004,7 @@ AC_ARG_WITH(ruby-version, | |
27 | [ruby_version=full]) | |
28 | unset RUBY_LIB_VERSION | |
29 | unset RUBY_LIB_VERSION_STYLE | |
30 | +ruby_version_suffix=/'${ruby_version}' | |
31 | AS_CASE(["$ruby_version"], | |
32 | [full], [RUBY_LIB_VERSION_STYLE='3 /* full */'], | |
33 | [minor], [RUBY_LIB_VERSION_STYLE='2 /* minor */']) | |
34 | @@ -4022,30 +4021,34 @@ if test ${RUBY_LIB_VERSION_STYLE+set}; then | |
35 | ruby_version="`$CPP -I. -I"${srcdir}" -I"${srcdir}/include" conftest.c | sed '/^ruby_version=/!d;s/ //g'`" | |
36 | eval $ruby_version | |
37 | elif test -z "${ruby_version}"; then | |
1a83bc11 | 38 | - AC_MSG_ERROR([No ruby version, No place for bundled libraries]) |
3112d6a6 | 39 | + unset ruby_version_suffix |
1a83bc11 | 40 | + AC_DEFINE(RUBY_LIB_VERSION_BLANK, 1) |
3112d6a6 ER |
41 | else |
42 | RUBY_LIB_VERSION="${ruby_version}" | |
c0484a8d | 43 | fi |
3112d6a6 ER |
44 | AC_SUBST(RUBY_LIB_VERSION_STYLE) |
45 | AC_SUBST(RUBY_LIB_VERSION) | |
46 | ||
47 | +rubylibdir='${rubylibprefix}'${ruby_version_suffix} | |
48 | +rubyarchdir=${multiarch+'${rubyarchprefix}'${ruby_version_suffix}}${multiarch-'${rubylibdir}/${arch}'} | |
49 | + | |
50 | AC_ARG_WITH(sitedir, | |
51 | AS_HELP_STRING([--with-sitedir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]], "no" to disable site directory]), | |
52 | [sitedir=$withval], | |
53 | [sitedir='${rubylibprefix}/site_ruby']) | |
54 | -sitelibdir='${sitedir}/${ruby_version}' | |
55 | +sitelibdir='${sitedir}'${ruby_version_suffix} | |
56 | ||
57 | AC_ARG_WITH(sitearchdir, | |
58 | AS_HELP_STRING([--with-sitearchdir=DIR], | |
59 | [architecture dependent site libraries in DIR [[SITEDIR/SITEARCH]], "no" to disable site directory]), | |
60 | [sitearchdir=$withval], | |
61 | - [sitearchdir=${multiarch+'${rubysitearchprefix}/site_ruby/${ruby_version}'}${multiarch-'${sitelibdir}/${sitearch}'}]) | |
62 | + [sitearchdir=${multiarch+'${rubysitearchprefix}/site_ruby'${ruby_version_suffix}}${multiarch-'${sitelibdir}/${sitearch}'}]) | |
63 | ||
64 | AC_ARG_WITH(vendordir, | |
65 | AS_HELP_STRING([--with-vendordir=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]], "no" to disable vendor directory]), | |
66 | [vendordir=$withval], | |
67 | [vendordir='${rubylibprefix}/vendor_ruby']) | |
68 | -vendorlibdir='${vendordir}/${ruby_version}' | |
69 | +vendorlibdir='${vendordir}'${ruby_version_suffix} | |
1a83bc11 | 70 | |
3112d6a6 ER |
71 | AC_ARG_WITH(vendorarchdir, |
72 | AS_HELP_STRING([--with-vendorarchdir=DIR], | |
1a83bc11 ER |
73 | diff --git a/loadpath.c b/loadpath.c |
74 | index 9160031..0d4d953 100644 | |
75 | --- a/loadpath.c | |
76 | +++ b/loadpath.c | |
77 | @@ -65,22 +65,34 @@ const char ruby_initial_load_paths[] = | |
78 | RUBY_SEARCH_PATH "\0" | |
79 | #endif | |
80 | #ifndef NO_RUBY_SITE_LIB | |
c0484a8d | 81 | +#ifdef RUBY_LIB_VERSION_BLANK |
1a83bc11 | 82 | + RUBY_SITE_LIB "\0" |
c0484a8d | 83 | +#else |
1a83bc11 | 84 | RUBY_SITE_LIB2 "\0" |
c0484a8d | 85 | +#endif |
1a83bc11 | 86 | #ifdef RUBY_THINARCH |
c0484a8d ER |
87 | RUBY_SITE_ARCH_LIB_FOR(RUBY_THINARCH) "\0" |
88 | #endif | |
89 | RUBY_SITE_ARCH_LIB_FOR(RUBY_SITEARCH) "\0" | |
90 | +#ifndef RUBY_LIB_VERSION_BLANK | |
91 | RUBY_SITE_LIB "\0" | |
92 | #endif | |
93 | +#endif | |
94 | ||
95 | #ifndef NO_RUBY_VENDOR_LIB | |
1a83bc11 ER |
96 | +#ifdef RUBY_LIB_VERSION_BLANK |
97 | + RUBY_VENDOR_LIB "\0" | |
98 | +#else | |
c0484a8d | 99 | RUBY_VENDOR_LIB2 "\0" |
1a83bc11 ER |
100 | +#endif |
101 | #ifdef RUBY_THINARCH | |
c0484a8d ER |
102 | RUBY_VENDOR_ARCH_LIB_FOR(RUBY_THINARCH) "\0" |
103 | #endif | |
104 | RUBY_VENDOR_ARCH_LIB_FOR(RUBY_SITEARCH) "\0" | |
105 | +#ifndef RUBY_LIB_VERSION_BLANK | |
106 | RUBY_VENDOR_LIB "\0" | |
107 | #endif | |
108 | +#endif | |
109 | ||
110 | RUBY_LIB "\0" | |
111 | #ifdef RUBY_THINARCH | |
1a83bc11 ER |
112 | diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb |
113 | index 07076d4..35e6c3c 100755 | |
114 | --- a/tool/mkconfig.rb | |
115 | +++ b/tool/mkconfig.rb | |
3112d6a6 | 116 | @@ -123,7 +123,7 @@ File.foreach "config.status" do |line| |
1a83bc11 ER |
117 | val = val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1 ? "$(#{$1})" : $&}.dump |
118 | case name | |
119 | when /^prefix$/ | |
120 | - val = "(TOPDIR || DESTDIR + #{val})" | |
121 | + val = "(((TOPDIR && TOPDIR.empty?) ? nil : TOPDIR) || DESTDIR + #{val})" | |
122 | when /^ARCH_FLAG$/ | |
123 | val = "arch_flag || #{val}" if universal | |
124 | when /^UNIVERSAL_ARCHNAMES$/ | |
c0484a8d | 125 | -- |
1a83bc11 | 126 | 1.9.0 |
c0484a8d | 127 |