From: WATANABE Hirofumi Date: 1999-02-04T14:51:31+09:00 Subject: [ruby-dev:4687] Re: Why automake+libtool? わたなべです. とりあえず MS な環境の話です. Motoyuki Kasahara writes: :もし、複数の Makefile をメンテナンスするのが大変なら、BSD install 互換 :のスクリプトを ruby で書くというのはいかがでしょう。これなら、sh がな :くても Makefile 中からシステムを問わずに呼び出せます。 実は用意してたりするんだけど, でもあれだけの内容を sh の機能 を使わないで Makefile が書けるかなあ. 結局貧弱な command.com の機能より ruby を使ったほうがいいじゃんってことになって, やっぱり instruby.rb は必要になると思うんですけど. 移植した当初は別に Makefile を用意するというのはあまりやりた くなくて sed script で Makefile.in を変換できればそのほうが いいなと思って top.sed なるものを用意しました. :ところで、最初「autoconf 使っているのに、sh がない環境の考慮しなければ :いけないのは何故?」と思いましたが、なるほど configure.bat というのがあ :るのですね。けれど、中で sed 使っているようです。sed がバンドルされて :て sh がない環境というのは、あるんでしょうか。 ruby を djgpp に移植した当初は sh 自体がまだ移植されてませんでした. 今は bash が移植されているから configure に手を入れればでき ないこともないけど(IFS を ";" にしてあげるとか, .exe も考慮 に入れるとか), 最近の autoconf ってこのあたりも考えてくれて るのかしらん? :あと、Makefile.in をみると、現状でも sh コマンドが使われています。想像 :するに make all するだけなら、configure.bat で支障ないのでこうなってい :るのでしょうか。でも、とても完全とは言えないと思います。 instruby.rb のことを棚に上げといてあれなんだけど, たしかに完全じゃないです. 指定したらまずい target もいっぱい残ってます. 現在は make, make test, make install ぐらいが動けばいいやと いうスタンスです. :make clean が :rm を使っていますし、libruby.a を作るのに UNIX ライクな ar を想定して :いるように思えるのですが、実際のところはどうなっているのでしょう。 MS-DOS extender の djgpp に関しては GNU のソフトのほとんどが 移植されてます. でもここまでくると mswin32 の存在を無視しているおのれはどう なんだと自爆してしまいますね. rubytest.rb, instruby.rb は % cc *.c -o microruby % ./miniruby make.rb % ./miniruby rubytest.rb % ./miniruby instruby.rb と全部 ruby で解決してしまえばいいんじゃないかなと思って 作りました. ftools.rb もこの目的のために作ったようなもんで. まつもとさんはここまで考えてるのかどうかわかんないけど. でもかなり無理がある気も. -- わたなべひろふみ