mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
configure.in: arch dependent library directory options
* configure.in (rubyarchprefix, sitearchdir, vendorarchdir): add options to customize architecture dependent library directories. * template/ruby.pc.in, tool/mkconfig.rb, tool/rbinstall.rb: use configured values. * tool/mkconfig.rb: expand rubyarchdir to extract prefix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d32b122996
commit
29c214e4a0
5 changed files with 69 additions and 26 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,4 +1,12 @@
|
||||||
Wed Feb 6 17:32:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Wed Feb 6 17:32:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* configure.in (rubyarchprefix, sitearchdir, vendorarchdir): add
|
||||||
|
options to customize architecture dependent library directories.
|
||||||
|
|
||||||
|
* template/ruby.pc.in, tool/mkconfig.rb, tool/rbinstall.rb: use
|
||||||
|
configured values.
|
||||||
|
|
||||||
|
* tool/mkconfig.rb: expand rubyarchdir to extract prefix.
|
||||||
|
|
||||||
* configure.in (RUBY_VERSION_NAME), template/ruby.pc.in: add
|
* configure.in (RUBY_VERSION_NAME), template/ruby.pc.in: add
|
||||||
substitution and define.
|
substitution and define.
|
||||||
|
|
30
configure.in
30
configure.in
|
@ -3155,6 +3155,7 @@ shvar_to_cpp() {
|
||||||
-e 's/\${sitedir}/"RUBY_SITE_LIB"/g' \
|
-e 's/\${sitedir}/"RUBY_SITE_LIB"/g' \
|
||||||
-e 's/\${rubylibdir}/"RUBY_LIB"/g' \
|
-e 's/\${rubylibdir}/"RUBY_LIB"/g' \
|
||||||
-e 's/\${rubylibprefix}/"RUBY_LIB_PREFIX"/g' \
|
-e 's/\${rubylibprefix}/"RUBY_LIB_PREFIX"/g' \
|
||||||
|
-e 's/\${rubyarchprefix}/"RUBY_ARCH_PREFIX_FOR(arch)"/g' \
|
||||||
-e 's/\${exec_prefix}/"RUBY_EXEC_PREFIX"/g' \
|
-e 's/\${exec_prefix}/"RUBY_EXEC_PREFIX"/g' \
|
||||||
-e 's|^\"NONE/|RUBY_EXEC_PREFIX\"/|' \
|
-e 's|^\"NONE/|RUBY_EXEC_PREFIX\"/|' \
|
||||||
-e 's|^\"NONE\"|\"'"${prefix}"'\"|' \
|
-e 's|^\"NONE\"|\"'"${prefix}"'\"|' \
|
||||||
|
@ -3174,6 +3175,13 @@ AC_SUBST(rubylibprefix)
|
||||||
rubylibdir='${rubylibprefix}/${ruby_version}'
|
rubylibdir='${rubylibprefix}/${ruby_version}'
|
||||||
rubyarchdir='${rubylibdir}/${arch}'
|
rubyarchdir='${rubylibdir}/${arch}'
|
||||||
|
|
||||||
|
rubyarchprefix='${rubylibprefix}/${arch}'
|
||||||
|
AC_ARG_WITH(rubyarchprefix,
|
||||||
|
AS_HELP_STRING([--with-rubyarchprefix=DIR],
|
||||||
|
[prefix for architecture dependent ruby libraries [[RUBYLIBPREFIX/ARCH]]]),
|
||||||
|
[rubyarchprefix="$withval"])
|
||||||
|
AC_SUBST(rubyarchprefix)
|
||||||
|
|
||||||
RI_BASE_NAME=`echo ${RUBY_BASE_NAME} | sed 's/ruby/ri/'`
|
RI_BASE_NAME=`echo ${RUBY_BASE_NAME} | sed 's/ruby/ri/'`
|
||||||
ridir='${datarootdir}/${RI_BASE_NAME}'
|
ridir='${datarootdir}/${RI_BASE_NAME}'
|
||||||
AC_ARG_WITH(ridir,
|
AC_ARG_WITH(ridir,
|
||||||
|
@ -3212,14 +3220,24 @@ AC_ARG_WITH(sitedir,
|
||||||
[sitedir=$withval],
|
[sitedir=$withval],
|
||||||
[sitedir='${rubylibprefix}/site_ruby'])
|
[sitedir='${rubylibprefix}/site_ruby'])
|
||||||
sitelibdir='${sitedir}/${ruby_version}'
|
sitelibdir='${sitedir}/${ruby_version}'
|
||||||
sitearchdir='${sitelibdir}/${sitearch}'
|
|
||||||
|
AC_ARG_WITH(sitearchdir,
|
||||||
|
AS_HELP_STRING([--with-arch-sitedir=DIR],
|
||||||
|
[architecture dependent site libraries in DIR [[SITEDIR/SITEARCH]], "no" to disable site directory]),
|
||||||
|
[sitearchdir=$withval],
|
||||||
|
[sitearchdir='${sitelibdir}/${sitearch}'])
|
||||||
|
|
||||||
AC_ARG_WITH(vendordir,
|
AC_ARG_WITH(vendordir,
|
||||||
AS_HELP_STRING([--with-vendordir=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]], "no" to disable vendor directory]),
|
AS_HELP_STRING([--with-vendordir=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]], "no" to disable vendor directory]),
|
||||||
[vendordir=$withval],
|
[vendordir=$withval],
|
||||||
[vendordir='${rubylibprefix}/vendor_ruby'])
|
[vendordir='${rubylibprefix}/vendor_ruby'])
|
||||||
vendorlibdir='${vendordir}/${ruby_version}'
|
vendorlibdir='${vendordir}/${ruby_version}'
|
||||||
vendorarchdir='${vendorlibdir}/${sitearch}'
|
|
||||||
|
AC_ARG_WITH(vendorarchdir,
|
||||||
|
AS_HELP_STRING([--with-arch-vendordir=DIR],
|
||||||
|
[architecture dependent vendor libraries in DIR [[VENDORDIR/SITEARCH]], "no" to disable vendor directory]),
|
||||||
|
[vendorarchdir=$withval],
|
||||||
|
[vendorarchdir='${vendorlibdir}/${sitearch}'])
|
||||||
|
|
||||||
if test "${LOAD_RELATIVE+set}"; then
|
if test "${LOAD_RELATIVE+set}"; then
|
||||||
AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)
|
AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)
|
||||||
|
@ -3228,6 +3246,7 @@ else
|
||||||
shvar_to_cpp RUBY_EXEC_PREFIX "${exec_prefix}"
|
shvar_to_cpp RUBY_EXEC_PREFIX "${exec_prefix}"
|
||||||
fi
|
fi
|
||||||
shvar_to_cpp RUBY_LIB_PREFIX "${rubylibprefix}"
|
shvar_to_cpp RUBY_LIB_PREFIX "${rubylibprefix}"
|
||||||
|
shvar_to_cpp RUBY_ARCH_PREFIX_FOR "${rubyarchprefix}"
|
||||||
shvar_to_cpp RIDIR "${ridir}"
|
shvar_to_cpp RIDIR "${ridir}"
|
||||||
|
|
||||||
if test ${RUBY_LIB_VERSION_STYLE+set}; then
|
if test ${RUBY_LIB_VERSION_STYLE+set}; then
|
||||||
|
@ -3237,6 +3256,7 @@ else
|
||||||
fi
|
fi
|
||||||
AC_DEFINE_UNQUOTED(RUBY_EXEC_PREFIX, ${RUBY_EXEC_PREFIX})
|
AC_DEFINE_UNQUOTED(RUBY_EXEC_PREFIX, ${RUBY_EXEC_PREFIX})
|
||||||
AC_DEFINE_UNQUOTED(RUBY_LIB_PREFIX, ${RUBY_LIB_PREFIX} !<verconf>!)
|
AC_DEFINE_UNQUOTED(RUBY_LIB_PREFIX, ${RUBY_LIB_PREFIX} !<verconf>!)
|
||||||
|
AC_DEFINE_UNQUOTED(RUBY_ARCH_PREFIX_FOR(arch), ${RUBY_ARCH_PREFIX_FOR} !<verconf>!)
|
||||||
|
|
||||||
shvar_to_cpp RUBY_LIB "${rubylibdir}"
|
shvar_to_cpp RUBY_LIB "${rubylibdir}"
|
||||||
if test "x${RUBY_LIB}" != 'xRUBY_LIB_PREFIX"/"RUBY_LIB_VERSION'; then
|
if test "x${RUBY_LIB}" != 'xRUBY_LIB_PREFIX"/"RUBY_LIB_VERSION'; then
|
||||||
|
@ -3264,8 +3284,14 @@ fi
|
||||||
AC_SUBST(arch)dnl
|
AC_SUBST(arch)dnl
|
||||||
AC_SUBST(sitearch)dnl
|
AC_SUBST(sitearch)dnl
|
||||||
AC_SUBST(ruby_version)dnl
|
AC_SUBST(ruby_version)dnl
|
||||||
|
AC_SUBST(rubylibdir)dnl
|
||||||
|
AC_SUBST(rubyarchdir)dnl
|
||||||
AC_SUBST(sitedir)dnl
|
AC_SUBST(sitedir)dnl
|
||||||
|
AC_SUBST(sitelibdir)dnl
|
||||||
|
AC_SUBST(sitearchdir)dnl
|
||||||
AC_SUBST(vendordir)dnl
|
AC_SUBST(vendordir)dnl
|
||||||
|
AC_SUBST(vendorlibdir)dnl
|
||||||
|
AC_SUBST(vendorarchdir)dnl
|
||||||
|
|
||||||
configure_args=$ac_configure_args
|
configure_args=$ac_configure_args
|
||||||
AC_SUBST(configure_args)dnl
|
AC_SUBST(configure_args)dnl
|
||||||
|
|
|
@ -26,12 +26,15 @@ LIBS=@LIBS@
|
||||||
DLDFLAGS=@DLDFLAGS@
|
DLDFLAGS=@DLDFLAGS@
|
||||||
ruby=${bindir}/${RUBY_INSTALL_NAME}@EXEEXT@
|
ruby=${bindir}/${RUBY_INSTALL_NAME}@EXEEXT@
|
||||||
rubylibprefix=@rubylibprefix@
|
rubylibprefix=@rubylibprefix@
|
||||||
rubylibdir=${rubylibprefix}/${ruby_version}
|
rubyarchprefix=@rubyarchprefix@
|
||||||
vendordir=${rubylibprefix}/vendor_ruby
|
rubylibdir=@rubylibdir@
|
||||||
sitedir=${rubylibprefix}/site_ruby
|
vendordir=@vendordir@
|
||||||
rubyarchdir=${rubylibdir}/${arch}
|
sitedir=@sitedir@
|
||||||
vendorarchdir=${vendordir}/${sitearch}
|
vendorlibdir=@vendorlibdir@
|
||||||
sitearchdir=${sitedir}/${sitearch}
|
sitelibdir=@sitelibdir@
|
||||||
|
rubyarchdir=@rubyarchdir@
|
||||||
|
vendorarchdir=@vendorarchdir@
|
||||||
|
sitearchdir=@sitearchdir@
|
||||||
rubyhdrdir=@rubyhdrdir@
|
rubyhdrdir=@rubyhdrdir@
|
||||||
vendorhdrdir=@vendorhdrdir@
|
vendorhdrdir=@vendorhdrdir@
|
||||||
sitehdrdir=@sitehdrdir@
|
sitehdrdir=@sitehdrdir@
|
||||||
|
|
|
@ -113,11 +113,10 @@ File.foreach "config.status" do |line|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
vars[name] = val
|
||||||
if name == "configure_args"
|
if name == "configure_args"
|
||||||
val.gsub!(/ +(?!-)/, "=") if win32
|
val.gsub!(/ +(?!-)/, "=") if win32
|
||||||
val.gsub!(/--with-out-ext/, "--without-ext")
|
val.gsub!(/--with-out-ext/, "--without-ext")
|
||||||
elsif name == "libdir"
|
|
||||||
v_runtime[:libdir] = val[/\$(\(exec_prefix\)|\{exec_prefix\})\/(.*)/, 2]
|
|
||||||
end
|
end
|
||||||
val = val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1 ? "$(#{$1})" : $&}.dump
|
val = val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1 ? "$(#{$1})" : $&}.dump
|
||||||
case name
|
case name
|
||||||
|
@ -133,7 +132,6 @@ File.foreach "config.status" do |line|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
v = " CONFIG[\"#{name}\"] #{win32 && vars[name] ? '<< "\n"' : '='} #{val}\n"
|
v = " CONFIG[\"#{name}\"] #{win32 && vars[name] ? '<< "\n"' : '='} #{val}\n"
|
||||||
vars[name] = true
|
|
||||||
if fast[name]
|
if fast[name]
|
||||||
v_fast << v
|
v_fast << v
|
||||||
else
|
else
|
||||||
|
@ -149,7 +147,26 @@ end
|
||||||
|
|
||||||
drive = File::PATH_SEPARATOR == ';'
|
drive = File::PATH_SEPARATOR == ';'
|
||||||
|
|
||||||
prefix = "/#{v_runtime[:libdir] || 'lib'}/ruby/#{version}/#{arch}"
|
def vars.expand(val, config = self)
|
||||||
|
newval = val.gsub(/\$\$|\$\(([^()]+)\)|\$\{([^{}]+)\}/) {
|
||||||
|
var = $&
|
||||||
|
if !(v = $1 || $2)
|
||||||
|
'$'
|
||||||
|
elsif key = config[v = v[/\A[^:]+(?=(?::(.*?)=(.*))?\z)/]]
|
||||||
|
pat, sub = $1, $2
|
||||||
|
config[v] = false
|
||||||
|
config[v] = expand(key, config)
|
||||||
|
key = key.gsub(/#{Regexp.quote(pat)}(?=\s|\z)/n) {sub} if pat
|
||||||
|
key
|
||||||
|
else
|
||||||
|
var
|
||||||
|
end
|
||||||
|
}
|
||||||
|
val.replace(newval) unless newval == val
|
||||||
|
val
|
||||||
|
end
|
||||||
|
vars["prefix"] = ""
|
||||||
|
prefix = vars.expand(vars["rubyarchdir"])
|
||||||
print " TOPDIR = File.dirname(__FILE__).chomp!(#{prefix.dump})\n"
|
print " TOPDIR = File.dirname(__FILE__).chomp!(#{prefix.dump})\n"
|
||||||
print " DESTDIR = ", (drive ? "TOPDIR && TOPDIR[/\\A[a-z]:/i] || " : ""), "'' unless defined? DESTDIR\n"
|
print " DESTDIR = ", (drive ? "TOPDIR && TOPDIR[/\\A[a-z]:/i] || " : ""), "'' unless defined? DESTDIR\n"
|
||||||
print <<'ARCH' if universal
|
print <<'ARCH' if universal
|
||||||
|
@ -207,18 +224,7 @@ end
|
||||||
print(*v_fast)
|
print(*v_fast)
|
||||||
print(*v_others)
|
print(*v_others)
|
||||||
print <<EOS
|
print <<EOS
|
||||||
CONFIG["rubylibdir"] = "$(rubylibprefix)/$(ruby_version)"
|
CONFIG["archdir"] = "$(rubyarchdir)"
|
||||||
CONFIG["archdir"] = "$(rubylibdir)/$(arch)"
|
|
||||||
EOS
|
|
||||||
print <<EOS unless v_disabled["sitedir"]
|
|
||||||
CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)"
|
|
||||||
CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)"
|
|
||||||
EOS
|
|
||||||
print <<EOS unless v_disabled["vendordir"]
|
|
||||||
CONFIG["vendorlibdir"] = "$(vendordir)/$(ruby_version)"
|
|
||||||
CONFIG["vendorarchdir"] = "$(vendorlibdir)/$(sitearch)"
|
|
||||||
EOS
|
|
||||||
print <<EOS
|
|
||||||
CONFIG["topdir"] = File.dirname(__FILE__)
|
CONFIG["topdir"] = File.dirname(__FILE__)
|
||||||
MAKEFILE_CONFIG = {}
|
MAKEFILE_CONFIG = {}
|
||||||
CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}
|
CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}
|
||||||
|
|
|
@ -308,7 +308,7 @@ libdir = CONFIG["libdir", true]
|
||||||
archhdrdir = rubyhdrdir = CONFIG["rubyhdrdir", true]
|
archhdrdir = rubyhdrdir = CONFIG["rubyhdrdir", true]
|
||||||
archhdrdir += "/" + CONFIG["arch", true]
|
archhdrdir += "/" + CONFIG["arch", true]
|
||||||
rubylibdir = CONFIG["rubylibdir", true]
|
rubylibdir = CONFIG["rubylibdir", true]
|
||||||
archlibdir = CONFIG["archdir", true]
|
archlibdir = CONFIG["rubyarchdir", true]
|
||||||
sitelibdir = CONFIG["sitelibdir"]
|
sitelibdir = CONFIG["sitelibdir"]
|
||||||
sitearchlibdir = CONFIG["sitearchdir"]
|
sitearchlibdir = CONFIG["sitearchdir"]
|
||||||
vendorlibdir = CONFIG["vendorlibdir"]
|
vendorlibdir = CONFIG["vendorlibdir"]
|
||||||
|
|
Loading…
Add table
Reference in a new issue