Feature #3375
closed--disable-libedit to disable libedit
Description
=begin
ext/readlineのメンテナの高尾さん:
現在、--enable-libeditとするとreadlineのヘッダをhave_libraryしなくなりますが、逆に--disable-libeditとしてもやっぱりeditline/readline.hをhave_headerしてしまいます。--disable-libeditと明示的に指定したときはlibeditは無視して欲しいと思うんですが、どんなもんでしょう。
そのようにするパッチを(redmineに)貼っておきます。
=end
Files
        
           Updated by shyouhei (Shyouhei Urabe) over 14 years ago
          Updated by shyouhei (Shyouhei Urabe) over 14 years ago
          
          
        
        
      
      =begin
ext/readlineのメンテナの高尾さん:
本件の進捗状況についてうかがいたいです。
=end
        
           Updated by kouji (Kouji Takao) over 14 years ago
          Updated by kouji (Kouji Takao) over 14 years ago
          
          
        
        
      
      =begin
Shyouhei Urabe wrote:
ext/readlineのメンテナの高尾さん:
本件の進捗状況についてうかがいたいです。
すみません、確認できておりませんでした。
今日中に動作確認して問題がないようであればコミットします。
=end
        
           Updated by naruse (Yui NARUSE) over 14 years ago
          Updated by naruse (Yui NARUSE) over 14 years ago
          
          
        
        
      
      - Project changed from 8 to Ruby
- Category changed from ext to ext
=begin
=end
        
           Updated by naruse (Yui NARUSE) over 14 years ago
          Updated by naruse (Yui NARUSE) over 14 years ago
          
          
        
        
      
      
    
        
           Updated by naruse (Yui NARUSE) over 14 years ago
          Updated by naruse (Yui NARUSE) over 14 years ago
          
          
        
        
      
      r31265 で上記のパッチは適用されていますが、
このパッチの when nil って誤りで、when false が正しいと思うんですが
        
           Updated by shyouhei (Shyouhei Urabe) over 14 years ago
          Updated by shyouhei (Shyouhei Urabe) over 14 years ago
          
          
        
        
      
      あれ、いや、自信なくなってきたなあ。
もともとif ... else ... endだったんですが、それではうまくいかなくて、true/falseのほかにnilが来るパターンがあって、それに対応するためにtrue/fase/nilでcaseで分岐するようにしたように記憶してるんですが、ちがったっけな
enable_configの戻り値ってどうなってるんですっけ
        
           Updated by naruse (Yui NARUSE) over 14 years ago
          Updated by naruse (Yui NARUSE) over 14 years ago
          
          
        
        
      
      Shyouhei Urabe wrote:
もともとif ... else ... endだったんですが、それではうまくいかなくて、true/falseのほかにnilが来るパターンがあって、
それに対応するためにtrue/fase/nilでcaseで分岐するようにしたように記憶してるんですが、ちがったっけな
そんな雰囲気は漂っていたのでその辺は察しました。
enable_configの戻り値ってどうなってるんですっけ
--enable-libedit => true
--disable-libedit => false
無指定 => nil
のようです。
一方 extconf.rb の中身は現在
true =>  have_library("edit", "readline")
nil => have_library("readline", "readline"))
else (つまり false) => have_library("readline", "readline") || have_library("edit", "readline")
となっているので、nil と false が逆なんじゃないかと。
        
           Updated by naruse (Yui NARUSE) over 14 years ago
          Updated by naruse (Yui NARUSE) over 14 years ago
          
          
        
        
      
      結局これってどうしましょう
        
           Updated by shyouhei (Shyouhei Urabe) over 14 years ago
          Updated by shyouhei (Shyouhei Urabe) over 14 years ago
          
          
        
        
      
      これ結局自分が間違ってたと思うんですが、どうすればいいんでしょう。勝手に直していい?
        
           Updated by naruse (Yui NARUSE) over 14 years ago
          Updated by naruse (Yui NARUSE) over 14 years ago
          
          
        
        
      
      わたしは構いませんが高尾さん的にはどうなんでしょう。
ていうか、#1823 #3827 #4635 が放置されてて何とかしてくれって感じなんですが
        
           Updated by kouji (Kouji Takao) over 14 years ago
          Updated by kouji (Kouji Takao) over 14 years ago
          
          
        
        
      
      - Due date set to 06/25/2011
=begin
対応が遅くなりました。
以下の修正を入れたいと思います。
動作確認をしてからコミットします。
Index: ext/readline/extconf.rb¶
--- ext/readline/extconf.rb	(revision 32178)
+++ ext/readline/extconf.rb	(working copy)
@@ -36,18 +36,21 @@
case enable_libedit
when true
- 
--enable-libedit¶unless (have_readline_header("editline/readline.h") ||
 have_readline_header("readline/readline.h")) &&
 have_library("edit", "readline")
 exit
 end
 -when nil
 +when false
- 
--disable-libedit¶unless ((have_readline_header("readline/readline.h") &&
 have_readline_header("readline/history.h")) &&
 have_library("readline", "readline"))
 exit
 end
 else
- 
does not specify¶unless ((have_readline_header("readline/readline.h") &&
 have_readline_header("readline/history.h")) &&
 (have_library("readline", "readline") ||
 =end
        
           Updated by kouji (Kouji Takao) over 14 years ago
          Updated by kouji (Kouji Takao) over 14 years ago
          
          
        
        
      
      - Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r32179.
Shyouhei, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- ext/readline/extconf.rb: fixed bug, specify --disable-libedit
 then disable libedit, does not specify then check readline and
 libedit if failed checking readline. (fixes #3375)