e$B$J$+$@$G$9!#e(B
At Wed, 8 Apr 2009 12:40:09 +0900,
Akinori MUSHA wrote in [ruby-dev:38290]:
- e$B$N$?$a$Ke(B Ruby e$B%3%s%Q%$%k;~$Ne(B configure e$B$Ke(B --program-suffix e$B0z?t$r$D$1$?>l9g!"e(B
e$B%i%$%V%i%j$N%U%!%$%kL>$bJQ$o$C$F$7$^$&$?$a!"e(B 2. e$B$N>r7o$,K~$?$5$l$^$;$s!#e(B
[ruby-dev:38255]e$B$b4^$a$F!"e(B–program-suffixe$B$K%i%$%V%i%jL>$d%Q%9L>e(B
e$B$^$G1F6A$r<u$1$k$N$OMxE@$h$j$bLLE]$J$3$H$N$[$&$,B?$$5$$,$7$^$9!#e(B
e$B!!MxE@$H$7$F$O!“F1$8e(Bprefixe$B2<$KJ#?t$N%P!<%8%g%s$r%$%s%9%H!<%k$G$-$ke(B
e$B$H$$$&$3$H$,$”$C$F!"%Q%C%1!<%8%7%9%F%`Ey$NET9g>e$=$l$O<:$$$?$/$J$$e(B
e$B$G$9!#e(B
–program-transform-namee$B$G$O$I$&$G$7$g$&$+!#e(Bsede$B$r40A4$K%(%%e%l!<e(B
e$B%H$7$?$o$1$G$O$"$j$^$;$s$,!"e(Bse$B$He(Bye$B%3%^%s%I$OBP1~$7$F$$^$7$?!#e(B
e$B!!%Q%9L>$O$o$+$j$^$;$s$,!"%i%$%V%i%jL>$O1F6A$r<u$1$F$b$h$$$N$G$Oe(B
e$B$J$$$G$7$g$&$+!#>/$J$/$H$be(Bsonamee$B$r;XDj$9$k%*%W%7%g%s$O;D$7$F$[$7$$e(B
e$B$G$9!#e(B
–with-sonamee$B$H$+e(B?
Index: Makefile.in
— Makefile.in (revision 23166)
+++ Makefile.in (working copy)
@@ -67,4 +67,5 @@ BUILTIN_TRANSSRCS = @BUILTIN_TRANSSRCS@
BUILTIN_TRANSOBJS = @BUILTIN_TRANSOBJS@
+RUBY_BASE_NAME=@RUBY_BASE_NAME@
RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@
RUBY_SO_NAME=@RUBY_SO_NAME@
Index: configure.in
— configure.in (revision 23166)
+++ configure.in (working copy)
@@ -114,4 +114,6 @@ fi
RUBY_BASE_NAME=echo ruby | sed "$program_transform_name"
RUBYW_BASE_NAME=echo rubyw | sed "$program_transform_name"
+AC_SUBST(RUBY_BASE_NAME)
+AC_SUBST(RUBYW_BASE_NAME)
AC_CANONICAL_TARGET
@@ -1926,5 +1928,8 @@ case “$target_os” in
esac
-RUBY_SO_NAME=’$(RUBY_INSTALL_NAME)’
+AC_ARG_WITH(soname,
- AS_HELP_STRING([–with-soname=SONAME], [base name of shared
library]),
- [RUBY_SO_NAME=$withval], [RUBY_SO_NAME=’$(RUBY_BASE_NAME)’])
-
LIBRUBY_LDSHARED=$LDSHARED
LIBRUBY_DLDFLAGS=$DLDFLAGS
@@ -2014,5 +2019,5 @@ if test “$enable_shared” = ‘yes’; then
LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "’-Wl,-unexported_symbol,Init*
$(XLDFLAGS)’
LIBRUBY_SO=‘lib$(RUBY_SO_NAME).dylib’
- LIBRUBY_ALIASES=‘lib$(RUBY_INSTALL_NAME).$(MAJOR).$(MINOR).dylib
lib$(RUBY_INSTALL_NAME).dylib’
- LIBRUBY_ALIASES=‘lib$(RUBY_BASE_NAME).$(MAJOR).$(MINOR).dylib
lib$(RUBY_INSTALL_NAME).dylib’
;;
when(interix*)
@@ -2104,14 +2109,15 @@ case “$target_os” in
;;
when(cygwin*|mingw*)
- RUBY_SO_NAME="${RUBY_SO_NAME}${MAJOR}${MINOR}${TEENY}"
LIBRUBY_DLDFLAGS="${DLDFLAGS}"’ -Wl,–out-implib=$(LIBRUBY)’
case “$target_os” in
when(cygwin*)
if test x"$enable_shared" = xyes; then
- LIBRUBY_SO=‘cyg$(RUBY_SO_NAME)’${MAJOR}${MINOR}${TEENY}.dll
- LIBRUBY_SO=‘cyg$(RUBY_SO_NAME)’.dll
LIBRUBY_DLDFLAGS="${LIBRUBY_DLDFLAGS}"’ $(RUBYDEF)’
fi
;;
when(mingw*)
RUBY_SO_NAME=${rb_cv_msvcrt}-’$(RUBY_INSTALL_NAME)’${MAJOR}${MINOR}${TEENY}
-RUBY_INSTALL_NAME="${ri_prefix}${RUBY_BASE_NAME}${ri_suffix}"
+RUBY_INSTALL_NAME="${ri_prefix}"’$(RUBY_BASE_NAME)’"${ri_suffix}"
case “$target_os” in
when(cygwin*|mingw*)
- RUBYW_INSTALL_NAME="${ri_prefix}${RUBYW_BASE_NAME}${ri_suffix}"
- rubyw_install_name="$RUBYW_INSTALL_NAME"
- RUBYW_INSTALL_NAME="${ri_prefix}"’$(RUBYW_BASE_NAME)’"${ri_suffix}"
- rubyw_install_name=’$(RUBYW_INSTALL_NAME)’
;;
esac
-RUBY_LIB_PREFIX=eval echo \\"${libdir}/${RUBY_INSTALL_NAME}\\"
-
+rubylibprefix=’${libdir}/${RUBY_BASE_NAME}’
+AC_ARG_WITH(rubylibprefix,
libraries [[LIBDIR/RUBY_INSTALL_NAME]]]),
+RUBY_LIB_PREFIX=eval echo \\"${rubylibprefix}\\"
+AC_SUBST(rubylibprefix)
AC_ARG_WITH(ruby-version,
@@ -2308,12 +2320,18 @@ AC_ARG_WITH(sitedir,
AS_HELP_STRING([–with-sitedir=DIR], [site libraries in DIR
[[RUBY_LIB_PREFIX/site_ruby]]]),
[sitedir=$withval],
-SITE_DIR=eval echo \\"${sitedir}\\"
+dir="${sitedir}"
+until SITE_DIR=eval echo \\"${dir}\\"
; test “${dir}” = “${SITE_DIR}”;
do
AC_ARG_WITH(vendordir,
AS_HELP_STRING([–with-vendordir=DIR], [vendor libraries in DIR
[[RUBY_LIB_PREFIX/vendor_ruby]]]),
[vendordir=$withval],
-VENDOR_DIR=eval echo \\"${vendordir}\\"
+dir="${vendordir}"
+until VENDOR_DIR=eval echo \\"${dir}\\"
; test “${dir}” =
“${VENDOR_DIR}”; do
- dir="${VENDOR_DIR}"
+done
if test “${LOAD_RELATIVE+set}”; then
@@ -2417,7 +2435,7 @@ fi
AC_ARG_WITH(rubyhdrdir,
[[INCLUDEDIR/RUBY_INSTALL_NAME/RUBY_VERSION]]]),
[[INCLUDEDIR/RUBY_BASE_NAME/RUBY_VERSION]]]),
[rubyhdrdir=$withval],
[rubyhdrdir=’${includedir}/${RUBY_INSTALL_NAME}-${ruby_version}’])
AC_ARG_WITH(sitehdrdir,
@@ -2488,5 +2506,5 @@ AC_SUBST(BUILTIN_TRANSSRCS)
AC_SUBST(BUILTIN_TRANSOBJS)
-PACKAGE=$RUBY_INSTALL_NAME
+PACKAGE=$RUBY_BASE_NAME
AC_SUBST(PACKAGE)
AC_MSG_RESULT($PACKAGE library version = $ruby_version)
Index: lib/mkmf.rb
— lib/mkmf.rb (revision 23166)
+++ lib/mkmf.rb (working copy)
@@ -1451,4 +1451,5 @@ AR = #{CONFIG[‘AR’]}
EXEEXT = #{CONFIG[‘EXEEXT’]}
+RUBY_BASE_NAME = #{CONFIG[‘RUBY_BASE_NAME’]}
RUBY_INSTALL_NAME = #{CONFIG[‘RUBY_INSTALL_NAME’]}
RUBY_SO_NAME = #{CONFIG[‘RUBY_SO_NAME’]}
Index: win32/Makefile.sub
— win32/Makefile.sub (revision 23166)
+++ win32/Makefile.sub (working copy)
@@ -33,6 +33,9 @@ LIB = $(pathlist:;=/lib;)
srcdir = …
!endif
+!ifndef RUBY_BASE_NAME
+RUBY_BASE_NAME = ruby
+!endif
!ifndef RUBY_INSTALL_NAME
-RUBY_INSTALL_NAME = $(PROGRAM_PREFIX)ruby$(RUBY_SUFFIX)
+RUBY_INSTALL_NAME = $(PROGRAM_PREFIX)$(RUBY_BASE_NAME)$(RUBY_SUFFIX)
!endif
!if !defined(RUBYW_INSTALL_NAME) || “$(RUBYW_INSTALL_NAME)” ==
“$(RUBY_INSTALL_NAME)”
@@ -117,5 +120,5 @@ ruby_version = $(MAJOR).$(MINOR).$(TEENY
!ifndef RUBY_SO_NAME
-RUBY_SO_NAME = $(RT)-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)$(TEENY)
+RUBY_SO_NAME = $(RT)-$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)$(TEENY)
!endif
!ifndef RUBY_PLATFORM
@@ -530,5 +533,5 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/
#define DLEXT “.so”
#define RUBY_LIB_VERSION_STYLE 3 /* full */
-#define RUBY_LIB_PREFIX “/lib/$(RUBY_INSTALL_NAME)”
+#define RUBY_LIB_PREFIX “/lib/$(RUBY_BASE_NAME)”
#define RUBY_LIB RUBY_LIB_PREFIX"/“RUBY_LIB_VERSION
#define RUBY_SITE_LIB RUBY_LIB_PREFIX”/site_ruby"
@@ -646,4 +649,5 @@ s,@RDOCTARGET@,;t t
s,@LIBRUBY_LDSHARED@,$(LIBRUBY_LDSHARED),;t t
s,@LIBRUBY_DLDFLAGS@,$(LIBRUBY_DLDFLAGS),;t t
+s,@RUBY_BASE_NAME@,$(RUBY_BASE_NAME),;t t
s,@RUBY_INSTALL_NAME@,$(RUBY_INSTALL_NAME),;t t
s,@rubyw_install_name@,$(RUBYW_INSTALL_NAME),;t t
@@ -687,7 +691,8 @@ s,@arch@,$(ARCH)-$(PLATFORM),;t t
s,@sitearch@,$(ARCH)-$(RT),;t t
s,@ruby_version@,$(ruby_version),;t t
-s,@sitedir@,$${prefix}/lib/$${RUBY_INSTALL_NAME}/site_ruby,;t t
-s,@vendordir@,$${prefix}/lib/$${RUBY_INSTALL_NAME}/vendor_ruby,;t t
-s,@rubyhdrdir@,$$(includedir)/$${RUBY_INSTALL_NAME}-$$(ruby_version),;t
t
+s,@rubylibprefix@,$${prefix}/lib/$${RUBY_BASE_NAME},;t t
+s,@sitedir@,$${rubylibprefix}/site_ruby,;t t
+s,@vendordir@,$${rubylibprefix}/vendor_ruby,;t t
+s,@rubyhdrdir@,$$(includedir)/$${RUBY_BASE_NAME}-$$(ruby_version),;t t
s,@sitehdrdir@,$$(rubyhdrdir)/site_ruby,;t t
s,@vendorhdrdir@,$$(rubyhdrdir)/vendor_ruby,;t t