diff options
author | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-05-19 14:36:20 +0000 |
---|---|---|
committer | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-05-19 14:36:20 +0000 |
commit | 3fd16970f3a6b4d33d6e6397e5570e9ee0e2a368 (patch) | |
tree | ff3d78948cc7bd6f6ec4240244872dfed5041cb7 /ext/readline/extconf.rb | |
parent | ddec3de32a6d706e3aea4c8954ea7c97c931f18d (diff) | |
download | ruby-3fd16970f3a6b4d33d6e6397e5570e9ee0e2a368.tar.gz |
* ext/readline/readline.c: supported libedit. fixed: [ruby-core:4858]
* ext/readline/extconf.rb: added new option --enable-libedit.
* test/readline/test_readline.rb: added assertions for
Readline::HISTORY.
* lib/irb/input-method.rb: do not use Readline::HISTORY.pop.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/readline/extconf.rb')
-rw-r--r-- | ext/readline/extconf.rb | 66 |
1 files changed, 48 insertions, 18 deletions
diff --git a/ext/readline/extconf.rb b/ext/readline/extconf.rb index d8d8643d08..e3aabeae89 100644 --- a/ext/readline/extconf.rb +++ b/ext/readline/extconf.rb @@ -1,30 +1,60 @@ require "mkmf" +$readline_headers = ["stdio.h"] + +def have_readline_header(header) + if have_header(header) + $readline_headers.push(header) + return true + else + return false + end +end + +def have_readline_var(var) + return have_var(var, $readline_headers) +end + dir_config('curses') dir_config('ncurses') dir_config('termcap') dir_config("readline") +enable_libedit = enable_config("libedit") have_library("user32", nil) if /cygwin/ === RUBY_PLATFORM -have_library("ncurses", "tgetnum") or - have_library("termcap", "tgetnum") or +have_library("ncurses", "tgetnum") || + have_library("termcap", "tgetnum") || have_library("curses", "tgetnum") -if have_header("readline/readline.h") and - have_header("readline/history.h") and - have_library("readline", "readline") - if have_func("rl_filename_completion_function") - $CFLAGS += " -DREADLINE_42_OR_LATER" +if enable_libedit + unless (have_readline_header("editline/readline.h") || + have_readline_header("readline/readline.h")) && + have_library("edit", "readline") + exit end - if have_func("rl_cleanup_after_signal") - $CFLAGS += " -DREADLINE_40_OR_LATER" +else + unless ((have_readline_header("readline/readline.h") && + have_readline_header("readline/history.h")) && + (have_library("readline", "readline") || + have_library("edit", "readline"))) || + (have_readline_header("editline/readline.h") && + have_library("edit", "readline")) + exit end - if try_link(<<EOF, $libs) -#include <stdio.h> -#include <readline/readline.h> -main() {rl_completion_append_character = 1;} -EOF - # this feature is implemented in readline-2.1 or later. - $CFLAGS += " -DREADLINE_21_OR_LATER" - end - create_makefile("readline") end + +have_readline_var("rl_filename_completion_function") +have_readline_var("rl_deprep_term_function") +have_readline_var("rl_completion_append_character") +have_readline_var("rl_basic_word_break_characters") +have_readline_var("rl_completer_word_break_characters") +have_readline_var("rl_basic_quote_characters") +have_readline_var("rl_completer_quote_characters") +have_readline_var("rl_filename_quote_characters") +have_readline_var("rl_attempted_completion_over") +have_readline_var("rl_library_version") +have_readline_var("rl_event_hook") +have_func("rl_cleanup_after_signal") +have_func("rl_clear_signals") +have_func("replace_history_entry") +have_func("remove_history") +create_makefile("readline") |