[#18440] racc segv revisited — "Akinori MUSHA" <knu@...>

 次のバグの件なんですが、現時点では原因究明を含めて未解決という

24 messages 2002/10/02
[#18617] Re: racc segv revisited — "Akinori MUSHA" <knu@...> 2002/11/02

At Wed, 2 Oct 2002 23:19:59 +0900,

[ruby-dev:18570] Re: instruby.rb: dll install

From: nobu.nakada@...
Date: 2002-10-23 09:53:15 UTC
List: ruby-dev #18570
なかだです。

At Wed, 23 Oct 2002 12:47:17 +0900,
WATANABE Tetsuya wrote:
> instruby.rb の該当行は
> 
> ------------------------------
> Installer.install dll, bindir, 0755, true unless dll == lib
> ------------------------------
> 
> なのですが、ここの unless dll == lib は、共
> 有ライブラリを作成しなくても、条件が成り立っ
> てしまいます。

これって--enable-sharedでないときですよね。作りもしないのに
LIBRUBY_SOだけ設定しておくのはどうか、という気もしなくはないの
ですが、--enable-sharedのときだけインストールするというのはどう
でしょうか。

> ということで、実際にファイルが作成されてい
> るかどうか? などで、判断するようにしてはい
> かがでしょうか?

なんで存在するファイルだけじゃなくしたかというと、…何だったか
な。たぶん、何らかの理由で作成できなかったときにもインストール
が黙って成功してしまうのがイヤだった、とかかなぁという気がしま
す。

…うーん、なんか単純にファイルの有無だけでいいようにも思えて来
ました。


Index: instruby.rb
===================================================================
RCS file: /cvs/ruby/src/ruby/instruby.rb,v
retrieving revision 1.23
diff -u -2 -p -r1.23 instruby.rb
--- instruby.rb	22 Oct 2002 04:19:26 -0000	1.23
+++ instruby.rb	23 Oct 2002 09:51:33 -0000
@@ -21,4 +21,5 @@ destdir ||= ''
 $:.unshift CONFIG["srcdir"]+"/lib"
 require 'ftools'
+require 'shellwords'
 
 class Installer < File; end
@@ -67,4 +68,6 @@ sitelibdir = destdir+CONFIG["sitelibdir"
 sitearchlibdir = destdir+CONFIG["sitearchdir"]
 mandir = destdir+CONFIG["mandir"] + "/man1"
+configure_args = Shellwords.shellwords(CONFIG["configure_args"])
+enable_shared = configure_args.include?('--enable-shared')
 dll = CONFIG["LIBRUBY_SO"]
 lib = CONFIG["LIBRUBY"]
@@ -77,5 +80,5 @@ if rubyw_install_name and !rubyw_install
   Installer.install rubyw_install_name+exeext, bindir, 0755, true
 end
-Installer.install dll, bindir, 0755, true unless dll == lib
+Installer.install dll, bindir, 0755, true if enable_shared and dll != lib
 Installer.install lib, libdir, 0555, true unless lib == arc
 Installer.install arc, archlibdir, 0644, true


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread