diff --git a/configure.in b/configure.in index c896ed0..f5f88ad 100644 --- a/configure.in +++ b/configure.in @@ -107,7 +107,6 @@ AC_SUBST(RUBY_BASE_NAME) AC_SUBST(RUBYW_BASE_NAME) AC_CANONICAL_TARGET -target_os=`echo $target_os | sed 's/linux-gnu$/linux/;s/linux-gnu/linux-/'` ac_install_sh='' # unusable for extension libraries. AC_DEFUN([RUBY_APPEND_OPTION], @@ -2447,11 +2446,18 @@ AS_CASE(["$target_os"], rubylibprefix='${libdir}/${RUBY_BASE_NAME}' AC_ARG_WITH(rubylibprefix, - AS_HELP_STRING([--with-rubylibprefix=DIR], [prefix for ruby libraries [[LIBDIR/RUBY_BASE_NAME]]]), + AS_HELP_STRING([--with-rubylibprefix=DIR], [prefix for arch-independent ruby libraries [[LIBDIR/RUBY_BASE_NAME]]]), [rubylibprefix=$withval]) RUBY_LIB_PREFIX=`eval echo \\"${rubylibprefix}\\"` AC_SUBST(rubylibprefix) +rubyarchprefix='${libdir}/${RUBY_BASE_NAME}' +AC_ARG_WITH(rubyarchprefix, + AS_HELP_STRING([--with-rubyarchprefix=DIR], [prefix for ruby libraries [[LIBDIR/RUBY_BASE_NAME]]]), + [rubyarchprefix=$withval]) +RUBY_ARCHLIB_PREFIX=`eval echo \\"${rubyarchprefix}\\"` +AC_SUBST(rubyarchprefix) + RI_BASE_NAME=`echo ${RUBY_BASE_NAME} | sed 's/ruby/ri/'` ridir='${datarootdir}/${RI_BASE_NAME}' AC_ARG_WITH(ridir, @@ -2485,7 +2491,7 @@ else fi AC_ARG_WITH(sitedir, - AS_HELP_STRING([--with-sitedir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]]]), + AS_HELP_STRING([--with-sitedir=DIR], [site arch-independent libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]]]), [sitedir=$withval], [sitedir='${rubylibprefix}/site_ruby']) dir="${sitedir}" @@ -2493,8 +2499,17 @@ until SITE_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${SITE_DIR}"; do dir="${SITE_DIR}" done +AC_ARG_WITH(sitearchprefix, + AS_HELP_STRING([--with-sitearchprefix=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]]]), + [sitearchprefix=$withval], + [sitearchprefix='${rubyarchprefix}/site_ruby']) +dir="${sitearchprefix}" +until SITE_ARCH_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${SITE_ARCH_DIR}"; do + dir="${SITE_ARCH_DIR}" +done + AC_ARG_WITH(vendordir, - AS_HELP_STRING([--with-vendordir=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]]]), + AS_HELP_STRING([--with-vendordir=DIR], [vendor arch-independent libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]]]), [vendordir=$withval], [vendordir='${rubylibprefix}/vendor_ruby']) dir="${vendordir}" @@ -2502,17 +2517,32 @@ until VENDOR_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_DIR}"; do dir="${VENDOR_DIR}" done +AC_ARG_WITH(vendorarchprefix, + AS_HELP_STRING([--with-vendorarchprefix=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]]]), + [vendorarchprefix=$withval], + [vendorarchprefix='${rubyarchprefix}/vendor_ruby']) +dir="${vendorarchprefix}" +until VENDOR_ARCH_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_ARCH_DIR}"; do + dir="${VENDOR_ARCH_DIR}" +done + 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_ARCHLIB_PREFIX="`eval echo "$RUBY_ARCHLIB_PREFIX" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" RUBY_SITE_LIB_PATH="`eval echo "$SITE_DIR" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" + RUBY_SITE_ARCHLIB_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_ARCHLIB_PATH="`eval echo "$VENDOR_ARCH_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_ARCHLIB_PREFIX="`eval echo \\"$RUBY_ARCHLIB_PREFIX\\" | sed 's|^NONE/|'"$prefix"'/|'`" RUBY_SITE_LIB_PATH="`eval echo \\"$SITE_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" + RUBY_SITE_ARCHLIB_PATH="`eval echo \\"$SITE_ARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" RUBY_VENDOR_LIB_PATH="`eval echo \\"$VENDOR_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" + RUBY_VENDOR_ARCHLIB_PATH="`eval echo \\"$VENDOR_ARCH_DIR\\" | sed 's|^NONE/|'"$prefix"'/|'`" fi pat=`echo "$RUBY_LIB_PREFIX/" | tr -c '\012' .`'\(.*\)' @@ -2530,6 +2560,21 @@ AS_CASE(["$RUBY_VENDOR_LIB_PATH"], [ RUBY_VENDOR_LIB_PATH="\"${RUBY_VENDOR_LIB_PATH}\"" ]) +pat=`echo "$RUBY_ARCHLIB_PREFIX/" | tr -c '\012' .`'\(.*\)' +AS_CASE(["$RUBY_SITE_ARCHLIB_PATH"], + ["$RUBY_ARCHLIB_PREFIX/"*], [ + RUBY_SITE_ARCHLIB_PATH='RUBY_ARCHLIB_PREFIX"/'"`expr \"$RUBY_SITE_ARCHLIB_PATH\" : \"$pat\"`"'"' + ], + [ + RUBY_SITE_ARCHLIB_PATH="\"${RUBY_SITE_ARCHLIB_PATH}\"" + ]) +AS_CASE(["$RUBY_VENDOR_ARCHLIB_PATH"], + ["$RUBY_ARCHLIB_PREFIX/"*], [ + RUBY_VENDOR_ARCHLIB_PATH='RUBY_ARCHLIB_PREFIX"/'"`expr \"$RUBY_VENDOR_ARCHLIB_PATH\" : \"$pat\"`"'"' + ], + [ + RUBY_VENDOR_ARCHLIB_PATH="\"${RUBY_VENDOR_ARCHLIB_PATH}\"" + ]) pat=`echo "$RUBY_EXEC_PREFIX/" | tr -c '\012' .`'\(.*\)' AS_CASE(["$RUBY_LIB_PREFIX"], ["$RUBY_EXEC_PREFIX/"*], [ @@ -2538,6 +2583,13 @@ AS_CASE(["$RUBY_LIB_PREFIX"], [ RUBY_LIB_PREFIX="\"${RUBY_LIB_PREFIX}\"" ]) +AS_CASE(["$RUBY_ARCHLIB_PREFIX"], + ["$RUBY_EXEC_PREFIX/"*], [ + RUBY_ARCHLIB_PREFIX='RUBY_EXEC_PREFIX"/'"`expr \"$RUBY_ARCHLIB_PREFIX\" : \"$pat\"`"'"' + ], + [ + RUBY_ARCHLIB_PREFIX="\"${RUBY_ARCHLIB_PREFIX}\"" + ]) if test ${RUBY_LIB_VERSION_STYLE+set}; then AC_DEFINE_UNQUOTED(RUBY_LIB_VERSION_STYLE, $RUBY_LIB_VERSION_STYLE) @@ -2546,14 +2598,19 @@ 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_PREFIX, ${RUBY_ARCHLIB_PREFIX}) AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, ${RUBY_SITE_LIB_PATH}) +AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB_PREFIX, ${RUBY_SITE_ARCHLIB_PATH}) AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB, ${RUBY_VENDOR_LIB_PATH}) +AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCHLIB_PREFIX, ${RUBY_VENDOR_ARCHLIB_PATH}) AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl AC_SUBST(sitedir)dnl +AC_SUBST(sitearchprefix)dnl AC_SUBST(vendordir)dnl +AC_SUBST(vendorarchprefix)dnl configure_args=$ac_configure_args AC_SUBST(configure_args)dnl @@ -2584,9 +2641,14 @@ else AC_DEFINE_UNQUOTED(RUBY_PLATFORM, "${arch}") fi -unset sitearch -AS_CASE(["$target_os"],[mingw*],[sitearch="$target_cpu-$rb_cv_msvcrt"]) -test ${sitearch+set} && AC_DEFINE_UNQUOTED(RUBY_SITEARCH, "${sitearch}") +AS_CASE(["$target_os"], + [mingw*],[ + sitearch="$target_cpu-$rb_cv_msvcrt" + ], + [ + sitearch="${arch}" + ]) +AC_DEFINE_UNQUOTED(RUBY_SITEARCH, "${sitearch}") AC_ARG_WITH(search-path, AS_HELP_STRING([--with-search-path=DIR], [specify the additional search path]), diff --git a/version.c b/version.c index a0008ef..b5433fa 100644 --- a/version.c +++ b/version.c @@ -41,13 +41,13 @@ #define RUBY_LIB RUBY_LIB_PREFIX "/"RUBY_LIB_VERSION #define RUBY_SITE_LIB2 RUBY_SITE_LIB "/"RUBY_LIB_VERSION #define RUBY_VENDOR_LIB2 RUBY_VENDOR_LIB "/"RUBY_LIB_VERSION -#define RUBY_ARCHLIB RUBY_LIB "/"RUBY_ARCH -#define RUBY_SITE_ARCHLIB RUBY_SITE_LIB2 "/"RUBY_SITEARCH -#define RUBY_VENDOR_ARCHLIB RUBY_VENDOR_LIB2 "/"RUBY_SITEARCH +#define RUBY_ARCHLIB RUBY_ARCHLIB_PREFIX "/"RUBY_LIB_VERSION"/"RUBY_ARCH +#define RUBY_SITE_ARCHLIB RUBY_SITE_ARCHLIB_PREFIX "/"RUBY_LIB_VERSION"/"RUBY_SITEARCH +#define RUBY_VENDOR_ARCHLIB RUBY_VENDOR_ARCHLIB_PREFIX"/"RUBY_LIB_VERSION"/"RUBY_SITEARCH #ifdef RUBY_THINARCH -#define RUBY_THIN_ARCHLIB RUBY_LIB "/"RUBY_THINARCH -#define RUBY_SITE_THIN_ARCHLIB RUBY_SITE_LIB2 "/"RUBY_THINARCH -#define RUBY_VENDOR_THIN_ARCHLIB RUBY_VENDOR_LIB2 "/"RUBY_THINARCH +#define RUBY_THIN_ARCHLIB RUBY_ARCHLIB_PREFIX "/"RUBY_LIB_VERSION"/"RUBY_THINARCH +#define RUBY_SITE_THIN_ARCHLIB RUBY_SITE_ARCHLIB_PREFIX "/"RUBY_LIB_VERSION"/"RUBY_THINARCH +#define RUBY_VENDOR_THIN_ARCHLIB RUBY_VENDOR_ARCHLIB_PREFIX"/"RUBY_LIB_VERSION"/"RUBY_THINARCH #endif const char ruby_version[] = RUBY_VERSION;