diff options
author | Jeroen van Meeuwen (OGD) <j.van.meeuwen@ogd.nl> | 2009-12-21 23:48:37 +0100 |
---|---|---|
committer | Jeroen van Meeuwen (OGD) <j.van.meeuwen@ogd.nl> | 2009-12-22 01:36:19 +0100 |
commit | f41c89f8f1401f7b3d8c14207c0779f53cdfcc4a (patch) | |
tree | f3233c6a0b0586d4f082921cdd5ac84ccb464d64 | |
parent | b2b9f9b79738646cdc6d7babd341913cc3587b53 (diff) | |
download | ruby-f41c89f8f1401f7b3d8c14207c0779f53cdfcc4a.tar.gz ruby-f41c89f8f1401f7b3d8c14207c0779f53cdfcc4a.tar.xz ruby-f41c89f8f1401f7b3d8c14207c0779f53cdfcc4a.zip |
Provide the following searchpath for ruby-1.8.6:ruby_1_8_6_383-fedora
/usr/local/lib{,64}/ruby/1.8.6/
/usr/local/lib{,64}/ruby/1.8/
/usr/local/lib{,64}/ruby/
/usr/local/share/ruby/1.8.6/
/usr/local/share/ruby/1.8/
/usr/local/share/ruby/
/usr/lib{,64}/ruby/1.8.6/
/usr/lib{,64}/ruby/1.8/
/usr/lib{,64}/ruby/
/usr/share/ruby/1.8.6/
/usr/share/ruby/1.8/
/usr/share/ruby/
-rw-r--r-- | Makefile.in | 5 | ||||
-rw-r--r-- | configure.in | 94 | ||||
-rwxr-xr-x | mkconfig.rb | 10 | ||||
-rw-r--r-- | ruby.c | 23 |
4 files changed, 107 insertions, 25 deletions
diff --git a/Makefile.in b/Makefile.in index 314e1ed25..bfa78ce09 100644 --- a/Makefile.in +++ b/Makefile.in @@ -24,6 +24,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 abba9bbfe..068c92507 100644 --- a/configure.in +++ b/configure.in @@ -1623,27 +1623,97 @@ case "$target_os" in esac RUBY_LIB_PATH="${RUBY_LIB_PREFIX}/${MAJOR}.${MINOR}" +AC_ARG_WITH(ruby_version, + [ --with-ruby-version=full|minor Use full or Major.Minor [full]], + [ruby_version=$with_val] + [ruby_version="full"]) + +case "$ruby_version" in + full) + ruby_version="${MAJOR}.${MINOR}.${TEENY}" + ruby_mm_version="${MAJOR}.${MINOR}" + ;; + minor) + ruby_version="${MAJOR}.${MINOR}" + ;; +esac + AC_ARG_WITH(sitedir, [ --with-sitedir=DIR site libraries in DIR [PREFIX/lib/ruby/site_ruby]], [sitedir=$withval], [sitedir="`eval "echo ${libdir}"`/ruby/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_SITE_LIB_PATH="`expr "$SITE_DIR" : "$prefix\(/.*\)"`" || RUBY_SITE_LIB_PATH="$SITE_DIR";; *) - RUBY_SITE_LIB_PATH="$SITE_DIR";; + 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_SITE_LIB_PATH2="${RUBY_SITE_LIB_PATH}/${MAJOR}.${MINOR}" -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}") +RUBY_LIB_PATH="${RUBY_LIB_PREFIX}/${ruby_version}" +RUBY_SITE_ARCH_PATH_1="${RUBY_SITE_ARCH_PATH}${ruby_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_3="${RUBY_SITE_LIB_PATH}" +RUBY_VENDOR_ARCH_PATH_1="${RUBY_VENDOR_ARCH_PATH}${ruby_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_3="${RUBY_VENDOR_LIB_PATH}" + +AC_DEFINE_UNQUOTED(RUBY_LIB_ARCH, "${RUBY_LIB_PATH}") +AC_DEFINE_UNQUOTED(RUBY_SITE_ARCH, "${RUBY_SITE_ARCH_PATH_1}") +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_LIB3, "${RUBY_SITE_LIB_PATH_3}") +AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCH, "${RUBY_VENDOR_ARCH_PATH_1}") +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_LIB3, "${RUBY_VENDOR_LIB_PATH_3}") + +if test "$ruby_mm_version" != NONE ; then + RUBY_SITE_ARCH_PATH_2="${RUBY_SITE_ARCH_PATH}${ruby_mm_version}" + RUBY_SITE_LIB_PATH_2="${RUBY_SITE_LIB_PATH}${ruby_mm_version}" + RUBY_VENDOR_ARCH_PATH_2="${RUBY_VENDOR_ARCH_PATH}${ruby_mm_version}" + RUBY_VENDOR_LIB_PATH_2="${RUBY_VENDOR_LIB_PATH}${ruby_mm_version}" + AC_DEFINE_UNQUOTED(RUBY_SITE_ARCH2, "${RUBY_SITE_ARCH_PATH_2}") + AC_DEFINE_UNQUOTED(RUBY_SITE_LIB2, "${RUBY_SITE_LIB_PATH_2}") + AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCH2, "${RUBY_VENDOR_ARCH_PATH_2}") + AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB2, "${RUBY_VENDOR_LIB_PATH_2}") + AC_SUBST(ruby_mm_version)dnl +fi AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl +AC_SUBST(ruby_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 @@ -1654,10 +1724,14 @@ 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}") + AC_DEFINE_UNQUOTED(RUBY_PLATFORM, __ARCHITECTURE__ "-${target_os}") else arch="${target_cpu}-${target_os}" @@ -1669,8 +1743,10 @@ 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_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/mkconfig.rb b/mkconfig.rb index bffefdad1..6a3668e6a 100755 --- a/mkconfig.rb +++ b/mkconfig.rb @@ -138,11 +138,11 @@ end print(*v_fast) print(*v_others) print <<EOS - CONFIG["ruby_version"] = "$(MAJOR).$(MINOR)" - CONFIG["rubylibdir"] = "$(libdir)/ruby/$(ruby_version)" - CONFIG["archdir"] = "$(rubylibdir)/$(arch)" - CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)" - CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)" + CONFIG["ruby_version"] = "$(MAJOR).$(MINOR).$(TEENY)" + CONFIG["rubylibdir"] = "$(vendordir)/$(ruby_version)" + CONFIG["archdir"] = "$(libdir)/ruby/$(ruby_version)" + CONFIG["sitelibdir"] = "$(sitedir)" + CONFIG["sitearchdir"] = "$(vendordir)" CONFIG["topdir"] = File.dirname(__FILE__) MAKEFILE_CONFIG = {} CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup} @@ -315,18 +315,19 @@ ruby_init_loadpath() 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_LIB)); -#ifdef RUBY_THIN_ARCHLIB - incpush(RUBY_RELATIVE(RUBY_THIN_ARCHLIB)); -#endif - incpush(RUBY_RELATIVE(RUBY_ARCHLIB)); + incpush(RUBY_RELATIVE(RUBY_SITE_LIB2)); + incpush(RUBY_RELATIVE(RUBY_SITE_LIB3)); + + 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_VENDOR_LIB2)); + incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB3)); if (rb_safe_level() == 0) { incpush("."); |