summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authordearblue <[email protected]>2021-02-28 16:23:37 +0900
committerdearblue <[email protected]>2021-02-28 16:23:37 +0900
commit15a7d5be3d75d85d357fcf7ee6581f09181c3c2c (patch)
treeb13c66b7c4818db3ce46e88bdc804236e3a5e7b8
parent4dbbe141173d0869260cf5def516adcb7226d9b5 (diff)
downloadmruby-15a7d5be3d75d85d357fcf7ee6581f09181c3c2c.tar.gz
mruby-15a7d5be3d75d85d357fcf7ee6581f09181c3c2c.zip
Support libedit on mirb for FreeBSD
-rw-r--r--mrbgems/mruby-bin-mirb/mrbgem.rake7
-rw-r--r--mrbgems/mruby-bin-mirb/tools/mirb/mirb.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/mrbgems/mruby-bin-mirb/mrbgem.rake b/mrbgems/mruby-bin-mirb/mrbgem.rake
index fa0947cfa..c31ac7ae9 100644
--- a/mrbgems/mruby-bin-mirb/mrbgem.rake
+++ b/mrbgems/mruby-bin-mirb/mrbgem.rake
@@ -5,6 +5,8 @@ MRuby::Gem::Specification.new('mruby-bin-mirb') do |spec|
if spec.build.cc.search_header_path 'readline/readline.h'
spec.cc.defines << "MRB_USE_READLINE"
+ spec.cc.defines << "MRB_READLINE_HEADER='<readline/readline.h>'"
+ spec.cc.defines << "MRB_READLINE_HISTORY='<readline/history.h>'"
if spec.build.cc.search_header_path 'termcap.h'
if MRUBY_BUILD_HOST_IS_CYGWIN || MRUBY_BUILD_HOST_IS_OPENBSD
if spec.build.cc.search_header_path 'termcap.h'
@@ -33,6 +35,11 @@ MRuby::Gem::Specification.new('mruby-bin-mirb') do |spec|
spec.linker.libraries << 'ncurses'
end
end
+ elsif spec.build.cc.search_header_path 'edit/readline/readline.h'
+ spec.cc.defines << "MRB_USE_READLINE"
+ spec.cc.defines << "MRB_READLINE_HEADER='<edit/readline/readline.h>'"
+ spec.cc.defines << "MRB_READLINE_HISTORY='<edit/readline/history.h>'"
+ spec.linker.libraries << "edit"
elsif spec.build.cc.search_header_path 'linenoise.h'
spec.cc.defines << "MRB_USE_LINENOISE"
end
diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c
index 243666acd..8cc756174 100644
--- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c
+++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c
@@ -39,8 +39,8 @@
#endif
#ifdef MRB_USE_READLINE
-#include <readline/readline.h>
-#include <readline/history.h>
+#include MRB_READLINE_HEADER
+#include MRB_READLINE_HISTORY
#define MIRB_ADD_HISTORY(line) add_history(line)
#define MIRB_READLINE(ch) readline(ch)
#if !defined(RL_READLINE_VERSION) || RL_READLINE_VERSION < 0x600