diff options
Diffstat (limited to 'trunk/ext/readline/extconf.rb')
-rw-r--r-- | trunk/ext/readline/extconf.rb | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/trunk/ext/readline/extconf.rb b/trunk/ext/readline/extconf.rb new file mode 100644 index 0000000000..1d74e29124 --- /dev/null +++ b/trunk/ext/readline/extconf.rb @@ -0,0 +1,71 @@ +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 + +def have_readline_func(func) + return have_func(func, $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") || + have_library("termcap", "tgetnum") || + have_library("curses", "tgetnum") + +if enable_libedit + unless (have_readline_header("editline/readline.h") || + have_readline_header("readline/readline.h")) && + have_library("edit", "readline") + exit + end +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 +end + +have_readline_func("rl_filename_completion_function") +have_readline_func("rl_username_completion_function") +have_readline_func("rl_completion_matches") +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_editing_mode") +# workaround for native windows. +/mswin|bccwin|mingw/ !~ RUBY_PLATFORM && have_readline_var("rl_event_hook") +have_readline_func("rl_cleanup_after_signal") +have_readline_func("rl_clear_signals") +have_readline_func("rl_vi_editing_mode") +have_readline_func("rl_emacs_editing_mode") +have_readline_func("replace_history_entry") +have_readline_func("remove_history") +have_readline_func("clear_history") +create_makefile("readline") |