[#37679] [FEATURE:trunk] EncDet again — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

23 messages 2009/01/03

[#37748] $LOAD_PATHとバージョンの運用の関係 — akira yamada / やまだあきら <akira@...>

1.9系でのバージョンの運用と$LOAD_PATHの値について質問です。

12 messages 2009/01/09
[#37758] Re: $LOAD_PATHとバージョンの運用の関係 — "NARUSE, Yui" <naruse@...> 2009/01/11

成瀬です。

[ruby-dev:37749] $LOAD_PATHのconfigureによる指定

From: akira yamada / やまだあきら <akira@...>
Date: 2009-01-09 10:52:50 UTC
List: ruby-dev #37749
Ruby 1.9.1RC1では$LOAD_PATHの中の
/usr/lib/rubyのrubyの部分が
rubyコマンドの名前と同じになようになっています。
--with-suffix=-fooとすると
/usr/lib/ruby-fooとなります。

そのことがすごく困るということはないのですが
これまでのディレクトリ構成と変わってしまい、
かつ何かで指定することが簡単にはできません。
site_rubyと同様にconfigureで指定できると良いなと思います。

ついでにarchdirなどと個別に指定できると
良いなと以前から思っていたのですが、
いっそのことすべて指定できると良いのかなと考えました。
添付したような変更はどうでしょうか。
(名前がぶつかりそうになったので
適当な名前に変えてしまっています。)

検討していただけるとうれしいです。

-- 
ay

Attachments (1)

load_path_setting.diff (6.72 KB, text/x-diff)
Index: configure.in
===================================================================
--- configure.in	(revision 21405)
+++ configure.in	(working copy)
@@ -1972,7 +1972,6 @@
     rubyw_install_name="$RUBYW_INSTALL_NAME"
     ;;
 esac
-RUBY_LIB_PREFIX=`eval echo \\"${libdir}/${RUBY_INSTALL_NAME}\\"`
 
 AC_ARG_WITH(ruby-version,
 	    [  --with-ruby-version=STR ruby version string for version specific directories [[full]] (full|minor|STR)],
@@ -1987,33 +1986,66 @@
     ;;
 esac
 
+AC_ARG_WITH(stddir,
+	    [  --with-stddir=DIR       standard libraries in DIR [[LIBDIR/ruby]]],
+            [cf_stddir=$withval],
+            [cf_stddir='${libdir}/${RUBY_INSTALL_NAME}'])
+RUBY_LIB_PREFIX=`eval echo \\"${cf_stddir}\\"`
+
 AC_ARG_WITH(sitedir,
 	    [  --with-sitedir=DIR      site libraries in DIR [[LIBDIR/ruby/site_ruby]]],
-            [sitedir=$withval],
-            [sitedir='${libdir}/${RUBY_INSTALL_NAME}/site_ruby'])
-SITE_DIR=`eval echo \\"${sitedir}\\"`
+            [cf_sitedir=$withval],
+            [cf_sitedir='${libdir}/${RUBY_INSTALL_NAME}/site_ruby'])
+SITE_DIR=`eval echo \\"${cf_sitedir}\\"`
 
 AC_ARG_WITH(vendordir,
 	    [  --with-vendordir=DIR    vendor libraries in DIR [[LIBDIR/ruby/vendor_ruby]]],
-            [vendordir=$withval],
-            [vendordir='${libdir}/${RUBY_INSTALL_NAME}/vendor_ruby'])
-VENDOR_DIR=`eval echo \\"${vendordir}\\"`
+            [cf_vendordir=$withval],
+            [cf_vendordir='${libdir}/${RUBY_INSTALL_NAME}/vendor_ruby'])
+VENDOR_DIR=`eval echo \\"${cf_vendordir}\\"`
 
+AC_ARG_WITH(stdarchdir,
+	    [  --with-stdarchdir=DIR   standard libraries (arch) in DIR [[LIBDIR/ruby]]],
+            [cf_stdarchdir=$withval],
+            [cf_stdarchdir='${libdir}/${RUBY_INSTALL_NAME}'])
+RUBY_ARCH_PREFIX=`eval echo \\"${cf_stdarchdir}\\"`
+
+AC_ARG_WITH(sitearchdir,
+	    [  --with-sitearchdir=DIR  site libraries (arch) in DIR [[LIBDIR/ruby/site_ruby]]],
+            [cf_sitearchdir=$withval],
+            [cf_sitearchdir='${libdir}/${RUBY_INSTALL_NAME}/site_ruby'])
+SITE_ARCH_DIR=`eval echo \\"${cf_sitearchdir}\\"`
+
+AC_ARG_WITH(vendorarchdir,
+	    [  --with-vendorarchdir=DIR vendor libraries (arch) in DIR [[LIBDIR/ruby/vendor_ruby]]],
+            [cf_vendorarchdir=$withval],
+            [cf_vendorarchdir='${libdir}/${RUBY_INSTALL_NAME}/vendor_ruby'])
+VENDOR_ARCH_DIR=`eval echo \\"${cf_vendorarchdir}\\"`
+
 case "$target_os" in
   cygwin*|mingw*|*djgpp*|os2-emx*)
     RUBY_LIB_PREFIX="`eval echo "$RUBY_LIB_PREFIX" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
+    RUBY_ARCH_PREFIX="`eval echo "$RUBY_ARCH_PREFIX" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
     RUBY_SITE_LIB_PATH="`eval echo "$SITE_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
+    RUBY_SITE_ARCH_PATH="`eval echo "$SITE_ARCH_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
     RUBY_VENDOR_LIB_PATH="`eval echo "$VENDOR_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
+    RUBY_VENDOR_ARCH_PATH="`eval echo "$VENDOR_ARCH_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
     ;;
   *)
     RUBY_LIB_PREFIX="`eval echo \\"$RUBY_LIB_PREFIX\\" | sed 's|^NONE/|'"$prefix"'/|'`"
