From: "akira yamada / やまだあきら" Date: 2009-01-09T19:52:50+09:00 Subject: [ruby-dev:37749] $LOAD_PATHのconfigureによる指定 --Apple-Mail-2--211875170 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Ruby 1.9.1RC1では$LOAD_PATHの中の /usr/lib/rubyのrubyの部分が rubyコマンドの名前と同じになようになっています。 --with-suffix=-fooとすると /usr/lib/ruby-fooとなります。 そのことがすごく困るということはないのですが これまでのディレクトリ構成と変わってしまい、 かつ何かで指定することが簡単にはできません。 site_rubyと同様にconfigureで指定できると良いなと思います。 ついでにarchdirなどと個別に指定できると 良いなと以前から思っていたのですが、 いっそのことすべて指定できると良いのかなと考えました。 添付したような変更はどうでしょうか。 (名前がぶつかりそうになったので 適当な名前に変えてしまっています。) 検討していただけるとうれしいです。 -- ay --Apple-Mail-2--211875170 Content-Disposition: attachment; filename=load_path_setting.diff Content-Type: application/octet-stream; x-unix-mode=0644; name="load_path_setting.diff" Content-Transfer-Encoding: 7bit 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 <