From: Motoyuki Kasahara Date: 1999-02-04T11:22:49+09:00 Subject: [ruby-dev:4673] Re: Why automake+libtool? 笠原です。 * From: matz@netlab.co.jp (Yukihiro Matsumoto) * Date: Wed, 3 Feb 1999 13:29:27 +0900 > 実は将来GPLライセンスコード > を置き換えるつもりはあります.具体的にはfnmatch.c, glob.c, > regexp.cです.それぞれに規模が大きいのでなかなか手が付けられ > ませんけれども. そうでしたか。分かりました。作者の方針ということであれば、別に反対でき しませんです。 > ただ,autoconf同様,automakeやlibtoolも,使っているだけでGPL > になるという性質のものでなければ,このことについては問題ない > と思っています.すいません,実はまだautomakeとlibtoolの実態 > と使い方を良く分かってません. : (略) > 今調べました.automakeに関しては問題なしですね.先入観があっ > たことを認めます. 心配なさっている、あるいはなさっていたのは、一つは前述のライセンスに関 することと、後もう一つはまだよく分かっていないツールへの抵抗感というこ とですね。 後者については、抵抗感があるのは分かります。まつもとさんが Ruby のリリー スを管理されている以上、使い方も分からないものを採用する訳にはいかない でしょうね。(でも、長い目でみれば管理労力が減って便利ですよ、automake。) > 自己分析すると,「こういった問題」がどういう問題なのか私に十 > 分わかってないので,「なんとなく不安」というのが抵抗の最大の > 理由のような気がします. リリース形態の問題は、ソースコードが汚いときに起こる問題に近いです。 (非常に失礼なこと言ってますが、お許しを。^_^;) 思い付くものとしては、 * 不具合の発見が容易でない。 * なかなか安定した状態にならない。 * 少量の修正がうっかりミスや別の問題や引き起こしやすい。 * 機能を足すにつれ複雑さは加速し、細部の処理まで理解できにくくなる。 変更しようにも手を出しにくくなる。 といったところです。 extmk.rb がやっていることは autoconf でも実現可能だと私は思います。む しろ Ruby を使っているためにかえって複雑で、機能も中途半端になってしまっ ているように感じます。 たとえば、ext のモジュールの extconf.rb の中には `-L/usr/local/lib' と 書いてあるものがあるので、ライブラリを /usr/local 以外にインストールし ている場合は、このファイルを修正しないとコンパイルできません。本来は configure に `--with-readline' のようなオプションを足すべきなので、私 は一時これを修正することを考えましたが、extmk.rb や mkmf.rb は下手には 触れないと考えて止めました。autoconf か autoconf+automake なら、オプショ ンを足すのは難しいことではありません。Ruby と独立にコンパイルするのは、 AC_CONFIG_SUBDIRS を使えば可能です。 instruby.rb もなぜ Ruby を使っているのでしょうか。make の処理手順を記 したファイルが Makefile と instruby.rb に分散してしまっているので、見 通しが悪いです。以前、私はアンインストール (make uninstall) の実装を考 えましたが、複雑さが増す割に需要はないと思って止めました (でも、あると 便利なときがあります。 Makefile だけを使っていれば、アンインストールの 実装はそれほど複雑なことではないと思います。(automake なら自動生成です。) > 理想はANSI Cのみで書かれたmicrorubyをまず作り,それを使って > configure相当を実行した上で本コンパイルするという手順でしょ > うか. 私はそうは思いません。extmk.rb や instruby.rb の例をみると、Ruby 自身 をインストール手順中に使う事は、代替の手段が既にあるなら避けるべきだと 思います。 ______________________________________________________________________ 笠原 基之(かさはら もとゆき)