summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorHuei-Horng Yo <[email protected]>2015-06-09 21:07:12 +0800
committerHuei-Horng Yo <[email protected]>2015-06-09 21:07:12 +0800
commitbe2c156876c5b6cd4c9937c2d266f1862597af58 (patch)
treeb9fcd7b0b6401bcf12dd3b285dfa4f8311d34ed9
parent5c6de6858eda97ac214082091266a7423e379640 (diff)
downloadmruby-be2c156876c5b6cd4c9937c2d266f1862597af58.tar.gz
mruby-be2c156876c5b6cd4c9937c2d266f1862597af58.zip
Detect if ncurses' backend is terminfo or termcap. fixes #2662
Borrowed from @mattn's code at: https://github.com/mruby/mruby/issues/2662#issuecomment-65535705 Signed-off-by: Huei-Horng Yo <[email protected]>
-rw-r--r--Rakefile1
-rw-r--r--mrbgems/mruby-bin-mirb/mrbgem.rake14
2 files changed, 11 insertions, 4 deletions
diff --git a/Rakefile b/Rakefile
index 0f33c5ee8..89dab05e7 100644
--- a/Rakefile
+++ b/Rakefile
@@ -3,6 +3,7 @@
# basic build file for mruby
MRUBY_ROOT = File.dirname(File.expand_path(__FILE__))
MRUBY_BUILD_HOST_IS_CYGWIN = RUBY_PLATFORM.include?('cygwin')
+MRUBY_BUILD_HOST_IS_OPENBSD = RUBY_PLATFORM.include?('openbsd')
# load build systems
load "#{MRUBY_ROOT}/tasks/ruby_ext.rake"
diff --git a/mrbgems/mruby-bin-mirb/mrbgem.rake b/mrbgems/mruby-bin-mirb/mrbgem.rake
index 98df38499..e77114515 100644
--- a/mrbgems/mruby-bin-mirb/mrbgem.rake
+++ b/mrbgems/mruby-bin-mirb/mrbgem.rake
@@ -6,10 +6,16 @@ MRuby::Gem::Specification.new('mruby-bin-mirb') do |spec|
if spec.build.cc.search_header_path 'readline/readline.h'
spec.cc.defines << "ENABLE_READLINE"
if spec.build.cc.search_header_path 'termcap.h'
- if MRUBY_BUILD_HOST_IS_CYGWIN then
- spec.linker.libraries << 'ncurses'
- else
- spec.linker.libraries << 'termcap'
+ if MRUBY_BUILD_HOST_IS_CYGWIN || MRUBY_BUILD_HOST_IS_OPENBSD
+ if spec.build.cc.search_header_path 'termcap.h'
+ if MRUBY_BUILD_HOST_IS_CYGWIN then
+ spec.linker.libraries << 'ncurses'
+ elsif spec.linker.has_library('libterminfo') then
+ spec.linker.libraries << 'terminfo'
+ else
+ spec.linker.libraries << 'termcap'
+ end
+ end
end
end
if RUBY_PLATFORM.include?('netbsd')