〜2003年4月中旬〜
結局-gnuはつかなくなった。
setup.exeが新しくなってUser URLのboxも欠けない。 keepというボタンが増えてる。 md5.sumのチェックが入る。
ついでに Ruby Binaries(Cygwin)でsetup.bz2も用意した。 なひさんのリクエストでもあるが、 先にsetup.bz2のほうを試すということに今更ながら気づいた。
名前でもめた見沼区であるが、実は今月からは見沼区民なのである。 今日amazonで注文した際に、やっぱ住所を変更しとくべきだよなあと思い、 変更したのはいいが、郵便番号が気になった。 ぐぐってみると案の定変わっていた。
名前なんかどうでもいいんだけど、こういう変更が面倒だよね。 引っ越しもしてないのに。
make checkの時間が長い。
make check 471.16s user 11.88s system 97% cpu 8:14.07 total
grepみたいにマルチバイト対応のせいと思ったら、最後のdc.sedせいだ。 これはtestsuite/じゃなくてsample/とかに入れるべきだと思う。 それはそれとしてac_cv_header_wchar_h=noで作ったマルチバイト非対応版は
make check 398.66s user 11.51s system 99% cpu 6:52.60 total
だった。やはり遅いんだな。 これぐらいで済んでいるのはyコマンドしか対応してないからだろう。 てゆか、yコマンドだけマルチバイト対応しても使い辛いだけだと思うんだが。
mswin32/bcc32/mingw32のmakeが速くなったはず。
いつの間にかrxvt上でmingw版Rubyをmakeするときにパカパカ出てくる邪魔なwindowが出なくなっている。 やっぱCygwinのほうに問題があったわけだな、きっと。
更新。
MinGW用はGNUmakefileでVC++とBCC32用はMakefileにすることにした。 で、nmakeは_NMAKE_VER、Borland makeは__MAKE__が定義されていることが判明。 つまり
!ifdef _NMAKE_VER CC = cl -nologo !else CC = bcc32 -q !endif
のように書けるわけだよ、うむ。 あ、でもVC++ 6のnmakeから定義されてるらしいので、 __MAKE__を使ったほうが無難かもしれない。
さらにmake clean, make install関係をちょっといじった。
readline 4.3自体はマルチバイト対応してるはずなので、 ちょっとそのあたりを調べてみた。 rlmbutil.hを見ると
#if defined (HAVE_WCTYPE_H) && defined (HAVE_WCHAR_H) # include <wchar.h> # include <wctype.h> # if defined (HAVE_MBSRTOWCS) /* system is supposed to support XPG5 */ # define HANDLE_MULTIBYTE 1 # endif #endif
となってる。つまりmbsrtowcsが必要なわけだ。 msvcrt.dllにはありそうもないが、 /usr/include/mingw/wchar.hを見るとmsvcp60.dllにはあるらしい。
/* These are resolved by -lmsvcp60 */ /* If you don't have msvcp60.dll in your windows system directory, you can easily obtain it with a search from your favorite search engine. */
無理矢理HAVE_MBSRTOWCSを定義してみるとmbrtowcとmbrlenがundefinedに。 残念。
うささんを招き入れた。あとはなかださんを勧誘するだけだ。
bcc32 -lGiでインポートライブラリを作ってくれる。 ilink32のヘルプには-Glと書いてあるが間違いだろう。
Rubyのbcc32/Makefile.subで確認したらちゃんと-Giを使ってた。 先にこっちを見るべきだった。
更新。
うーむ。今月はすでに400を越えてる。
紙が変わるだけで、こうも印象が変わるもんかな。 てゆか、一気に1100円かよ。
「ゆにまが」でぐぐってもヒットしないのに、 「うにまが」でぐぐるとちゃんと UNIX MAGAZINEのページにヒットするのはふしぎだ。「うにまが」なんて文字はどこにもないのに。
久し振りにbinfmt_miscを使おうと思ったらどうも動かない。 /usr/src/linux/Documentation/binfmt_misc.txtを見ても特に変わった様子はないが、 web pageがあるというので見に行ってみると
WARNING: if you use recent kernel versions from Alan Cox (2.4.2acXX and later) or versions 2.4.13 and up you need to mount binfmt_misc using mount -t binfmt_misc none /proc/sys/fs/binfmt_misc.
ということらしい。なるほど。
更新。
青木さんのメールを見てて、そういえばext/*/sample/というのもあるなあと気づいたので、 Ruby Binariesにも含めることにした。
/usr/local/doc/ruby/ruby-1.8.0/ext/*/sample/
という感じで。