diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-08-18 16:24:42 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-08-18 16:24:42 +0000 |
commit | 7dc2f790a2f899c98b36eb72f63b21e03462d92e (patch) | |
tree | 898fe6067743f64bced97edf2ad9824de3de15ed /ext/curses | |
parent | a66b7c716eb15ed80e676a15b3337e8a0413944a (diff) | |
download | ruby-7dc2f790a2f899c98b36eb72f63b21e03462d92e.tar.gz ruby-7dc2f790a2f899c98b36eb72f63b21e03462d92e.tar.xz ruby-7dc2f790a2f899c98b36eb72f63b21e03462d92e.zip |
* ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): Mac OS X standard
headers are inconsistent at this macro. [ruby-core:01432]
* ext/curses/extconf.rb: check if _XOPEN_SOURCE_EXTENDED breaks.
* ext/tcltklib/stubs.c: Status macro in X11/Xthreads.h bothers
winspool.h
* instruby.rb: make list at first instead of iterator.
[ruby-talk:79347]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/curses')
-rw-r--r-- | ext/curses/curses.c | 11 | ||||
-rw-r--r-- | ext/curses/extconf.rb | 16 |
2 files changed, 15 insertions, 12 deletions
diff --git a/ext/curses/curses.c b/ext/curses/curses.c index e1080f1bd..8aa095e5a 100644 --- a/ext/curses/curses.c +++ b/ext/curses/curses.c @@ -14,11 +14,8 @@ */ #include "ruby.h" - -#include <stdio.h> #include "rubyio.h" -#define _XOPEN_SOURCE_EXTENDED 1 #if defined(HAVE_NCURSES_H) # include <ncurses.h> #elif defined(HAVE_NCURSES_CURSES_H) @@ -31,18 +28,18 @@ # if defined(__bsdi__) || defined(__NetBSD__) || defined(__APPLE__) # if !defined(_maxx) # define _maxx maxx -# endif +# endif # if !defined(_maxy) # define _maxy maxy -# endif +# endif # if !defined(_begx) # define _begx begx -# endif +# endif # if !defined(_begy) # define _begy begy +# endif # endif #endif -#endif #ifdef HAVE_INIT_COLOR # define USE_COLOR 1 diff --git a/ext/curses/extconf.rb b/ext/curses/extconf.rb index 46fcc8f47..a79cebf60 100644 --- a/ext/curses/extconf.rb +++ b/ext/curses/extconf.rb @@ -7,19 +7,25 @@ dir_config('termcap') make=false have_library("mytinfo", "tgetent") if /bow/ =~ RUBY_PLATFORM have_library("tinfo", "tgetent") or have_library("termcap", "tgetent") -if have_header("ncurses.h") and have_library("ncurses", "initscr") +if have_header(*curses=%w"ncurses.h") and have_library("ncurses", "initscr") make=true -elsif have_header("ncurses/curses.h") and have_library("ncurses", "initscr") +elsif have_header(*curses=%w"ncurses/curses.h") and have_library("ncurses", "initscr") make=true -elsif have_header("curses_colr/curses.h") and have_library("cur_colr", "initscr") +elsif have_header(*curses=%w"curses_colr/curses.h") and have_library("cur_colr", "initscr") + curses.unshift("varargs.h") + make=true +elsif have_header(*curses=%w"curses.h") and have_library("curses", "initscr") make=true -elsif have_header("curses.h") and have_library("curses", "initscr") - make=true end if make for f in %w(isendwin ungetch beep getnstr wgetnstr doupdate flash deleteln wdeleteln keypad keyname init_color wresize resizeterm) have_func(f) end + flag = "-D_XOPEN_SOURCE_EXTENDED" + src = "int test_var[(sizeof(char*)>sizeof(int))*2-1];" + if try_compile(cpp_include(%w[stdio.h stdlib.h]+curses)+src , flag) + $defs << flag + end create_makefile("curses") end |