+    RUBY_ARCH_PREFIX="`eval echo \\"$RUBY_ARCH_PREFIX\\" | sed 's|^NONE/|'"$prefix"'/|'`"
     RUBY_SITE_LIB_PATH="`eval echo \\"$SITE_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`"
+    RUBY_SITE_ARCH_PATH="`eval echo \\"$SITE_ARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`"
     RUBY_VENDOR_LIB_PATH="`eval echo \\"$VENDOR_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`"
+    RUBY_VENDOR_ARCH_PATH="`eval echo \\"$VENDOR_ARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`"
     ;;
 esac
 RUBY_LIB_PATH="${RUBY_LIB_PREFIX}/${ruby_version}"
+RUBY_ARCH_PATH="${RUBY_ARCH_PREFIX}/${ruby_version}"
 RUBY_SITE_LIB_PATH2="${RUBY_SITE_LIB_PATH}/${ruby_version}"
+RUBY_SITE_ARCH_PATH2="${RUBY_SITE_ARCH_PATH}/${ruby_version}"
 RUBY_VENDOR_LIB_PATH2="${RUBY_VENDOR_LIB_PATH}/${ruby_version}"
+RUBY_VENDOR_ARCH_PATH2="${RUBY_VENDOR_ARCH_PATH}/${ruby_version}"
 
 AC_DEFINE_UNQUOTED(RUBY_LIB, "${RUBY_LIB_PATH}")
 AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, "${RUBY_SITE_LIB_PATH}")
@@ -2024,8 +2056,12 @@
 AC_SUBST(arch)dnl
 AC_SUBST(sitearch)dnl
 AC_SUBST(ruby_version)dnl
-AC_SUBST(sitedir)dnl
-AC_SUBST(vendordir)dnl
+AC_SUBST(cf_stddir)dnl
+AC_SUBST(cf_stdarchdir)dnl
+AC_SUBST(cf_sitedir)dnl
+AC_SUBST(cf_sitarchedir)dnl
+AC_SUBST(cf_vendordir)dnl
+AC_SUBST(cf_vendorarchdir)dnl
 
 configure_args=$ac_configure_args
 AC_SUBST(configure_args)dnl
@@ -2034,12 +2070,12 @@
     arch="fat-${target_os}"
 
     AC_DEFINE_UNQUOTED(RUBY_THIN_ARCHLIB,
-                 "${RUBY_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}")
+                 "${RUBY_ARCH_PATH}/" __ARCHITECTURE__ "-${target_os}")
 
     AC_DEFINE_UNQUOTED(RUBY_SITE_THIN_ARCHLIB,
-                 "${RUBY_SITE_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}")
+                 "${RUBY_SITE_ARCH_PATH}/" __ARCHITECTURE__ "-${target_os}")
     AC_DEFINE_UNQUOTED(RUBY_VENDOR_THIN_ARCHLIB,
-                 "${RUBY_VENDOR_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}")
+                 "${RUBY_VENDOR_ARCH_PATH}/" __ARCHITECTURE__ "-${target_os}")
     AC_DEFINE_UNQUOTED(RUBY_PLATFORM, __ARCHITECTURE__ "-${target_os}")
 else
     arch="${target_cpu}-${target_os}"
@@ -2051,9 +2087,9 @@
   *) sitearch="${arch}" ;;
 esac
 
-AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, "${RUBY_LIB_PATH}/${arch}")
-AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB, "${RUBY_SITE_LIB_PATH2}/${sitearch}")
-AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCHLIB, "${RUBY_VENDOR_LIB_PATH2}/${sitearch}")
+AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, "${RUBY_ARCH_PATH}/${arch}")
+AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB, "${RUBY_SITE_ARCH_PATH2}/${sitearch}")
+AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCHLIB, "${RUBY_VENDOR_ARCH_PATH2}/${sitearch}")
 
 AC_ARG_WITH(search-path,
 		[  --with-search-path=DIR specify the additional search path],
Index: mkconfig.rb
===================================================================
--- mkconfig.rb	(revision 21405)
+++ mkconfig.rb	(working copy)
@@ -140,12 +140,12 @@
 print(*v_fast)
 print(*v_others)
 print <<EOS
-  CONFIG["rubylibdir"] = "$(libdir)/$(ruby_install_name)/$(ruby_version)"
-  CONFIG["archdir"] = "$(rubylibdir)/$(arch)"
-  CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)"
-  CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)"
-  CONFIG["vendorlibdir"] = "$(vendordir)/$(ruby_version)"
-  CONFIG["vendorarchdir"] = "$(vendorlibdir)/$(sitearch)"
+  CONFIG["rubylibdir"] = "$(cf_stddir)/$(ruby_version)"
+  CONFIG["archdir"] = "$(cf_stdarchdir)/$(ruby_version)/$(arch)"
+  CONFIG["sitelibdir"] = "$(cf_sitedir)/$(ruby_version)"
+  CONFIG["sitearchdir"] = "$(cf_sitearchdir)/$(ruby_version)/$(sitearch)"
+  CONFIG["vendorlibdir"] = "$(cf_vendordir)/$(ruby_version)"
+  CONFIG["vendorarchdir"] = "$(cf_vendorarchdir)/$(ruby_version)/$(sitearch)"
   CONFIG["topdir"] = File.dirname(__FILE__)
   MAKEFILE_CONFIG = {}
   CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}

In This Thread

Prev Next