AIX$B$G$N%3%s%Q%$%k(B ($B%*%W%7%g%s$NE}0l$J$I(B)

é??æ?¬ã¨ã??ã?ã?まã?ã??
AIXでのã?³ã?³ã??ã?¤ã?«ç?°å¢?ã??æ?¹å??ã?ã??ã?とã?てã?まã?ã??

å??æ?¥ã®[ruby-dev:29173]とã?ã?ã?まã?てã?ä»?å??提å?ºã?ã??patchで
AIX 4.3.3.11, VisualAgeC++ 6.0, GCC4.1.1
AIX 5.1.0.9, IBM XL C/C++ Compiler 8.0, GCC4.0.0
AIX 5.3.0.4, IBM XL C/C++ Compiler 8.0, GCC4.0.0
で"–disable-ipv6ï¼?ã?ã??ã?は–with-wide-getaddrinfoï¼?ã??つã?ã??ば"ã?ã?とはä½?è¨?なã?とã??ã?なくてã??とã??ã?ã?ã?ã?³ã?³ã??ã?¤ã?«ã¯ã§ãã??ã??ã?ã?てみまã?ã?ã??
ã?ã??ã??ã?¯ã?¼ã?¯ã¾ã?ã??につã?てはä»?å¾?の課é¡?にã?ã?ã?とæ?ã?まã?ã??

以ä¸?å¤?æ?´ç?¹ã®ç°¡å?な説æ??でã?ã??
configure.inにてã?gccとIBMのã?³ã?³ã??ã?¤ã?©ã§ã®ã??ã?©ã?¡ã?¼ã?¿ã®å??ã??å??ã?と統ä¸?ã??ã?まã?ã?ã??
common.mkにてã?ruby.impとã?ã?ã?¨ã?¯ã?¹ã?ã?¼ã??ã?ã??é?¢æ?°ã??å??æ??ã?ã?ã??ã?¡ã?¤ã?«ã??ä½?ã??ã?¿ã?¤ã??ã?³ã?°ã??å¤?æ?´ã?まã?ã?ã??
ä¸?æ?¸ãã?¤ã?³ã?¹ã??ã?¼ã?«ã®ã¨ãã«minirubyã?落ちてã?ã?ã?とに対ã?ã??å??避とã?make ruby.impとæ??示ç??にã?なくてã??ã?ã??ã?ã?ã§ã?ã??
socket.cにてã?AIX4.3.3ãªã©ã§æ¬ è½ã?ã?ã??ã?¯ã?­ã®å®?義ã??å? ã?まã?ã?ã??openldapなどã?くつã?のopen
sourceのã??のにã??å?ã?ã??ã?なã??ã?¯ã?­ã?つã?てã?まã?ã?ã??

ま��
common.mkにてã?installå?ã«ã?¤ã?³ã?¹ã??ã?¼ã?«ã?てã?ã??ã?©ã?¤ã??ã?©ã?ªã??æ¶?ã?ä½?業ã??å?¥ã??まã?ã?ã??AIXはå?±æ??ã?¢ã?¸ã?¥ã?¼ã?«ã??OSã?つã?ã??でã?まってã?ã?¤ã?³ã?¹ã??ã?¼ã?«æ??にTEXT
BUSYとã?ã?ã??てã?まã?ときã?ã?ã??まã?ã??slibcleanとã?ã?ã?³ã??ã?³ã??ã??rootでã?つã?ã?ãã®ã??ã?¡ã?¤ã?«ã??æ¶?ã?å¿?要ã?ã?ã??まã?ã??ã?ã??ã??認ã?ã¦ã?ã?だã?ã??のでã?ã??ばã?ä¸?è¨?のminirubyへの対å¿?のå¿?要ã?なくなã??ã?ã??ã?ã??まã?ã??ã??

ã?のã?とå?¥ä¾¿ã§ã¨ã?ã??#pragmaにé?¢ã?ã??ã?¯ã?¼ã??ã?³ã?°ã??æ¶?ã?ã??ã??ã?ã??é?ã?ã?とæ?ã£ã¦ã?まã?ã??
ã?ちã??でã?まã??AIXでã??ã?¹ã??できã??æ?¹ã?ã?ã??っã?ã??ã??なã?ã??ばã?ruby-talkなどå?¥ã®ã?¡ã?¼ã?ªã?³ã?°ã?ªã?¹ã??などでã??ã?£ã?¼ã??ã?ã??ã?¯ã??é??ã?ã¦ã?ã??ã??ã?ä¸?åº¦å ±å??ã??ã?ã??とã?ã?æ??ã??ã?ã??ã?とæ?ã£ã¦ã?まã?ã??
ã?のã??ã??ã?è?ªèº«ã«ã¤ã?てã??含ã?ã¦ä½?ã?ã?æ?è¦?ã?ã?だã?ã??と幸ã?でã?ã??
ã??ã?ã?くã?ねã?ã?ã?ã?ã?まã?ã??

大å¤?失礼ã?ã?ã?まã?ã?ã??
ã??ã??ã?ã??å?é?ã?ã?てã?ã?だきまã?ã??
ã??ã?ã?くã?é¡?ã?ã?ã?ã?まã?ã??

e$B6bK$5$^e(B
e$BK-ED$H$b$&$7$^$9!#e(B

AIXe$B$G$N%3%s%Q%$%k4D6-$r2~A1$7$h$&$H$7$F$$$^$9!#e(B

AIX e$B;H$C$F$^$9!#BgJQ=u$+$j$^$9!#e(B

e$BlTBt8@$&$H!"$I$J$?$+e(B AIX 5L e$B>e$Ne(B e$BF|N):GE,2=e(BC e$B$Ge(B
Ruby e$B$N%S%k%I$Ke(B
[email protected]$5$l$?J}$,$$$i$C$7$c$l$P$b$C$H=u$+$k$N$G$9$,!"$$$J$$$G$9$h$Me(B…

e$B@hF|$Ne(B[ruby-dev:29173]e$B$H$"$o$;$^$7$F!":#2sDs=P$9$ke(Bpatche$B$Ge(B
AIX 4.3.3.11, VisualAgeC++ 6.0, GCC4.1.1
AIX 5.1.0.9, IBM XL C/C++ Compiler 8.0, GCC4.0.0
AIX 5.3.0.4, IBM XL C/C++ Compiler 8.0, GCC4.0.0
e$B$Ge(B"–disable-ipv6e$B!J$"$k$$$Oe(B–with-wide-getaddrinfoe$B!K$r$D$1$l$Pe(B"e$B!"$"$H$OM>7W$J$3$H$r$7$J$/$F$b$H$j$"$($:%3%s%Q%$%k$O$G$-$k$h$&$7$F$_$^$7$?!#e(B

e$B$D$^$i$J$$<ALd$G62=L$G$9$,!"BP>]$Oe(B 32
e$B%S%C%H%b!<%I$G$7$g$&$+!#e(B

e$B;n$7$Ke(B 64 e$B%S%C%H$G%3%s%Q%$%k$7$F$$h$&$H!"e(B CFLAGS=-q64
e$B$H$7$F$
$k$H!"e(B
nm, ar, ld e$B$K$=$l$>$le(B -X64, -X64, -b64
e$B$rEO$5$J$$$H$$$1$^$;$s!#e(B
nm e$B$He(B ar e$B$Oe(B configure e$B;~$N4D6-JQ?te(B NM=“nm -X64”
e$B$He(B AR=“ar -X64” e$B$Ge(B
e$BF($2$i$l$k$N$G$$$$$s$G$9$,!"e(B
LDSHARED=“ld -b64” e$B$H$7$F$be(B --enable-shared
e$B$9$k$H8z$+$J$$$h$&$G$9!#e(B

e$B4D6-JQ?te(B OBJECT_MODE=64
e$B$G0l@Z9g:b@_DjITMW$K$J$k$h$&$J$N$G$9$,!"e(B
rbconfig.rb e$B$K:/@W$,;D$i$J$$$H8e!9e(B extconf.rb
e$B$9$k$H$-$K%O%^%j$=$&$K;W$$$^$9!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29205] Re: AIXe$B$G$N%3%s%Q%$%ke(B
(e$B%*%W%7%g%s$NE}0l$J$Ie(B)”
on Mon, 7 Aug 2006 23:52:33 +0900, “U.Nakamura”
[email protected] writes:

|Windowse$B$G$OHs>o$KITET9g$N$"$kFbMF$J$N$G!“I,MW$,$J$1$l$P:o$C$Fe(B
|e$BM_$7$$$G$9!#e(B
|e$B$I$&$7$F$bI,MW$,$”$k$J$ie(Bpre3e$B$^$G$KBP1~:v$r9M$($J$$$H$$$1$J$$e(B
|e$B$G$9$1$Ie(B…

e$B$I$&$J$s$G$7$g$&!#e(BAIXe$B$N$?$a$Ke(BWin32e$B$,F0$+$J$$$H$$$&$3$H$O$“$je(B
e$B$($J$$$N$G!”$3$NItJ,$O:o$kJ}8~$r9M$($F$^$9!#e(B

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

In message “[ruby-dev:29194] Re: AIXe$B$G$N%3%s%Q%$%ke(B
(e$B%*%W%7%g%s$NE}0l$J$Ie(B)”
on Aug.07,2006 12:55:48, [email protected] wrote:
| e$BBgJQ<:Ni$$$?$7$^$7$?!#e(B
| e$B%Q%C%A$r:FAw$5$;$F$$$?$@$-$^$9!#e(B
| e$B$h$m$7$/$*4j$$$$$?$7$^$9!#e(B

e$B$=$N$^$^%3%_%C%H$5$l$A$c$$$^$7$?$,!"e(B

| Index: common.mk
| ===================================================================
(e$BCfN,e(B)
| pre-install: pre-install-local pre-install-ext
| pre-install-local:: PHONY
| + $(RM) $(prefix)/lib/$(LIBRUBY)
| + $(RM) -r $(prefix)/lib/ruby/$(MAJOR).$(MINOR)/$(arch)
| pre-install-ext:: PHONY
| pre-install-doc:: PHONY

e$B$3$NItJ,$C$FI,MW@-$“$j$^$9$+e(B?
Windowse$B$G$OHs>o$KITET9g$N$”$kFbMF$J$N$G!“I,MW$,$J$1$l$P:o$C$Fe(B
e$BM_$7$$$G$9!#e(B
e$B$I$&$7$F$bI,MW$,$”$k$J$ie(Bpre3e$B$^$G$KBP1~:v$r9M$($J$$$H$$$1$J$$e(B
e$B$G$9$1$Ie(B…

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

e$B6bK$G$9!#e(B
e$B$*@$OC$K$J$C$F$$$^$9!#e(B

AIX e$B;H$C$F$^$9!#BgJQ=u$+$j$^$9!#e(B
e$B$Lr$KN)$F$F$h$+$C$?$G$9!#e(B
e$B:#8e$H$b$h$m$7$/$
$M$,$$$7$^$9!#e(B

e$B$D$^$i$J$$<ALd$G62=L$G$9$,!"BP>]$Oe(B 32 e$B%S%C%H%b!<%I$G$7$g$&$+!#e(B
e$B$9$$^$;$s!#e(B64e$B%S%C%H$N$3$H$OA4$/9M$($F$$$^$;$s$G$7$?!#e(B
e$B2?$+$$$$<j$,$J$$$+C5$7$F$
$^$9!#e(B
e$B:#8e$N2]Bj$K$5$;$F$/$@$5$$!#e(B

Windowse$B$G$OHs>o$KITET9g$N$"$kFbMF$J$N$G!"I,MW$,$J$1$l$Pe(B
e$B:o$C$FM_$7$$$G$9!#e(B
e$BBgJQ$4LBOG$r$*$+$1$$$?$7$^$7$?!#e(B
e$B?=$7Lu$4$6$$$^$;$s!#e(B

e$B$I$&$J$s$G$7$g$&!#e(BAIXe$B$N$?$a$Ke(BWin32e$B$,F0$+$J$$$H$$$&$3$H$O$"$je(B
e$B$($J$$$N$G!"$3$NItJ,$O:o$kJ}8~$r9M$($F$^$9!#e(B
e$B$3$NJ}?K$K$OA4$/0[O@$O$4$6$$$^$;$s!#e(B

e$B$?$@!"$d$O$j$A$g$C$H$3$^$j$^$9$N$G!"$3$s$JBeBX0F$re(B
e$B9M$($F$_$^$7$?!#e(BWin32e$B$N4D6-$,$9$0$K=`Hw$G$-$J$/$F62=L$J$N$G$9$,!“e(B
e$B$H$j$”$($:<j85$Ne(BLinuxe$B$G$OFC$KLBOG$r$+$1$:$Ke(Bcompile/installe$B$,$9$s$@$3$H$O3NG’$7$^$7$?!#e(B
e$B$$$+$,$J$b$N$G$7$g$&!#e(B
e$B$h$m$7$/$*$M$,$$$7$^$9!#e(B

Index: Makefile.in

RCS file: /src/ruby/Makefile.in,v
retrieving revision 1.55.2.14
diff -u -r1.55.2.14 Makefile.in
— Makefile.in 26 Jul 2006 13:28:17 -0000 1.55.2.14
+++ Makefile.in 7 Aug 2006 19:27:41 -0000
@@ -85,6 +85,7 @@
OBJEXT = @OBJEXT@
MANTYPE = @MANTYPE@

+PREINSTALL = @PREINSTALL@

End of variables

all:
Index: common.mk

RCS file: /src/ruby/common.mk,v
retrieving revision 1.13.2.7
diff -u -r1.13.2.7 common.mk
— common.mk 7 Aug 2006 07:51:12 -0000 1.13.2.7
+++ common.mk 7 Aug 2006 19:27:41 -0000
@@ -112,8 +112,7 @@

pre-install: pre-install-local pre-install-ext
pre-install-local:: PHONY

  • $(RM) $(prefix)/lib/$(LIBRUBY)
  • $(RM) -r $(prefix)/lib/ruby/$(MAJOR).$(MINOR)/$(arch)
  • $(PREINSTALL)
    pre-install-ext:: PHONY
    pre-install-doc:: PHONY

Index: configure.in

RCS file: /src/ruby/configure.in,v
retrieving revision 1.212.2.59
diff -u -r1.212.2.59 configure.in
— configure.in 7 Aug 2006 07:51:12 -0000 1.212.2.59
+++ configure.in 7 Aug 2006 19:27:41 -0000
@@ -1449,6 +1449,9 @@
esac
MINIOBJS=dmydln.o
;;

  • aix*)
  •    PREINSTALL='$(RM) -r $(prefix)/lib/$(LIBRUBY_A)
    

$(prefix)/lib/$(LIBRUBY_SO)
$(prefix)/lib/ruby/$(MAJOR).$(MINOR)/$(arch)’

  •    ;;
    
    *)
    ;;
    esac
    @@ -1481,6 +1484,7 @@
    AC_SUBST(COMMON_HEADERS)
    AC_SUBST(EXPORT_PREFIX)
    AC_SUBST(MINIOBJS)
    +AC_SUBST(PREINSTALL)

MAKEFILES=“Makefile echo $FIRSTMAKEFILE | sed 's/:.*//'"
MAKEFILES=”echo $MAKEFILES"

In message [email protected]
on Mon, 7 Aug 2006 01:34:49 +0900,
“Yutaka K.” [email protected] wrote:

e$B$^$?!“e(Bcommon.mke$B$K$F!“e(Binstalle$BA0$K%$%s%9%H!<%k$7$F$”$k%i%$%V%i%j$r>C$9e(B
e$B:n6H$rF~$l$^$7$?!#e(BAIXe$B$O6&M-%b%8%e!<%k$re(BOSe$B$,$D$+$s$G$7$^$C$F!”%$%s%9e(B
e$B%H!<%k;~$Ke(BTEXTBUSYe$B$H$$$o$l$F$7$^$&$H$-$,$"$j$^$9!#e(Bslibcleane$B$H$$$&%3e(B
BSDe$B7Oe(BOSe$B$Ne(Binstall(1)e$B$G$O!"0lC6%U%!%$%k$re(Bunlink(2)e$B$7$?>e$G%U%!%$%k$r%3%T!<e(B
e$B$9$k$H$+!“e(B(e$B%%W%7%g%s$K$h$C$F$Oe(B)e$BF1$8%G%#%l%/%H%j$K0l;~E$JL>A0$G%$%s%9e(B
e$B%H!<%k$7$?8e$Ge(B(e$B%?!<%2%C%H$re(Bunlink(2)e$B$7$Fe(B)e$BL>A0$rJQ99$9$k!”$H$$$C$?<j=ge(B
e$B$rF’$_$^$9!#e(B

e$B$3$&$$$&=hM}$r!“%$%s%9%H!<%k;~$N%U%!%$%k$N%3%T!<$K6&DL$7$F9T$&$h$&$K$7e(B
e$B$F!”$3$NLdBj$r2r7h$9$k$H$$$&J}K!$b$"$k$+$H;W$$$^$9!#e(B

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

In message “[ruby-dev:29215] Re: AIXe$B$G$N%3%s%Q%$%ke(B
(e$B%*%W%7%g%s$NE}0l$J$Ie(B)”
on Aug.08,2006 04:56:22, [email protected] wrote:
| e$B$?$@!“$d$O$j$A$g$C$H$3$^$j$^$9$N$G!”$3$s$JBeBX0F$re(B
| e$B9M$($F$_$^$7$?!#e(BWin32e$B$N4D6-$,$9$0$K=`Hw$G$-$J$/$F62=L$J$N$G$9$,!“e(B
| e$B$H$j$”$($:<j85$Ne(BLinuxe$B$G$OFC$KLBOG$r$+$1$:$Ke(Bcompile/installe$B$,$9$s$@$3$H$O3NG’$7$^$7$?!#e(B
| e$B$$$+$,$J$b$N$G$7$g$&!#e(B

e$B%Q%C%A$,e(B(e$B$?$V$s%a!<%i$K$h$C$Fe(B)e$BESCf$G2~9T$5$l$A$c$C$F$k$H$3$me(B
e$B$,$“$k$h$&$G$9$,!”$=$l$O$5$F$*$-!“$3$l$G$”$l$Pe(Bmswin32e$BHG$G$bLde(B
e$BBj$J$/%$%s%9%H!<%k$,$G$-$^$7$?!#e(B
e$B<B:]$K$O;n$7$F$^$;$s$,!“e(BBorland makee$B$N5sF0$rG0$N$?$a3NG’$7$?e(B
e$B46$8$G$O!”$?$V$se(Bbccwin32e$BHG$bBg>fIW$G$O$J$$$+$H;W$$$^$9!#e(B

e$B$H$3$m$G!"A02s$N%Q%C%A$N;~$b;W$C$?$s$G$9$,!"e(B$(RM)e$B$8$c$J$/$F!“e(B
@$(RM)e$B$NJ}$,!”<~$j$NF0$-$H%^%C%A$7$F$$$$$s$8$c$J$$$G$7$g$&$+e(B?

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

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

06/08/08 e$B$Ke(B Takahiro K.[email protected]
e$B$5$s$O=q$-$^$7$?e(B:

BSDe$B7Oe(BOSe$B$Ne(Binstall(1)e$B$G$O!"0lC6%U%!%$%k$re(Bunlink(2)e$B$7$?>e$G%U%!%$%k$r%3%T!<e(B
e$B$9$k$H$+!“e(B(e$B%%W%7%g%s$K$h$C$F$Oe(B)e$BF1$8%G%#%l%/%H%j$K0l;~E$JL>A0$G%$%s%9e(B
e$B%H!<%k$7$?8e$Ge(B(e$B%?!<%2%C%H$re(Bunlink(2)e$B$7$Fe(B)e$BL>A0$rJQ99$9$k!”$H$$$C$?<j=ge(B
e$B$rF’$_$^$9!#e(B

e$B$3$&$$$&=hM}$r!“%$%s%9%H!<%k;~$N%U%!%$%k$N%3%T!<$K6&DL$7$F9T$&$h$&$K$7e(B
e$B$F!”$3$NLdBj$r2r7h$9$k$H$$$&J}K!$b$"$k$+$H;W$$$^$9!#e(B

1.9e$B$G$O!“3HD%%i%$%V%i%j$K4X$7$F$O%?!<%2%C%H$r:o=|$7$F$+$i%3%T!<$9$k$h$&$K$J$C$F$$$k$O$:$G$9!#$?$@$7!”$3$l$KI,MW$J5!G=$Oe(B1.9e$B$Ne(Bfileutils.rbe$B$K$7$+$J$+$C$?$H;W$$$^$9$,!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29217] Re: AIXe$B$G$N%3%s%Q%$%ke(B
(e$B%*%W%7%g%s$NE}0l$J$Ie(B)”
on Tue, 8 Aug 2006 09:18:07 +0900, “U.Nakamura”
[email protected] writes:

|e$B%Q%C%A$,e(B(e$B$?$V$s%a!<%i$K$h$C$Fe(B)e$BESCf$G2~9T$5$l$A$c$C$F$k$H$3$me(B
|e$B$,$“$k$h$&$G$9$,!”$=$l$O$5$F$*$-!“$3$l$G$”$l$Pe(Bmswin32e$BHG$G$bLde(B
|e$BBj$J$/%$%s%9%H!<%k$,$G$-$^$7$?!#e(B
|e$B<B:]$K$O;n$7$F$^$;$s$,!“e(BBorland makee$B$N5sF0$rG0$N$?$a3NG’$7$?e(B
|e$B46$8$G$O!”$?$V$se(Bbccwin32e$BHG$bBg>fIW$G$O$J$$$+$H;W$$$^$9!#e(B
|
|e$B$H$3$m$G!"A02s$N%Q%C%A$N;~$b;W$C$?$s$G$9$,!"e(B$(RM)e$B$8$c$J$/$F!“e(B
|@$(RM)e$B$NJ}$,!”<~$j$NF0$-$H%^%C%A$7$F$$$$$s$8$c$J$$$G$7$g$&$+e(B?

e$B;d$,:n6H$7$Fe(Bwin32e$B$GF0$+$J$/$J$k$H$$$1$^$;$s$+$i!"$J$+$`$i$5e(B
e$B$s$,%3%_%C%H$7$F$$$?$@$1$^$;$s$+!)e(B

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

In message “[ruby-dev:29219] Re: AIXe$B$G$N%3%s%Q%$%ke(B
(e$B%*%W%7%g%s$NE}0l$J$Ie(B)”
on Aug.08,2006 11:23:45, [email protected] wrote:
| e$B;d$,:n6H$7$Fe(Bwin32e$B$GF0$+$J$/$J$k$H$$$1$^$;$s$+$i!"$J$+$`$i$5e(B
| e$B$s$,%3%_%C%H$7$F$$$?$@$1$^$;$s$+!)e(B

1.8e$B$K$OF~$l$^$7$?!#e(B

1.9e$B$O!"e(B[ruby-dev:29220]e$B$$?$$$JOC$,=P$F$-$?$N$G!"$J$+$@$5$s$,e(B
e$B%W%i%C%H%U%)!<%`2#CGE*$K5!G=$9$k$b$N$rMQ0U$7$F$k$H@hFI$
$7$Fe(B
e$B$A$g$C$HCV$$$H$-$^$9!#e(Bmake installe$B$G$7$+:$$i$J$$$7!#e(B

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

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

At Mon, 7 Aug 2006 01:34:49 +0900,
Yutaka K. wrote in [ruby-dev:29190]:

common.mke$B$K$F!“e(Binstalle$BA0$K%$%s%9%H!<%k$7$F$”$k%i%$%V%i%j$r>Ce(B
e$B$9:n6H$rF~$l$^$7$?!#e(BAIXe$B$O6&M-%b%8%e!<%k$re(BOSe$B$,$D$+$s$G$7$^$C$F!“e(B
e$B%$%s%9%H!<%k;~$Ke(BTEXT BUSYe$B$H$$$o$l$F$7$^$&$H$-$,$”$j$^$9!#e(B

e$B$3$l$K4X$7$F$O$[$H$s$I$N%7%9%F%`$G6&DL$9$k$H;W$$$^$9$,!"$9$G$Ke(B
FileUtils.installe$B$G$O:o=|$7$F$+$i%3%T!<$7$F$$$k$O$:$G$9!#$b$&$A$g$Ce(B
e$B$H6qBNE*$J%(%i!<$NFbMF$r65$($F$b$i$($^$;$s$+!#e(B

e$B6bK$G$9!#e(B

e$B$3$N$?$S$O$I$&$b$*A{$,$;$7$F?=$7Lu$"$j$^$;$s$G$7$?!#e(B

e$B$H$3$m$G!"A02s$N%Q%C%A$N;~$b;W$C$?$s$G$9$,!“e(B$(RM)e$B$8$c$J$/$F!“e(B
@$(RM)e$B$NJ}$,!”<~$j$NF0$-$H%^%C%A$7$F$$$$$s$8$c$J$$$G$7$g$&$+e(B?
e$B$4G[N8$”$j$,$H$&$4$6$$$^$7$?!#e(B
e$BG0$N$?$a$KF0:n3NG’$7$^$7$?$,!"e(BAIXe$B$KE$i$l$k$3$H$J$/e(B
e$B%$%s%9%H!<%k$G$-$^$7$?!#e(B

#e$B%U%#%k%?$5$l$?$b$N$r$$F$*$-$?$+$C$?$N$G$9$,!"e(B
#e$B$&$^$/$$F0$$$?$ie(B@e$B$r$D$1$k$3$H$rK:$l$F$7$^$C$F$$$^$7$?!#e(B
#e$B$I$&$b$9$
$^$;$s!#e(B

é??æ?¬ã§ã?ã??
ã?ä¸?話になってã?まã?ã??

ã?ã??にé?¢ã?てはほとã??どのã?·ã?¹ã??ã? でå?±é??ã?ã??とæ?ã?まã?ã?ã?ã?でに
FileUtils.installではå??é?¤ã?てã?ã??ã?³ã??ã?¼ã?てã?ã??はã?でã?ã??ã??ã?ちã??っ
とå?·ä½?ç??なã?¨ã?©ã?¼ã®å??容ã??æ??ã?てã??ã??ã?まã?ã??ã?ã??
ã?¨ã?©ã?¼ã¯ä¾?ã?ば以ä¸?のã??のでã?ã??
1.8.5preview3でã?å ±å??ã?ã?PREINSTALLã??ã?ã??にã?ã?ときの結æ??でã?ã??
寸å?ã«make checkã?てã?ã??とã?é?ã?ã??ã?¡ã?¤ã?«ã§ã²ã£ã?ã?ã??ときã?ã?ã??まã?ã??

make install

(中�)
./miniruby ./ext/extmk.rb --dest-dir="" --make=“make” --mflags=""
–make-flags="" --extout=".ext" --extension --extstatic – install
cp -r ./.ext/. /home/kanemoto/r185p3/lib/ruby/1.8
/home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:1246:in initialize': Text file busy - /home/kanemoto/r185p3/lib/ruby/1.8/./powerpc-aix5.3.0.0/etc.so (Errno::ETXTBSY) from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:1246:inopen’
from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:1246:in
copy_file' from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:1245:inopen’
from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:1245:in
copy_file' from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:1215:incopy’
from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:447:in
copy_entry' from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:1308:intraverse’
from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:445:in
copy_entry' from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:423:incp_r’
from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:1379:in
fu_each_src_dest' from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:1393:infu_each_src_dest0’
from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:1377:in
fu_each_src_dest' from /home/kanemoto/com/ruby-1.8.5/lib/fileutils.rb:422:incp_r’
from ./ext/extmk.rb:389
make: *** [do-install-ext] Error 1

AIXã?ã??ã¿ã®å ±å??のç?ºç«¯ã?1.8.5preview2でã?てã?ãã®å¾?ã?っと1.8でのä½?業ã??
å ±å??ã?てã?てã?ã?¼ã?¸ã?§ã?³ã®è¨?å?ã??ã?てã?まã?ã??でã?ã?ã??
ç?³ã?訳ã?ã??まã?ã??ã??
ちã??っと調べてみã?のでã?ã?ã?ã?っã?ã??ã??ã??てã?ã??å??ä½?は1.9のã??のではã?ã??まã?ã??でã?ã??ã?ã??
1.9のfileutils.rbã??ext/extmk.rbã??1.8のã??のとæ¯?è¼?ã?ã??とã?remove_destinationã?ªã??ã?·ã?§ã?³ã?
1.9で追å? になってã?ã??ã??ã?でã?ã??ã?ã??ã?ã?ã??ã°å ±å??ã?ã?PREINSTALLは
å¿?要なくなã??ã??ã?でã?ã??私のはひどã?ã?¯ã?¤ã??ã?¯ã?ã??ã?¯ã§ã?ã?ã??

PREINSTALLã??æ¶?ã?てã?remove_destinationã??ã?ã??ã?¯ã?ã?¼ã??ã?ã??1.8へのã??ã??ã?ã??
ä½?ってみまã?ã?ã??ã?ä¸?è??ã?ã?だã?まã?でã?ã??ã?ã??
どã?ã??ã?è¿·æ??ã??ã?ã?ã?ã?まã?ã?ã??

まã?ã?ä»?å??のä½?業でæ°?づã?ã?のでã?ã?ã?1.9のcommon.mkにã?ç§ã®æ?¸ã?ã?
Win32にå?é¡?のã?ã??é?¨å??ã?æ®?ってã?まã?ã?のでã?
念のã?ã?ã«ãã¡ã??ã??ã??ã??ã?ã«ã?てã?きまã?ã?ã??
ã??ã?ã?くã?ねã?ã?ã?まã?ã??

e$B6bK$H$b$&$7$^$9!#e(B

06/08/09 e$B$Ke(B [email protected][email protected]
e$B$5$s$O=q$-$^$7$?e(B:

e$B$J$+$@$G$9!#e(B
(e$BCfN,e(B)
e$B$3$l$K4X$7$F$O$[$H$s$I$N%7%9%F%`$G6&DL$9$k$H;W$$$^$9$,!"$9$G$Ke(B
FileUtils.installe$B$G$O:o=|$7$F$+$i%3%T!<$7$F$$$k$O$:$G$9!#$b$&$A$g$Ce(B
e$B$H6qBNE*$J%(%i!<$NFbMF$r65$($F$b$i$($^$;$s$+!#e(B
e$BCY$/$J$j$^$7$?$,!"JdB-$5$;$F$/$@$5$$!#e(B
FileUtils.installe$B$O3N$+$K:o=|$7$F$+$i%3%T!<$7$F$$$k$N$G$9$,!"e(B
AIXe$B$G$N%$%s%9%H!<%k;~$K%(%i!<$,=P$k$N$O3HD%%i%$%V%i%j$re(B
e$B%$%s%9%H!<%k$7$F$$$k:GCf$G!"e(Binstalle$B$G$O$J$/e(Bcp_re$B$r$7$F$$$k$H$-$J$N$G$9!#e(B

e$B$=$3$Ge(Bcp_re$BMQ$Ke(Bremove_destinatione$B$r%P%C%/%]!<%H$9$k%Q%C%A$rJs9p$7$?<!Bh$G$9!#e(B
e$B%j%j!<%9A0$K$9$k$3$H$G$O$J$$$+$b$7$l$^$;$s$,!“$3$l$Ge(B
AIXe$B$@$1$G$J$/!”$[$+$N%W%i%C%H%U%)!<%`$G$b!"$3$N%*%W%7%g%s$,%$%s%W%j%a%s%H$5$l$?e(B
e$BM}M3$NLdBj!Je(B[ruby-dev:28417]e$B!K$N2r>C$K$J$k$H;W$o$l$^$9!#e(B

e$B$H$$$&$o$1$G!"e(B[ruby-dev:29249]e$B$N%Q%C%A$r$40l9M$$$?$@$1$k$H9,$$$G$9!#e(B
AIX4.3.3e$B$He(BAIX5.3e$B$G%$%s%9%H!<%k;~$NLdBj$N2r>C$r3NG’$7$^$7$?!#e(B
e$B$^$?!"e(BLinux/x86e$B!Je(BRHEL3e$B$de(BFedora4e$B!K$G%3%s%Q%$%k$d%$%s%9%H!<%k$Oe(B
e$BFC$KLdBj$J$/=N;$7$?$3$H$O3NG’$7$^$7$?!#e(B
e$B$h$m$7$/$
$M$,$$$$$?$7$^$9!#e(B

e$B6bK$H$b$&$7$^$9!#e(B

06/08/16 e$B$Ke(B Minero A.[email protected]
e$B$5$s$O=q$-$^$7$?e(B:

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

e$B4pK\E*$K$OF~$l$k$Y$-$@$H;W$&$s$G$9$,!“$A$g$C$H$”$^$j$K%j%j!<%9e(B
e$B@#A0$9$.$k$N$G!“:#2s$O8+Aw$j$^$7$g$&!#$3$3$GJQ$J$3$H$d$C$Fe(B
make install e$B$9$iDL$i$J$$$H$+$$$&;vBV$O@dBP$KHr$1$?$$$G$9$+$i!#e(B
e$B$o$,$^$^8@$C$F$9$_$^$;$s!#e(B
e$B0[O@$O$”$j$^$;$s!#e(B

e$B:#2s$NOC$Oe(B 1.8.5 e$B%j%j!<%98e$KBP1~$7$?$$$H;W$$$^$9!#e(B
e$B$h$m$7$/$*$M$,$$$$$?$7$^$9!#e(B

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

In mail “[ruby-dev:29270] Re: AIXe$B$G$N%3%s%Q%$%ke(B
(e$B%*%W%7%g%s$NE}0l$J$Ie(B)”
“Yutaka K.” [email protected] wrote:

e$B6bK$H$b$&$7$^$9!#e(B

FileUtils.installe$B$O3N$+$K:o=|$7$F$+$i%3%T!<$7$F$$$k$N$G$9$,!"e(B
AIXe$B$G$N%$%s%9%H!<%k;~$K%(%i!<$,=P$k$N$O3HD%%i%$%V%i%j$re(B
e$B%$%s%9%H!<%k$7$F$$$k:GCf$G!"e(Binstalle$B$G$O$J$/e(Bcp_re$B$r$7$F$$$k$H$-$J$N$G$9!#e(B

e$B$=$3$Ge(Bcp_re$BMQ$Ke(Bremove_destinatione$B$r%P%C%/%]!<%H$9$k%Q%C%A$rJs9p$7$?<!Bh$G$9!#e(B
e$B%j%j!<%9A0$K$9$k$3$H$G$O$J$$$+$b$7$l$^$;$s$,!“$3$l$Ge(B
AIXe$B$@$1$G$J$/!”$[$+$N%W%i%C%H%U%)!<%`$G$b!"$3$N%*%W%7%g%s$,%$%s%W%j%a%s%H$5$l$?e(B
e$BM}M3$NLdBj!Je(B[ruby-dev:28417]e$B!K$N2r>C$K$J$k$H;W$o$l$^$9!#e(B

e$B$H$$$&$o$1$G!"e(B[ruby-dev:29249]e$B$N%Q%C%A$r$40l9M$$$?$@$1$k$H9,$$$G$9!#e(B

e$B4pK\E*$K$OF~$l$k$Y$-$@$H;W$&$s$G$9$,!“$A$g$C$H$”$^$j$K%j%j!<%9e(B
e$B@#A0$9$.$k$N$G!":#2s$O8+Aw$j$^$7$g$&!#$3$3$GJQ$J$3$H$d$C$Fe(B
make install e$B$9$iDL$i$J$$$H$+$$$&;vBV$O@dBP$KHr$1$?$$$G$9$+$i!#e(B
e$B:#2s$NOC$Oe(B 1.8.5 e$B%j%j!<%98e$KBP1~$7$?$$$H;W$$$^$9!#e(B

e$B$o$?$7$,$b$&$A$g$$Aa$/BP1~$G$-$k$H$h$+$C$?$s$G$9$,!"$9$_$^$;$s!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29581] Re: AIXe$B$G$N%3%s%Q%$%ke(B
(e$B%*%W%7%g%s$NE}0l$J$Ie(B)”

|EXTOUTe$B$r;H$&>l9g$Oe(Bextmk.rbe$B$h$j$be(Binstruby.rbe$B$GA4It:Q$^$;$?$[$&$,e(B
|e$B2?$+$HET9g$,$$$$$N$G!"=hM}$r0\F0$7$?$$$H;W$$$^$9!#$D$$$G$K!“e(B
|make uninstalle$B$7$?$$$H$$$&OC$be(B([ruby-talk:213908]e$B$H$+e(B)e$B$H$-$*$je(B
|e$B8+$+$1$k$N$G!”$$$C$7$g$KBP1~$7$F$_$^$7$?!#e(B

e$B$$$$$s$8$c$J$$$G$7$g$&$+!#e(B

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

At Wed, 16 Aug 2006 11:58:39 +0900,
Minero A. wrote in [ruby-dev:29272]:

e$B4pK\E*$K$OF~$l$k$Y$-$@$H;W$&$s$G$9$,!"$A$g$C$H$"$^$j$K%j%j!<%9e(B
e$B@#A0$9$.$k$N$G!":#2s$O8+Aw$j$^$7$g$&!#$3$3$GJQ$J$3$H$d$C$Fe(B
make install e$B$9$iDL$i$J$$$H$+$$$&;vBV$O@dBP$KHr$1$?$$$G$9$+$i!#e(B
e$B:#2s$NOC$Oe(B 1.8.5 e$B%j%j!<%98e$KBP1~$7$?$$$H;W$$$^$9!#e(B

e$B$3$N7o$O$I$&$7$^$7$g$&$+!#e(B

EXTOUTe$B$r;H$&>l9g$Oe(Bextmk.rbe$B$h$j$be(Binstruby.rbe$B$GA4It:Q$^$;$?$[$&$,e(B
e$B2?$+$HET9g$,$$$$$N$G!"=hM}$r0\F0$7$?$$$H;W$$$^$9!#$D$$$G$K!“e(B
make
uninstalle$B$7$?$$$H$$$&OC$be(B([ruby-talk:213908]e$B$H$+e(B)e$B$H$-$*$je(B
e$B8+$+$1$k$N$G!”$$$C$7$g$KBP1~$7$F$_$^$7$?!#e(B

Index: Makefile.in

RCS file: /cvs/ruby/src/ruby/Makefile.in,v
retrieving revision 1.55.2.16
diff -p -u -2 -r1.55.2.16 Makefile.in
— Makefile.in 8 Sep 2006 19:48:52 -0000 1.55.2.16
+++ Makefile.in 15 Sep 2006 06:26:29 -0000
@@ -86,5 +86,5 @@ OBJEXT = @OBJEXT@
MANTYPE = @MANTYPE@

-PREINSTALL = @PREINSTALL@
+INSTALLED_LIST= .installed.list

End of variables

Index: common.mk

RCS file: /cvs/ruby/src/ruby/common.mk,v
retrieving revision 1.13.2.10
diff -p -u -2 -r1.13.2.10 common.mk
— common.mk 2 Sep 2006 04:26:40 -0000 1.13.2.10
+++ common.mk 15 Sep 2006 09:42:52 -0000
@@ -54,8 +54,10 @@ OBJS = array.$(OBJEXT) \

SCRIPT_ARGS = --dest-dir="$(DESTDIR)" \

  •   --extout="$(EXTOUT)" \
      --make="$(MAKE)" \
      --mflags="$(MFLAGS)" \
      --make-flags="$(MAKEFLAGS)"
    

-EXTMK_ARGS = $(SCRIPT_ARGS) --extout="$(EXTOUT)" --extension $(EXTS)
–extstatic $(EXTSTATIC) –
+EXTMK_ARGS = $(SCRIPT_ARGS) --extension $(EXTS) --extstatic
$(EXTSTATIC) –
+INSTRUBY_ARGS = $(SCRIPT_ARGS) --installed-list $(INSTALLED_LIST)

all: $(MKFILES) $(PREP) $(RBCONFIG) $(LIBRUBY)
@@ -81,44 +83,141 @@ install: install-nodoc $(RDOCTARGET)
install-all: install-nodoc install-doc

-install-nodoc: install-local install-ext
+install-nodoc: pre-install-nodoc do-install-nodoc post-install-nodoc
+pre-install-nodoc:: pre-install-local pre-install-ext
+do-install-nodoc:

  • $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS)
    –mantype="$(MANTYPE)"
    +post-install-nodoc:: post-install-local post-install-ext

install-local: pre-install-local do-install-local post-install-local
-install-ext: pre-install-ext do-install-ext post-install-ext
+pre-install-local:: pre-install-bin pre-install-lib pre-install-man
+do-install-local:

  • $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=local
    –mantype="$(MANTYPE)"
    +post-install-local:: post-install-bin post-install-lib post-install-man

-do-install-local: $(RBCONFIG)

  • $(MINIRUBY) $(srcdir)/instruby.rb $(SCRIPT_ARGS)
    –mantype="$(MANTYPE)"
    -do-install-ext: $(RBCONFIG)
  • $(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) install

-install-bin: $(RBCONFIG)

  • $(MINIRUBY) $(srcdir)/instruby.rb $(SCRIPT_ARGS) --install=bin
    -install-lib: $(RBCONFIG)
  • $(MINIRUBY) $(srcdir)/instruby.rb $(SCRIPT_ARGS) --install=lib
    -install-man: $(RBCONFIG)
  • $(MINIRUBY) $(srcdir)/instruby.rb $(SCRIPT_ARGS) --install=man
    –mantype="$(MANTYPE)"
    +install-ext: pre-install-ext do-install-ext post-install-ext
    +pre-install-ext:: pre-install-ext-arch pre-install-ext-comm
    +do-install-ext:
  • $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=ext
    +post-install-ext:: post-install-ext-arch post-install-ext-comm

+install-arch: pre-install-arch do-install-arch post-install-arch
+pre-install-arch:: pre-install-bin pre-install-ext-arch
+do-install-arch:

  • $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=bin
    –install=ext-arch
    +post-install-arch:: post-install-bin post-install-ext-arch

+install-comm: pre-install-comm do-install-comm post-install-comm
+pre-install-comm:: pre-install-lib pre-install-ext-comm pre-install-man
+do-install-comm:

  • $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=lib
    –install=ext-comm --install=man
    +post-install-comm:: post-install-lib post-install-ext-comm
    post-install-man

+install-bin: pre-install-bin do-install-bin post-install-bin
+pre-install-bin:: install-prereq
+do-install-bin:

  • $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=bin
    +post-install-bin::

+install-lib: pre-install-lib do-install-lib post-install-lib
+pre-install-lib:: install-prereq
+do-install-lib:

  • $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=lib
    +post-install-lib::

+install-ext-comm: pre-install-ext-comm do-install-ext-comm
post-install-ext-comm
+pre-install-ext-comm:: install-prereq
+do-install-ext-comm:

  • $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=ext-comm
    +post-install-ext-comm::

+install-ext-arch: pre-install-ext-arch do-install-ext-arch
post-install-ext-arch
+pre-install-ext-arch:: install-prereq
+do-install-ext-arch:

  • $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=ext-arch
    +post-install-ext-arch::

+install-man: pre-install-man do-install-man post-install-man
+pre-install-man:: install-prereq
+do-install-man:

  • $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=man
    –mantype="$(MANTYPE)"
    +post-install-man::

+what-where: no-install
+no-install: no-install-nodoc $(RDOCTARGET)
+what-where-all: no-install-all
+no-install-all: no-install-nodoc
+
+what-where-nodoc: no-install-nodoc
+no-install-nodoc: pre-no-install-nodoc dont-install-nodoc
post-no-install-nodoc
+pre-no-install-nodoc:: pre-no-install-local pre-no-install-ext
+dont-install-nodoc:

  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS)
    –mantype="$(MANTYPE)"
    +post-no-install-nodoc:: post-no-install-local post-no-install-ext

-what-where-all no-install-all: no-install no-install-doc
-what-where no-install: no-install-local no-install-ext
what-where-local: no-install-local
-no-install-local: $(RBCONFIG)

  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(SCRIPT_ARGS)
    –mantype="$(MANTYPE)"
    +no-install-local: pre-no-install-local dont-install-local
    post-no-install-local
    +pre-no-install-local:: pre-no-install-bin pre-no-install-lib
    pre-no-install-man
    +dont-install-local:
  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=local
    –mantype="$(MANTYPE)"
    +post-no-install-local:: post-no-install-bin post-no-install-lib
    post-no-install-man

what-where-ext: no-install-ext
-no-install-ext: $(RBCONFIG)

  • $(MINIRUBY) $(srcdir)/ext/extmk.rb -n $(EXTMK_ARGS) install
    +no-install-ext: pre-no-install-ext dont-install-ext post-no-install-ext
    +pre-no-install-ext:: pre-no-install-ext-arch pre-no-install-ext-comm
    +dont-install-ext:
  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=ext
    +post-no-install-ext:: post-no-install-ext-arch post-no-install-ext-comm

+what-where-arch: no-install-arch
+no-install-arch: pre-no-install-arch dont-install-arch
post-no-install-arch
+pre-no-install-arch:: pre-no-install-bin pre-no-install-ext-arch
+dont-install-arch:

  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=bin
    –install=ext-arch
    +post-no-install-arch:: post-no-install-lib post-no-install-man
    post-no-install-ext-arch

+what-where-comm: no-install-comm
+no-install-comm: pre-no-install-comm dont-install-comm
post-no-install-comm
+pre-no-install-comm:: pre-no-install-lib pre-no-install-ext-comm
pre-no-install-man
+dont-install-comm:

  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=lib
    –install=ext-comm --install=man
    +post-no-install-comm:: post-no-install-lib post-no-install-ext-comm
    post-no-install-man

+what-where-bin: no-install-bin
+no-install-bin: pre-no-install-bin dont-install-bin post-no-install-bin
+pre-no-install-bin:: install-prereq
+dont-install-bin:

  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=bin
    +post-no-install-bin::

+what-where-lib: no-install-lib
+no-install-lib: pre-no-install-lib dont-install-lib post-no-install-lib
+pre-no-install-lib:: install-prereq
+dont-install-lib:

  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=lib
    +post-no-install-lib::

+what-where-ext-comm: no-install-ext-comm
+no-install-ext-comm: pre-no-install-ext-comm dont-install-ext-comm
post-no-install-ext-comm
+pre-no-install-ext-comm:: install-prereq
+dont-install-ext-comm:

  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS)
    –install=ext-comm
    +post-no-install-ext-comm::

+what-where-ext-arch: no-install-ext-arch
+no-install-ext-arch: pre-no-install-ext-arch dont-install-ext-arch
post-no-install-ext-arch
+pre-no-install-ext-arch:: install-prereq
+dont-install-ext-arch:

  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS)
    –install=ext-arch
    +post-no-install-ext-arch::

+what-where-man: no-install-man
+no-install-man: pre-no-install-man dont-install-man post-no-install-man
+pre-no-install-man:: install-prereq
+dont-install-man:

  • $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=man
    –mantype="$(MANTYPE)"
    +post-no-install-man::

-install-doc: pre-install-doc do-install-doc post-install-doc
-do-install-doc: $(PROGRAM)

  • @echo Generating RDoc documentation
  • $(RUNRUBY) “$(srcdir)/bin/rdoc” --all --ri --op “$(RIDATADIR)”
    “$(srcdir)”

-pre-install: pre-install-local pre-install-ext
-pre-install-local:: PHONY

  • $(PREINSTALL)
    -pre-install-ext:: PHONY
    -pre-install-doc:: PHONY

-post-install: post-install-local post-install-ext
-post-install-local:: PHONY
-post-install-ext:: PHONY
-post-install-doc:: PHONY
+install-prereq:

  • @exit > $(INSTALLED_LIST)

clean: clean-ext clean-local
Index: instruby.rb

RCS file: /cvs/ruby/src/ruby/instruby.rb,v
retrieving revision 1.59.2.7
diff -p -u -2 -r1.59.2.7 instruby.rb
— instruby.rb 24 Feb 2006 03:12:27 -0000 1.59.2.7
+++ instruby.rb 15 Sep 2006 09:40:32 -0000
@@ -18,10 +18,14 @@ def parse_args()
$mantype = ‘doc’
$destdir = nil

  • $extout = nil
    $make = ‘make’
    $mflags = []
    $install = []
  • $installed_list = nil
  • $dryrun = false
    opt = OptionParser.new
    opt.on(’-n’) {$dryrun = true}
    opt.on(’–dest-dir=DIR’) {|dir| $destdir = dir}
  • opt.on(’–extout=DIR’) {|dir| $extout = (dir unless dir.empty?)}
    opt.on(’–make=COMMAND’) {|make| $make = make}
    opt.on(’–mantype=MAN’) {|man| $mantype = man}
    @@ -32,5 +36,9 @@ def parse_args()
    $mflags.concat(v)
    end
  • opt.on(’–install=TYPE’, [:bin, :lib, :man]) {|ins| $install << ins}
  • opt.on(’-i’, ‘–install=TYPE’,
  •     [:local, :bin, :lib, :man, :ext, :"ext-arch", :"ext-comm"]) do 
    

|ins|

  • $install << ins
  • end
  • opt.on(’–installed-list [FILENAME]’) {|name| $installed_list = name}
    opt.parse! rescue abort [$!.message, opt].join("\n")

@@ -42,4 +50,8 @@ def parse_args()
false
end

  • def $mflags.defined?(var)

  • grep(/\A#{var}=(.*)/) {return $1}

  • false

  • end

    if $mflags.set?(?n)
    @@ -49,7 +61,14 @@ def parse_args()
    end

  • $mflags << “DESTDIR=#{$destdir}”
  • $destdir ||= $mflags.defined?(“DESTDIR”)

  • $extout ||= $mflags.defined?(“EXTOUT”)

    $continue = $mflags.set?(?k)

  • if $installed_list ||= $mflags.defined?(‘INSTALLED_LIST’)

  • Config.expand($installed_list, Config::CONFIG)

  • $installed_list = open($installed_list, “ab”)

  • $installed_list.sync = true

  • end
    end

@@ -61,6 +80,6 @@ include FileUtils::NoWrite if $dryrun
@fileutils_label = ‘’

-def install?(type)

  • yield if $install.empty? or $install.include?(type)
    +def install?(*types)
  • yield if $install.empty? or !($install & types).empty?
    end

@@ -68,4 +87,13 @@ def install(src, dest, options = {})
options[:preserve] = true
super

  • if $installed_list
  • dest = File.join(dest, File.basename(src)) if $made_dirs[dest]
  • $installed_list.puts dest
  • end
    +end

+def ln_sf(src, dest)

  • super
  • $installed_list.puts dest if $installed_list
    end

@@ -109,5 +137,5 @@ arc = CONFIG[“LIBRUBY_A”]
makedirs [bindir, libdir, rubylibdir, archlibdir, sitelibdir,
sitearchlibdir]

-install?(:bin) do
+install?(:local, :arch, :bin) do
ruby_bin = File.join(bindir, ruby_install_name)

@@ -145,7 +173,38 @@ install?(:bin) do
end

+if $extout

  • RbConfig.expand(extout = “#$extout”)
  • if noinst = CONFIG[“no_install_files”] and noinst.empty?
  • noinst = nil
  • end
  • dest = rubylibdir
  • subpath = nil
  • copy = proc do |s|
  • d = dest + s[subpath]
  • if File.directory?(s)
  •  makedirs(d)
    
  • else
  •  install s, d
    
  • end
  • end
  • install?(:ext, :arch, :‘ext-arch’) do
  • subpath = extout.size…-1
  • Dir.glob("#{extout}/#{CONFIG[‘arch’]}/**/*", File::FNM_DOTMATCH) do
    |src|
  •  unless /\A\.{1,2}\z/ =~ (base = File.basename(src)) or
    
  •      (noinst and File.fnmatch?(noinst, File.basename(src)))
    
  •    copy[src]
    
  •  end
    
  • end
  • end
  • install?(:ext, :comm, :‘ext-comm’) do
  • src = “#{extout}/common”
  • subpath = src.size…-1
  • Dir.glob("#{src}/**/*", File::FNM_DOTMATCH, &copy)
  • end
    +end

Dir.chdir srcdir

-install?(:lib) do
+install?(:local, :arch, :lib) do
ruby_shebang = File.join(CONFIG[“bindir”], ruby_install_name)
if File::ALT_SEPARATOR
@@ -178,6 +237,6 @@ for src in Dir[“bin/*”]
if ruby_bin_dosish
batfile = File.join(CONFIG[“bindir”], name + “.bat”)

  • open(with_destdir(batfile), “w”) { |b|
  •  b.print <<EOH, shebang, body, <<EOF
    
  •  open(with_destdir(batfile), "wb") { |b|
    
  •    b.print((<<EOH+shebang+body+<<EOF).gsub(/$/, "\r"))
    

@echo off
if not “%~d0” == “~d0” goto WinNT
@@ -202,5 +261,5 @@ end
end

-install?(:bin) do
+install?(:local, :arch, :bin) do
for f in Dir["*.h"]
install f, archlibdir, :mode => 0644
@@ -213,5 +272,5 @@ end
end

-install?(:man) do
+install?(:local, :comm, :man) do
for mdoc in Dir["*.[1-9]"]
next unless File.file?(mdoc) and open(mdoc){|fh| fh.read(1) == ‘.’}
Index: ext/extmk.rb

RCS file: /cvs/ruby/src/ruby/ext/extmk.rb,v
retrieving revision 1.44.2.31
diff -p -u -2 -r1.44.2.31 extmk.rb
— ext/extmk.rb 8 Sep 2006 19:55:03 -0000 1.44.2.31
+++ ext/extmk.rb 15 Sep 2006 06:27:52 -0000
@@ -391,14 +391,6 @@ end

if $extout

  • Config.expand(extout = “#$extout”,
    Config::CONFIG.merge(“topdir”=>$topdir))
  • if $install
  • dest = Config.expand($rubylibdir.dup)
  • unless $destdir.empty?
  •  dest.sub!($dest_prefix_pattern, Config.expand($destdir.dup))
    
  • end
  • FileUtils.cp_r(extout+"/.", dest, :verbose => true, :noop =>
    $dryrun)
  • exit
  • end
    unless $ignore
  • Config.expand(extout = “#$extout”,
    Config::CONFIG.merge(“topdir”=>$topdir))
    FileUtils.mkpath(extout)
    end
    Index: lib/mkmf.rb
    ===================================================================
    RCS file: /cvs/ruby/src/ruby/lib/mkmf.rb,v
    retrieving revision 1.162.2.63
    diff -p -u -2 -r1.162.2.63 mkmf.rb
    — lib/mkmf.rb 9 Sep 2006 09:02:29 -0000 1.162.2.63
    +++ lib/mkmf.rb 15 Sep 2006 06:32:56 -0000
    @@ -84,6 +84,6 @@ def install_dirs(target_prefix = nil)
    if $extout
    dirs = [
  •  ['RUBYCOMMONDIR', '$(extout)'],
    
  •  ['RUBYLIBDIR',    '$(extout)$(target_prefix)'],
    
  •  ['RUBYCOMMONDIR', '$(extout)/common'],
    
  •  ['RUBYLIBDIR',    '$(RUBYCOMMONDIR)/$(target_prefix)'],
     ['RUBYARCHDIR',   '$(extout)/$(arch)$(target_prefix)'],
     ['extout',        "#$extout"],
    

@@ -1216,5 +1216,5 @@ DLLIB = #{dllib}
EXTSTATIC = #{$static || “”}
STATIC_LIB = #{staticlib unless $static.nil?}

+#{!$extout && defined?($installed_list) ? “INSTALLED_LIST =
#{$installed_list}\n” : “”}
}
install_dirs.each {|d| mfile.print("%-14s= %s\n" % d) if
/^[[:upper:]]/ =~ d[0]}
@@ -1249,4 +1249,7 @@ static: $(STATIC_LIB)#{$extout ? " inst
end
mfile.print “\t$(INSTALL_PROG) #{f} #{dir}\n”

  •  if defined?($installed_list)
    
  • mfile.print “\t@echo #{dir}/#{File.basename(f)}>>$(INSTALLED_LIST)\n”
  •  end
    
    end
    end
    @@ -1276,4 +1279,7 @@ static: $(STATIC_LIB)#{$extout ? " inst
    end
    mfile.print("#{f} $(@D#{sep})\n")
  • if defined?($installed_list) and !$extout
  • mfile.print("\t@echo #{dest}>>$(INSTALLED_LIST)\n")
    
  • end
    end
    end

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

At Tue, 19 Sep 2006 01:30:07 +0900,
Minero A. wrote in [ruby-dev:29592]:

e$B4pK\E*$K$OF~$l$k$Y$-$@$H;W$&$s$G$9$,!"$A$g$C$H$"$^$j$K%j%j!<%9e(B
e$B@#A0$9$.$k$N$G!":#2s$O8+Aw$j$^$7$g$&!#$3$3$GJQ$J$3$H$d$C$Fe(B
make install e$B$9$iDL$i$J$$$H$+$$$&;vBV$O@dBP$KHr$1$?$$$G$9$+$i!#e(B
e$B:#2s$NOC$Oe(B 1.8.5 e$B%j%j!<%98e$KBP1~$7$?$$$H;W$$$^$9!#e(B

e$B$3$N7o$O$I$&$7$^$7$g$&$+!#e(B

e$BCY$/$J$C$F$9$_$^$;$s!#$5$-$[$Ie(B Ruby 1.8 e$B$Ne(B fileutils.rb e$B$Ke(B
:remove_destination e$B%*%W%7%g%s$rDI2C$7$^$7$?!#e(B

e$B$I$C$A$+$H$$$&$H!“e(B:modee$B$J$I$r;XDj$G$-$ke(Binstalle$B$Ke(B:recursivee$B%*%We(B
e$B%7%g%s$,$”$k$H$&$l$7$$$+$b!#e(B