えぐち@エスアンドイー です。

>>> On Mon, 25 Jan 1999 17:01:04 +0900, えぐち said:

えぐち> えぐち@エスアンドイー です。
えぐち> 
えぐち> と言う事で、freebsd2.x.x と sunos4.x.x で 
えぐち> 
えぐち>   configure --enable-shared 
えぐち> 
えぐち> を有効にするパッチです。

サブジェクトがあんまりだったので、直しました。
#が、何も BSD に限らないので、やっぱいあんまりだなぁ

先のメールで書き忘れましたが、テストは

 FreeBSD 2.2.8(gcc-2.7.2.1)
 SunOS-4.1.4-JLE(egcs-2.91.60[1.1.1])

で実行しました。

さて、このパッチで迷いのある点を書きます。

 + LD_LIBRARY_PATH を適宜設定しないと、 
   make test 等で libriby.so.1.3 を見つけてくれません。
   かといって、、

  test: miniruby$(binsuffix)
  	@env LD_LIBRARY_PATH=. ./miniruby$(binsuffix) \
	$(srcdir)/rubytest.rb

   とするのも今一歩踏み切れませんでした。
   "env LD_LIBRARY_PATH=." の部分はプラットホーム依存
   なので。configureマクロにして、処理すべきでしょう、、か?

 + make install で ldconfig で ld.so を構成しなおして
   あげなければいけないですが、「余計なお世話&事故のもと」
   となってもあれなので、これも手を付けていません。
   兎に角、これのプラットホームに依存するので、やるとしたら
   configure.in に LDFLASHCMD の様なマクロを追加して、
   host_os やコンパイラなどによって切替える必要があります。

 + 拡張モジュールのローディングのテストを sample/test.rb に
   組み込もうと考えましたが、異常な時何が起こるのか知れないので
   実装には至りませんでした。。
   そもそも、ロード失敗で Ruby の例外を発生させる仕様だと良いな
   と考えたでのもの、一体どうやれば実現できるのかは、まったく
   考えつきませんでした。^^;

 + ruby-1.2.3 の 3 の様な TEENY なバージョンナンバーは
   処理していません。
   ここをハンドルすると、、、まつもとさんのリリースの手間が
   また増えます。 ;-)
   実用上、MINOR まで同じならより新しい共有オブジェクトを
   使うべきだと思います。(これには異論がありそうですね)

あと、今回とは関係のない細かい事、

 * ソースの Copyright が -1998 のままです。
 * version.c の ruby_show_copyright() も同様です。
 * 例の (99/01/25) から (1999/01/25) に
   ruby --version の表記を変えた方が良い話如何でしょ?

など気が付きました。

	えぐち