diff options
| author | Jeroen van Meeuwen (OGD) <j.van.meeuwen@ogd.nl> | 2009-12-22 01:34:35 +0100 |
|---|---|---|
| committer | Jeroen van Meeuwen (OGD) <j.van.meeuwen@ogd.nl> | 2009-12-22 01:34:35 +0100 |
| commit | 6c8ae98039e8481c694599dc23863e763625c444 (patch) | |
| tree | cf67070bcd0bec3819fab39b71b15f122521e4f4 | |
| parent | 2f562cc2b75d1f0fa1152c2ce440da34c80964fc (diff) | |
Provide the following searchpath for ruby-1.9.1:
/usr/local/lib{,64}/ruby/1.9.1/
/usr/local/lib{,64}/ruby/1.9/
/usr/local/lib{,64}/ruby/
/usr/local/share/ruby/1.9.1/
/usr/local/share/ruby/1.9/
/usr/local/share/ruby/
/usr/lib{,64}/ruby/1.9.1/
/usr/lib{,64}/ruby/1.9/
/usr/lib{,64}/ruby/
/usr/share/ruby/1.9.1/
/usr/share/ruby/1.9/
/usr/share/ruby/
| -rw-r--r-- | Makefile.in | 4 | ||||
| -rw-r--r-- | configure.in | 60 | ||||
| -rw-r--r-- | gem_prelude.rb | 10 | ||||
| -rwxr-xr-x | mkconfig.rb | 10 | ||||
| -rw-r--r-- | ruby.c | 26 |
5 files changed, 70 insertions, 40 deletions
diff --git a/Makefile.in b/Makefile.in index c0a9fe55d..7b3b313e3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -28,7 +28,11 @@ datadir = @datadir@ arch = @arch@ sitearch = @sitearch@ sitedir = @sitedir@ +sitearchdir = @sitearchdir@ +vendordir = @vendordir@ +vendorarchdir = @vendorarchdir@ ruby_version = @ruby_version@ +ruby_mm_version = @ruby_mm_version@ TESTUI = console TESTS = diff --git a/configure.in b/configure.in index 94ff4201e..2e6297e42 100644 --- a/configure.in +++ b/configure.in @@ -2011,6 +2011,7 @@ AC_ARG_WITH(ruby-version, case "$ruby_version" in full) ruby_version="${MAJOR}.${MINOR}.${TEENY}" + ruby_mm_version="${MAJOR}.${MINOR}" ;; minor) ruby_version="${MAJOR}.${MINOR}" @@ -2023,12 +2024,24 @@ AC_ARG_WITH(sitedir, [sitedir='${libdir}/${RUBY_INSTALL_NAME}/site_ruby']) SITE_DIR=`eval echo \\"${sitedir}\\"` +AC_ARG_WITH(sitearchdir, + [ --with-sitearchdir=DIR site arch. libraries in DIR [[LIBDIR/ruby/site_ruby]]], + [sitearchdir=$withval], + [sitearchdir='${libdir}/${RUBY_INSTALL_NAME}/site_ruby']) +SITE_ARCH_DIR=`eval echo \\"${sitearchdir}\\"` + 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}\\"` +AC_ARG_WITH(vendorarchdir, + [ --with-vendorarchdir=DIR vendor arch. libraries in DIR [[LIBDIR/ruby/vendor_ruby]]], + [vendorarchdir=$withval], + [vendorarchdir='${libdir}/${RUBY_INSTALL_NAME}/vendor_ruby']) +VENDOR_ARCH_DIR=`eval echo \\"${vendorarchdir}\\"` + case "$target_os" in cygwin*|mingw*|*djgpp*|os2-emx*) RUBY_LIB_PREFIX="`eval echo "$RUBY_LIB_PREFIX" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" @@ -2037,25 +2050,48 @@ case "$target_os" in ;; *) RUBY_LIB_PREFIX="`eval echo \\"$RUBY_LIB_PREFIX\\" | sed 's|^NONE/|'"$prefix"'/|'`" + RUBY_SITE_ARCH_PATH="`eval echo \\"$SITE_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"'/|'`" + RUBY_VENDOR_ARCH_PATH="`eval echo \\"$VENDOR_ARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" ;; esac RUBY_LIB_PATH="${RUBY_LIB_PREFIX}/${ruby_version}" -RUBY_SITE_LIB_PATH2="${RUBY_SITE_LIB_PATH}/${ruby_version}" -RUBY_VENDOR_LIB_PATH2="${RUBY_VENDOR_LIB_PATH}/${ruby_version}" +RUBY_SITE_ARCH_PATH_1="${RUBY_SITE_ARCH_PATH}${ruby_version}" +RUBY_SITE_ARCH_PATH_2="${RUBY_SITE_ARCH_PATH}${ruby_mm_version}" +RUBY_SITE_ARCH_PATH_3="${RUBY_SITE_ARCH_PATH}" +RUBY_SITE_LIB_PATH_1="${RUBY_SITE_LIB_PATH}${ruby_version}" +RUBY_SITE_LIB_PATH_2="${RUBY_SITE_LIB_PATH}${ruby_mm_version}" +RUBY_SITE_LIB_PATH_3="${RUBY_SITE_LIB_PATH}" +RUBY_VENDOR_ARCH_PATH_1="${RUBY_VENDOR_ARCH_PATH}${ruby_version}" +RUBY_VENDOR_ARCH_PATH_2="${RUBY_VENDOR_ARCH_PATH}${ruby_mm_version}" +RUBY_VENDOR_ARCH_PATH_3="${RUBY_VENDOR_ARCH_PATH}" +RUBY_VENDOR_LIB_PATH_1="${RUBY_VENDOR_LIB_PATH}${ruby_version}" +RUBY_VENDOR_LIB_PATH_2="${RUBY_VENDOR_LIB_PATH}${ruby_mm_version}" +RUBY_VENDOR_LIB_PATH_3="${RUBY_VENDOR_LIB_PATH}" AC_DEFINE_UNQUOTED(RUBY_LIB, "${RUBY_LIB_PATH}") -AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, "${RUBY_SITE_LIB_PATH}") -AC_DEFINE_UNQUOTED(RUBY_SITE_LIB2, "${RUBY_SITE_LIB_PATH2}") -AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB, "${RUBY_VENDOR_LIB_PATH}") -AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB2, "${RUBY_VENDOR_LIB_PATH2}") +AC_DEFINE_UNQUOTED(RUBY_SITE_ARCH, "${RUBY_SITE_ARCH_PATH_1}") +AC_DEFINE_UNQUOTED(RUBY_SITE_ARCH2, "${RUBY_SITE_ARCH_PATH_2}") +AC_DEFINE_UNQUOTED(RUBY_SITE_ARCH3, "${RUBY_SITE_ARCH_PATH_3}") +AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, "${RUBY_SITE_LIB_PATH_1}") +AC_DEFINE_UNQUOTED(RUBY_SITE_LIB2, "${RUBY_SITE_LIB_PATH_2}") +AC_DEFINE_UNQUOTED(RUBY_SITE_LIB3, "${RUBY_SITE_LIB_PATH_3}") +AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCH, "${RUBY_VENDOR_ARCH_PATH_1}") +AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCH2, "${RUBY_VENDOR_ARCH_PATH_2}") +AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCH3, "${RUBY_VENDOR_ARCH_PATH_3}") +AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB, "${RUBY_VENDOR_LIB_PATH_1}") +AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB2, "${RUBY_VENDOR_LIB_PATH_2}") +AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB3, "${RUBY_VENDOR_LIB_PATH_3}") AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl +AC_SUBST(ruby_mm_version)dnl AC_SUBST(sitedir)dnl +AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl +AC_SUBST(vendorarchdir)dnl configure_args=$ac_configure_args AC_SUBST(configure_args)dnl @@ -2066,12 +2102,12 @@ if test "$fat_binary" != no ; then arch="fat-${target_os}" AC_DEFINE_UNQUOTED(RUBY_THIN_ARCHLIB, - "${RUBY_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}") + "${RUBY_LIB_PATH}") AC_DEFINE_UNQUOTED(RUBY_SITE_THIN_ARCHLIB, - "${RUBY_SITE_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}") + "${RUBY_SITE_LIB_PATH}") AC_DEFINE_UNQUOTED(RUBY_VENDOR_THIN_ARCHLIB, - "${RUBY_VENDOR_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}") + "${RUBY_VENDOR_LIB_PATH}") AC_DEFINE_UNQUOTED(RUBY_PLATFORM, __ARCHITECTURE__ "-${target_os}") else arch="${target_cpu}-${target_os}" @@ -2083,9 +2119,9 @@ case "$target_os" in *) 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_LIB_PATH}") +AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB, "${RUBY_SITE_LIB_PATH3}") +AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCHLIB, "${RUBY_VENDOR_LIB_PATH3}") AC_ARG_WITH(search-path, [ --with-search-path=DIR specify the additional search path], diff --git a/gem_prelude.rb b/gem_prelude.rb index b5da35e18..d2efb8c3a 100644 --- a/gem_prelude.rb +++ b/gem_prelude.rb @@ -113,14 +113,11 @@ if defined?(Gem) then def self.default_dir if defined? RUBY_FRAMEWORK_VERSION then - File.join File.dirname(ConfigMap[:sitedir]), 'Gems', - ConfigMap[:ruby_version] + File.join File.dirname(ConfigMap[:sitedir]), 'Gems' elsif RUBY_VERSION > '1.9' then - File.join(ConfigMap[:libdir], ConfigMap[:ruby_install_name], 'gems', - ConfigMap[:ruby_version]) + File.join(ConfigMap[:libdir], ConfigMap[:ruby_install_name], 'gems') else - File.join(ConfigMap[:libdir], ruby_engine, 'gems', - ConfigMap[:ruby_version]) + File.join(ConfigMap[:libdir], ruby_engine, 'gems') end end @@ -354,6 +351,7 @@ if defined?(Gem) then Gem.push_all_highest_version_gems_on_load_path $" << File.join(Gem::ConfigMap[:libdir], Gem::ConfigMap[:ruby_install_name], Gem::ConfigMap[:ruby_version], "rubygems.rb") + rescue Exception => e puts "Error loading gem paths on load path in gem_prelude" puts e diff --git a/mkconfig.rb b/mkconfig.rb index d6a9d0398..24c8b9fd8 100755 --- a/mkconfig.rb +++ b/mkconfig.rb @@ -140,12 +140,10 @@ end 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"] = "$(vendordir)/$(ruby_version)" + CONFIG["archdir"] = "$(libdir)/ruby/$(ruby_version)" + CONFIG["sitelibdir"] = "$(sitedir)" + CONFIG["vendorlibdir"] = "$(vendordir)" CONFIG["topdir"] = File.dirname(__FILE__) MAKEFILE_CONFIG = {} CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup} @@ -407,25 +407,19 @@ ruby_init_loadpath_safe(int safe_level) incpush(RUBY_RELATIVE(RUBY_SEARCH_PATH)); #endif - incpush(RUBY_RELATIVE(RUBY_SITE_LIB2)); -#ifdef RUBY_SITE_THIN_ARCHLIB - incpush(RUBY_RELATIVE(RUBY_SITE_THIN_ARCHLIB)); -#endif - incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB)); + incpush(RUBY_RELATIVE(RUBY_SITE_ARCH)); + incpush(RUBY_RELATIVE(RUBY_SITE_ARCH2)); + incpush(RUBY_RELATIVE(RUBY_SITE_ARCH3)); incpush(RUBY_RELATIVE(RUBY_SITE_LIB)); + incpush(RUBY_RELATIVE(RUBY_SITE_LIB2)); + incpush(RUBY_RELATIVE(RUBY_SITE_LIB3)); - incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB2)); -#ifdef RUBY_VENDOR_THIN_ARCHLIB - incpush(RUBY_RELATIVE(RUBY_VENDOR_THIN_ARCHLIB)); -#endif - incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCHLIB)); + incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCH)); + incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCH2)); + incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCH3)); incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB)); - - incpush(RUBY_RELATIVE(RUBY_LIB)); -#ifdef RUBY_THIN_ARCHLIB - incpush(RUBY_RELATIVE(RUBY_THIN_ARCHLIB)); -#endif - incpush(RUBY_RELATIVE(RUBY_ARCHLIB)); + incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB2)); + incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB3)); if (safe_level == 0) { incpush("."); |
