From 50d6113cc3752d1810d58b78d9d009662e143041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 8 Sep 2011 15:30:05 +0200 Subject: [PATCH] Add configuration arch specific dir flag. --- Makefile.in | 1 + configure.in | 20 ++++++++++++++++++++ tool/mkconfig.rb | 4 +++- version.c | 2 ++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index 78d7139..690ff8e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -36,6 +36,7 @@ libexecdir = @libexecdir@ datarootdir = @datarootdir@ datadir = @datadir@ arch = @arch@ +archdir = @archdir@ sitearch = @sitearch@ sitedir = @sitedir@ ruby_version = @ruby_version@ diff --git a/configure.in b/configure.in index db3641b..8e4aaec 100644 --- a/configure.in +++ b/configure.in @@ -3151,6 +3151,15 @@ else RUBY_LIB_VERSION="\"${ruby_version}\"" fi +AC_ARG_WITH(archdir, + AS_HELP_STRING([--with-archdir=DIR], [architecture specific ruby libraries [[LIBDIR/RUBY_BASE_NAME/ARCH]]]), + [archdir=$withval], + [archdir='${rubylibprefix}/${arch}']) +dir="${archdir}" +until ARCH_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${ARCH_DIR}"; do + dir="${ARCH_DIR}" +done + AC_ARG_WITH(sitedir, AS_HELP_STRING([--with-sitedir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]], "no" to disable site directory]), [sitedir=$withval], @@ -3173,16 +3182,25 @@ if test "${LOAD_RELATIVE+set}"; then AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) RUBY_EXEC_PREFIX="" RUBY_LIB_PREFIX="`eval echo "$RUBY_LIB_PREFIX" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" + RUBY_ARCH_LIB_PATH="`eval echo "$ARCH_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" RUBY_SITE_LIB_PATH="`eval echo "$SITE_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" RUBY_VENDOR_LIB_PATH="`eval echo "$VENDOR_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" else RUBY_EXEC_PREFIX="`eval echo \\"$exec_prefix/\\" | sed 's|^NONE/|'"$prefix"'/|;s|/$||'`" RUBY_LIB_PREFIX="`eval echo \\"$RUBY_LIB_PREFIX\\" | sed 's|^NONE/|'"$prefix"'/|'`" + RUBY_ARCH_LIB_PATH="`eval echo \\"$ARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" RUBY_SITE_LIB_PATH="`eval echo \\"$SITE_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" RUBY_VENDOR_LIB_PATH="`eval echo \\"$VENDOR_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" fi pat=`echo "$RUBY_LIB_PREFIX/" | tr -c '\012' .`'\(.*\)' +AS_CASE(["$RUBY_ARCH_LIB_PATH"], + ["$RUBY_LIB_PREFIX/"*], [ + RUBY_ARCH_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_ARCH_LIB_PATH\" : \"$pat\"`"'"' + ], + [ + RUBY_ARCH_LIB_PATH="\"${RUBY_ARCH_LIB_PATH}\"" + ]) AS_CASE(["$RUBY_SITE_LIB_PATH"], ["$RUBY_LIB_PREFIX/"*], [ RUBY_SITE_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_SITE_LIB_PATH\" : \"$pat\"`"'"' @@ -3213,6 +3231,7 @@ else fi AC_DEFINE_UNQUOTED(RUBY_EXEC_PREFIX, "${RUBY_EXEC_PREFIX}") AC_DEFINE_UNQUOTED(RUBY_LIB_PREFIX, ${RUBY_LIB_PREFIX} !!) +AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, ${RUBY_ARCH_LIB_PATH} !!) if test "x$SITE_DIR" = xno; then AC_DEFINE(NO_RUBY_SITE_LIB, [] !!) else @@ -3227,6 +3246,7 @@ fi AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl +AC_SUBST(archdir)dnl AC_SUBST(sitedir)dnl AC_SUBST(vendordir)dnl diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb index d9e26c1..03c3332 100755 --- a/tool/mkconfig.rb +++ b/tool/mkconfig.rb @@ -43,6 +43,7 @@ vars = {} continued_name = nil continued_line = nil path_version = "/$(ruby_version)" +archdir_override = "$(vendorlibdir)/$(sitearch)" File.foreach "config.status" do |line| next if /^#/ =~ line name = nil @@ -77,6 +78,7 @@ File.foreach "config.status" do |line| when /^RUBY_INSTALL_NAME$/; next if $install_name when /^RUBY_SO_NAME$/; next if $so_name when /^arch$/; if val.empty? then val = arch else arch = val end + when /^archdir$/; archdir_override = val; next when /^sitearch/; val = '$(arch)' if val.empty? end case val @@ -207,7 +209,7 @@ print(*v_fast) print(*v_others) print <