# MinGW $B$K$\*$1$k3HD%%i%$%V%i%j:n@.$H(B Ruby 1.8/1.9 $B6&B8$K$D$$$F(B

**URL:** <https://www.ruby-forum.com/t/mingw-b-k-1-k3hd-i-v-i-j-n-h-b-ruby-1-8-1-9-b6-b8-k-d-f-b/164450>\
**Category:** Development\
**Created:** [April 1, 2009, 3:48pm UTC](https://www.ruby-forum.com/t/mingw-b-k-1-k3hd-i-v-i-j-n-h-b-ruby-1-8-1-9-b6-b8-k-d-f-b/164450 "2009-04-01T15:48:27Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hajime\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/85f322/32.png) [@Hajime\_H](https://www.ruby-forum.com/u/Hajime_H)\
**Post date:** [April 1, 2009, 3:48pm UTC](https://www.ruby-forum.com/t/mingw-b-k-1-k3hd-i-v-i-j-n-h-b-ruby-1-8-1-9-b6-b8-k-d-f-b/164450/1 "2009-04-01T15:48:27Z")

</div>

e$B@1$H?=$7$^$9!#e(B

e$B;d$Oe(B MinGW e$B$Ge(B Ruby e$B3HD%%i%$%V%i%j$r:n@.$7$F$$$^$9!#e(B  
e$B$=$N:]$Ke(B Ruby 1.8 e$BMQ$He(B Ruby 1.9  
e$BMQ$N3HD%%i%$%V%i%j$rJL!9$K:n$j$?$$$N$G$9$,!"e(B  
MinGW e$B$K$\*$$$Fe(B

1. Ruby 1.8 e$B$He(B Ruby 1.9 e$B$r6&B8$5$;!"e(B  
e$B$J$\*$+$De(B

2. e$B$=$l$\>$l$Ne(B Ruby e$B$Ne(B DLL e$B%U%!%$%kL\>$re(B  
(e$B%G%U%)%k%H$Ne(B) msvcrt-ruby(e$B%P!\<%8%g%sHV9fe(B).dll e$B$K$9$ke(B  
e$BJ}K!$rCN$j$?$$$G$9!#e(B

3. 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

4. e$B$N\>r7o$G$"$k!Ve(BRuby e$B$Ne(B DLL  
e$BL\>$,%G%U%)%k%H!W$G$J$$$H!":n@.$7$?3HD%%i%$%V%i%j$,B\>$N%f!\<%6!\<$N4D6-$Ge(B  
e$BF0$+$J$$2DG=@-$,9b$/$J$j$^$9!#M}M3$O!“e(B Windows e$B$K$\*$$$Fe(B Ruby  
e$B$re(B  
e$B;HMQ$9$k?M$OBg35e(B ActiveScriptRuby  
e$B$J$I$N%$%s%9%H!\<%i!\<$rMxMQ$9$k$b$N$H;W$o$l$^$9$,!“e(B  
e$B$=$N\>l9ge(B ruby  
e$B$N%3%^%s%IL\>!”%i%$%V%i%jL\>$O%G%U%)%k%H$N$^$^$G$”$k$+$i$G$9!#e(B

e$B$^$?!“EvA3e(B Windows e$B$Ne(B Ruby  
e$B%f!\<%6!\<$K\<+J,$N3HD%%i%$%V%i%j$r;H$C$F$$$?$@$/$?$a$K$O!“e(B  
so e$B%U%!%$%k$N$^$^;H$C$F$$$?$@$/I,MW$,$”$k$H;W$o$l$^$9!#e(B  
e$B%f!\<%6!\<3F\<+$,3HD%%i%$%V%i%j$r%3%s%Q%$%k$9$k$H$$$&$N$O8=\<BE\*$G$O$”$j$^$;$s!#e(B  
e$B$=$N$?$a!“e(B so e$B%U%!%$%k$,%j%s%/$9$ke(B DLL  
e$B%U%!%$%k$O$d$O$j%G%U%)%k%H$NL\>A0$r;}$DI,MW$,$”$k$N$G$9!#e(B

e$B$I$&$\>$h$m$7$/$\*4j$$$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Hajime\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/85f322/32.png) [@Hajime\_H](https://www.ruby-forum.com/u/Hajime_H)\
**Post date:** [April 1, 2009, 6:01pm UTC](https://www.ruby-forum.com/t/mingw-b-k-1-k3hd-i-v-i-j-n-h-b-ruby-1-8-1-9-b6-b8-k-d-f-b/164450/2 "2009-04-01T18:01:51Z")

</div>

e$B$3$s$P$s$o!"%5%$%m%9$G$9!#e(B

Hajime H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)e$B$5$s!'e(B

> e$B@1$H?=$7$^$9!#e(B
> 
> e$B;d$Oe(B MinGW e$B$Ge(B Ruby e$B3HD%%i%$%V%i%j$r:n@.$7$F$$$^$9!#e(B  
> e$B$=$N:]$Ke(B Ruby 1.8 e$BMQ$He(B Ruby 1.9 e$BMQ$N3HD%%i%$%V%i%j$rJL!9$K:n$j$?$$$N$Ge(B  
> e$B$9$,!"e(B  
> MinGW e$B$K$\*$$$Fe(B
> 
> 1. Ruby 1.8 e$B$He(B Ruby 1.9 e$B$r6&B8$5$;!"e(B  
> e$BJL!9$N%G%#%l%/%H%j$Ke(B1.8e$B7OE}$He(B1.9e$B7OE}$rF~$l$k$N$G$OBLL$G$7$g$&$+!)e(B  
> e$B%S%k%I;~$K!Ve(Bconfigure  
> –suffix=/msys/1.0/local/ruby1x/e$B!W$H;XDj$7$F$_$$$F!"e(B  
> e$BI,MW$J$H$-$K!Ve(Bexport PATH=e$B1\>!9!W$d!Ve(Bsource  
> e$B1\>!9!W$HBG$A9~$s$GL@\<(E_$K@Z$je(B  
> e$BBX$($k$3$H$,=PMh$^$9!#e(B

> e$B$J$\*$+$De(B  
> 2. e$B$=$l$\>$l$Ne(B Ruby e$B$Ne(B DLL e$B%U%!%$%kL\>$re(B (e$B%G%U%)%k%H$Ne(B) msvcrt-ruby(e$B%P!\<e(B  
> e$B%8%g%sHV9fe(B).dll e$B$K$9$ke(B  
> e$BJ}K!$rCN$j$?$$$G$9!#e(B  
> e$B\>e5-$NJ}K!$G$9$H!"%G%U%)%k%H$Ne(BDLLe$B%U%!%$%kL\>$K$J$j$^$9$N$G!"e(B2.e$B$N\>r7o$b%^%Ce(B  
> e$B%A$7$^$9!#e(B

e$B$b$74{=P$G$7$?$i$4$a$s$J$5$$!#O7GL?4$J$,$i$H;W$C$F$/$@$5$$!#e(B

e$B!c!a!a!a!a!a!de(B  
e$B%5%$%m%9@?e(B  
removed\_email\_address@domain.invalid

> **[twin.ne.jp](http://www.twin.ne.jp/~cyross/Miyako)**
>
> This domain may be for sale!

> **[サイログ。](https://cyross.hatenadiary.org/)**
>
> ～雑多な記事置き場～

e$B!c!a!a!a!a!a!de(B

---

<div class="post-metadata">

**Author:** ![Hajime\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/85f322/32.png) [@Hajime\_H](https://www.ruby-forum.com/u/Hajime_H)\
**Post date:** [April 2, 2009, 1:04am UTC](https://www.ruby-forum.com/t/mingw-b-k-1-k3hd-i-v-i-j-n-h-b-ruby-1-8-1-9-b6-b8-k-d-f-b/164450/3 "2009-04-02T01:04:47Z")

</div>

e$B@1$G$9!#e(B

2009/04/02 1:00 [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$BJL!9$N%G%#%l%/%H%j$Ke(B1.8e$B7OE}$He(B1.9e$B7OE}$rF~$l$k$N$G$OBLL$G$7$g$&$+!)e(B
> 
> e$B$b$74{=P$G$7$?$i$4$a$s$J$5$$!#O7GL?4$J$,$i$H;W$C$F$/$@$5$$!#e(B

(–suffix e$B$G$O$J$/$Fe(B --prefix e$B$G$7$g$&$+!#e(B)

e$B$?$7$+$K$=$l$GBg\>fIW$=$&$G$9$M!#e(B  
PATH e$B$r@Z$jBX$($k$N$,$A$g$C$H\<j4V$+$b$7$l$^$;$s$,CW$7J}$J$$$+!#e(B

e$B$I$&$b$"$j$,$H$&$4$6$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Hajime\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/85f322/32.png) [@Hajime\_H](https://www.ruby-forum.com/u/Hajime_H)\
**Post date:** [April 2, 2009, 1:54pm UTC](https://www.ruby-forum.com/t/mingw-b-k-1-k3hd-i-v-i-j-n-h-b-ruby-1-8-1-9-b6-b8-k-d-f-b/164450/4 "2009-04-02T13:54:05Z")

</div>

e$B@1$G$9!#e(B

> e$B$H$7$F$\*$1$P!"%Q%9$rDL$7$F$$$J$/$F$b!“e(Bruby19e$B$”$k$$$Oe(Bruby18e$B$He(B  
> e$B$$$&L\>A0$G$=$l$\>$l$N%P!\<%8%g%s$Ne(Brubye$B$r\<B9T$G$-$^$9!#e(B  
> e$BB\>$N%7%’%k\>e$G@83h$5$l$F$$$k$J$i!"$=$l$\>$l$NN.57$G!#e(B

e$B$_$_$?$7$+$K!#$"$j$,$H$&$4$6$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Hajime\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/85f322/32.png) [@Hajime\_H](https://www.ruby-forum.com/u/Hajime_H)\
**Post date:** [April 2, 2009, 4:08am UTC](https://www.ruby-forum.com/t/mingw-b-k-1-k3hd-i-v-i-j-n-h-b-ruby-1-8-1-9-b6-b8-k-d-f-b/164450/5 "2009-04-02T04:08:48Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:38246] Re: MinGW  
e$B$K$\*$1$k3HD%%i%$%V%i%j:n@.$He(B Ruby 1.8/1.9 e$B6&B8$K$D$$$Fe(B”  
on Apr.02,2009 08:03:40, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> e$B$?$7$+$K$=$l$GBg\>fIW$=$&$G$9$M!#e(B  
> PATH e$B$r@Z$jBX$($k$N$,$A$g$C$H\<j4V$+$b$7$l$^$;$s$,CW$7J}$J$$$+!#e(B

e$BE,Ev$Ke(Baliase$B$r@Z$C$F$\*$1$P$$$$$s$8$c$J$$$G$7$g$&$+!#e(B  
e$B$b$7%3%^%s%I%W%m%s%W%H$N\>e$G@83h$7$F$$$k$N$G$"$l$P!"Nc$($P!"e(B1.9  
e$B$re(BC:\ruby-1.9e$B$K!"e(B1.8e$B$re(BC:\ruby-1.8e$B$K%$%s%9%H!\<%k$7$F$k$J$i$P!"e(B

doskey ruby19=C:\ruby-1.9\bin\ruby $\*  
doskey ruby18=C:\ruby-1.8\bin\ruby $\*

e$B$H$7$F$\*$1$P!“%Q%9$rDL$7$F$$$J$/$F$b!“e(Bruby19e$B$”$k$$$Oe(Bruby18e$B$He(B  
e$B$$$&L\>A0$G$=$l$\>$l$N%P!\<%8%g%s$Ne(Brubye$B$r\<B9T$G$-$^$9!#e(B  
e$BB\>$N%7%'%k\>e$G@83h$5$l$F$$$k$J$i!”$=$l$\>$l$NN.57$G!#e(B

e$B$=$l$G$O!#e(B

---

<div class="post-metadata">

**Author:** ![Hajime\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/85f322/32.png) [@Hajime\_H](https://www.ruby-forum.com/u/Hajime_H)\
**Post date:** [April 7, 2009, 12:45pm UTC](https://www.ruby-forum.com/t/mingw-b-k-1-k3hd-i-v-i-j-n-h-b-ruby-1-8-1-9-b6-b8-k-d-f-b/164450/6 "2009-04-07T12:45:03Z")

</div>

e$B$J$+$@$G$9!#e(B

At Wed, 1 Apr 2009 22:47:23 +0900,  
Hajime H. wrote in [ruby-dev:38241]:

> 1. 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

# Index: configure.in

— configure.in (revision 23150)  
+++ configure.in (working copy)  
@@ -112,4 +112,6 @@ if test “$program\_prefix” = NONE; then  
program\_prefix=  
fi  
+RUBY\_BASE\_NAME=ruby  
+AC\_SUBST(RUBY\_BASE\_NAME)

AC\_CANONICAL\_TARGET  
@@ -1924,5 +1926,5 @@ case “$target\_os” in  
esac

-RUBY\_SO\_NAME=’$(RUBY\_INSTALL\_NAME)’  
+RUBY\_SO\_NAME=’$(RUBY\_BASE\_NAME)’  
LIBRUBY\_LDSHARED=$LDSHARED  
LIBRUBY\_DLDFLAGS=$DLDFLAGS  
@@ -2012,5 +2014,5 @@ if test “$enable\_shared” = ‘yes’; then  
LIBRUBY\_DLDFLAGS="$LIBRUBY\_DLDFLAGS "’-Wl,-unexported\_symbol,_Init_\*  
$(XLDFLAGS)’  
LIBRUBY\_SO=‘lib$(RUBY\_SO\_NAME).dylib.$(MAJOR).$(MINOR).$(TEENY)’

- LIBRUBY\_ALIASES=‘lib$(RUBY\_SO\_NAME).dylib  
lib$(RUBY\_INSTALL\_NAME).$(MAJOR).$(MINOR).dylib  
lib$(RUBY\_INSTALL\_NAME).dylib’

- LIBRUBY\_ALIASES=‘lib$(RUBY\_SO\_NAME).dylib  
lib$(RUBY\_BASE\_NAME).$(MAJOR).$(MINOR).dylib  
lib$(RUBY\_INSTALL\_NAME).dylib’  
;;  
when(interix\*)  
@@ -2102,14 +2104,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_SO_NAME="${rb_cv_msvcrt}-${RUBY_SO_NAME}"
 if test x"$enable_shared" = xyes; then

```

LIBRUBY\_SO=’$(RUBY\_SO\_NAME)’.dll  
@@ -2267,12 +2270,19 @@ test “$program\_suffix” != NONE &&  
ri\_suffix=$program\_suffix

-RUBY\_INSTALL\_NAME="${ri\_prefix}ruby${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${ri\_suffix}"
- rubyw\_install\_name="$RUBYW\_INSTALL\_NAME"

- RUBYW\_INSTALL\_NAME="${ri\_prefix}"’$(RUBY\_BASE\_NAME)w’"${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,

- 

```
 AS_HELP_STRING([--with-rubylibprefix=DIR], [prefix for ruby 

```

libraries [[LIBDIR/RUBY\_INSTALL\_NAME]]]),

- 

```
 [rubylibprefix=$withval])

```

- 

+RUBY\_LIB\_PREFIX=`eval echo \\"${rubylibprefix}\\"`  
+AC\_SUBST(rubylibprefix)

AC\_ARG\_WITH(ruby-version,  
@@ -2306,12 +2316,18 @@ AC\_ARG\_WITH(sitedir,  
AS\_HELP\_STRING([–with-sitedir=DIR], [site libraries in DIR  
[[RUBY\_LIB\_PREFIX/site\_ruby]]]),  
[sitedir=$withval],

- 

```
       [sitedir='${libdir}/${RUBY_INSTALL_NAME}/site_ruby'])

```

-SITE\_DIR=`eval echo \\"${sitedir}\\"`

- 

```
       [sitedir='${rubylibprefix}/site_ruby'])

```

+dir="${sitedir}"  
+until SITE\_DIR=`eval echo \\"${dir}\\"`; test “${dir}” = “${SITE\_DIR}”;  
do

- dir="${SITE\_DIR}"  
+done

AC\_ARG\_WITH(vendordir,  
AS\_HELP\_STRING([–with-vendordir=DIR], [vendor libraries in DIR  
[[RUBY\_LIB\_PREFIX/vendor\_ruby]]]),  
[vendordir=$withval],

- 

```
       [vendordir='${libdir}/${RUBY_INSTALL_NAME}/vendor_ruby'])

```

-VENDOR\_DIR=`eval echo \\"${vendordir}\\"`

- 

```
       [vendordir='${rubylibprefix}/vendor_ruby'])

```

+dir="${vendordir}"  
+until VENDOR\_DIR=`eval echo \\"${dir}\\"`; test “${dir}” =  
“${VENDOR\_DIR}”; do

- dir="${VENDOR\_DIR}"  
+done

if test “${LOAD\_RELATIVE+set}”; then  
@@ -2415,7 +2431,7 @@ fi

AC\_ARG\_WITH(rubyhdrdir,

- 

```
 AS_HELP_STRING([--with-rubyhdrdir=DIR], [core headers in DIR 

```

[[INCLUDEDIR/RUBY\_INSTALL\_NAME/RUBY\_VERSION]]]),

- 

```
 AS_HELP_STRING([--with-rubyhdrdir=DIR], [core headers in DIR 

```

## [[INCLUDEDIR/RUBY\_BASE\_NAME/RUBY\_VERSION]]]), [rubyhdrdir=$withval],

[rubyhdrdir=’${includedir}/${RUBY\_INSTALL\_NAME}-${ruby\_version}’])

- 

```
 [rubyhdrdir='${includedir}/${RUBY_BASE_NAME}-${ruby_version}'])

```

AC\_ARG\_WITH(sitehdrdir,  
@@ -2486,5 +2502,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: win32/Makefile.sub

— win32/Makefile.sub (revision 23150)  
+++ 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

---

<div class="post-metadata">

**Author:** ![Hajime\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/85f322/32.png) [@Hajime\_H](https://www.ruby-forum.com/u/Hajime_H)\
**Post date:** [April 8, 2009, 5:42am UTC](https://www.ruby-forum.com/t/mingw-b-k-1-k3hd-i-v-i-j-n-h-b-ruby-1-8-1-9-b6-b8-k-d-f-b/164450/7 "2009-04-08T05:42:28Z")

</div>

At Tue, 7 Apr 2009 19:43:22 +0900,  
Nobuyoshi N. wrote:

> At Wed, 1 Apr 2009 22:47:23 +0900,  
> Hajime H. wrote in [ruby-dev:38241]:
> 
> > 1. ã®ãŸã‚ã« Ruby ã‚³ãƒ³ãƒ‘ã‚¤ãƒ«æ™‚ã® configure ã« --program-suffix å¼•æ•°ã‚’ã¤ã‘ãŸå ´åˆã€  
> > ãƒ©ã‚¤ãƒ–ãƒ©ãƒªã®ãƒ•ã‚¡ã‚¤ãƒ«åã‚‚å¤‰ã‚ã£ã¦ã—ã¾ã†ãŸã‚ã€ 2. ã®æ¡ä»¶ãŒæº€ãŸã•ã‚Œã¾ã›ã‚“ã€‚
> 
> [ruby-dev:38255]ã‚‚å«ã‚ã¦ã€–program-suffixã«ãƒ©ã‚¤ãƒ–ãƒ©ãƒªåã‚„ãƒ‘ã‚¹å  
> ã¾ã§å½±éŸ¿ã‚’å—ã‘ã‚‹ã®ã¯åˆ©ç‚¹ã‚ˆã‚Šã‚‚é¢å€’ãªã“ã¨ã®ã»ã†ãŒå¤šã„æ°—ãŒã—ã¾ã™ã€‚

ã€€åˆ©ç‚¹ã¨ã—ã¦ã¯ã€åŒã˜prefixä¸‹ã«è¤‡æ•°ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ãã‚‹  
ã¨ã„ã†ã“ã¨ãŒã‚ã£ã¦ã€ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚·ã‚¹ãƒ†ãƒ ç­‰ã®éƒ½åˆä¸Šãã‚Œã¯å¤±ã„ãŸããªã„  
ã§ã™ã€‚

ã€€ãƒ‘ã‚¹åã¯ã‚ã‹ã‚Šã¾ã›ã‚“ãŒã€ãƒ©ã‚¤ãƒ–ãƒ©ãƒªåã¯å½±éŸ¿ã‚’å—ã‘ã¦ã‚‚ã‚ˆã„ã®ã§ã¯  
ãªã„ã§ã—ã‚‡ã†ã‹ã€‚å°‘ãªãã¨ã‚‚sonameã‚’æŒ‡å®šã™ã‚‹ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯æ®‹ã—ã¦ã»ã—ã„  
ã§ã™ã€‚

---

<div class="post-metadata">

**Author:** ![Hajime\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/85f322/32.png) [@Hajime\_H](https://www.ruby-forum.com/u/Hajime_H)\
**Post date:** [April 10, 2009, 8:17am UTC](https://www.ruby-forum.com/t/mingw-b-k-1-k3hd-i-v-i-j-n-h-b-ruby-1-8-1-9-b6-b8-k-d-f-b/164450/8 "2009-04-10T08:17:37Z")

</div>

e$B$J$+$@$G$9!#e(B

At Wed, 8 Apr 2009 12:40:09 +0900,  
Akinori MUSHA wrote in [ruby-dev:38290]:

> > > 1. 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_SO_NAME="${rb_cv_msvcrt}-${RUBY_SO_NAME}"
 if test x"$enable_shared" = xyes; then

```

LIBRUBY\_SO=’$(RUBY\_SO\_NAME)’.dll  
@@ -2269,12 +2275,18 @@ test “$program\_suffix” != NONE &&  
ri\_suffix=$program\_suffix

-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,

- 

```
 AS_HELP_STRING([--with-rubylibprefix=DIR], [prefix for ruby 

```

libraries [[LIBDIR/RUBY\_INSTALL\_NAME]]]),

- 

```
 [rubylibprefix=$withval])

```

+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],

- 

```
       [sitedir='${libdir}/${RUBY_INSTALL_NAME}/site_ruby'])

```

-SITE\_DIR=`eval echo \\"${sitedir}\\"`

- 

```
       [sitedir='${rubylibprefix}/site_ruby'])

```

+dir="${sitedir}"  
+until SITE\_DIR=`eval echo \\"${dir}\\"`; test “${dir}” = “${SITE\_DIR}”;  
do

- dir="${SITE\_DIR}"  
+done

AC\_ARG\_WITH(vendordir,  
AS\_HELP\_STRING([–with-vendordir=DIR], [vendor libraries in DIR  
[[RUBY\_LIB\_PREFIX/vendor\_ruby]]]),  
[vendordir=$withval],

- 

```
       [vendordir='${libdir}/${RUBY_INSTALL_NAME}/vendor_ruby'])

```

-VENDOR\_DIR=`eval echo \\"${vendordir}\\"`

- 

```
       [vendordir='${rubylibprefix}/vendor_ruby'])

```

+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,

- 

```
 AS_HELP_STRING([--with-rubyhdrdir=DIR], [core headers in DIR 

```

[[INCLUDEDIR/RUBY\_INSTALL\_NAME/RUBY\_VERSION]]]),

- 

```
 AS_HELP_STRING([--with-rubyhdrdir=DIR], [core headers in DIR 

```

## [[INCLUDEDIR/RUBY\_BASE\_NAME/RUBY\_VERSION]]]), [rubyhdrdir=$withval],

[rubyhdrdir=’${includedir}/${RUBY\_INSTALL\_NAME}-${ruby\_version}’])

- 

```
 [rubyhdrdir='${includedir}/${RUBY_BASE_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
