summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-08-18 16:24:42 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-08-18 16:24:42 +0000
commitd45bda0bf853a18645b795e2d43c8481696bea31 (patch)
tree898fe6067743f64bced97edf2ad9824de3de15ed /ext
parent857d380411b9903309eb84cae040a483043e755d (diff)
* 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@4405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/curses/curses.c11
-rw-r--r--ext/curses/extconf.rb16
-rw-r--r--ext/tcltklib/stubs.c5
3 files changed, 18 insertions, 14 deletions
diff --git a/ext/curses/curses.c b/ext/curses/curses.c
index e1080f1bd84..8aa095e5a58 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 46fcc8f471d..a79cebf600f 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
diff --git a/ext/tcltklib/stubs.c b/ext/tcltklib/stubs.c
index a1dd08f4a3a..56cc8ca921b 100644
--- a/ext/tcltklib/stubs.c
+++ b/ext/tcltklib/stubs.c
@@ -1,8 +1,6 @@
int ruby_tcltk_stubs();
#if defined USE_TCL_STUBS && defined USE_TK_STUBS
-#include <tcl.h>
-#include <tk.h>
#include "ruby.h"
#if defined _WIN32 || defined __CYGWIN__
@@ -28,6 +26,9 @@ int ruby_tcltk_stubs();
# define TK_NAME "libtk8.9%s"
#endif
+#include <tcl.h>
+#include <tk.h>
+
int
ruby_tcltk_stubs()
{