summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--bcc32/Makefile.sub20
-rwxr-xr-xbcc32/mkexports.rb16
-rw-r--r--bcc32/setup.mak4
-rw-r--r--include/ruby/win32.h2
-rw-r--r--regint.h6
6 files changed, 29 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog
index f1e82de..5476dfa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Aug 5 16:38:59 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * include/ruby/win32.h, bcc32/Makefile.sub (config.h): bcc 5.8 has
+ stdint.h.
+
Tue Aug 5 16:13:05 2008 Shugo Maeda <shugo@ruby-lang.org>
* lib/net/imap.rb (disconnect): do not refer SSL::SSLSocket for
diff --git a/bcc32/Makefile.sub b/bcc32/Makefile.sub
index b169aea..31b522e 100644
--- a/bcc32/Makefile.sub
+++ b/bcc32/Makefile.sub
@@ -287,25 +287,27 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/bcc32/Makefile.sub
\#define rb_pid_t int
\#define HAVE_STRUCT_STAT_ST_RDEV 1
\#define HAVE_ST_RDEV 1
+!if $(BORLANDC) < 0x0580
\#define int8_t signed char
-\#define HAVE_UINT8_T 1
\#define uint8_t unsigned char
-\#define HAVE_INT16_T 1
\#define int16_t short
-\#define HAVE_UINT16_T 1
\#define uint16_t unsigned short
-\#define HAVE_INT32_T 1
\#define int32_t int
-\#define HAVE_UINT32_T 1
\#define uint32_t unsigned int
-\#define HAVE_INT64_T HAVE_LONG_LONG
\#define int64_t __int64
-\#define HAVE_UINT64_T HAVE_LONG_LONG
\#define uint64_t unsigned __int64
+\#define ssize_t int
+!endif
+\#define HAVE_UINT8_T 1
+\#define HAVE_INT16_T 1
+\#define HAVE_UINT16_T 1
+\#define HAVE_INT32_T 1
+\#define HAVE_UINT32_T 1
+\#define HAVE_INT64_T HAVE_LONG_LONG
+\#define HAVE_UINT64_T HAVE_LONG_LONG
\#define HAVE_INTPTR_T 1
\#define HAVE_UINTPTR_T 1
\#define HAVE_SSIZE_T 1
-\#define ssize_t int
\#define GETGROUPS_T int
\#define RETSIGTYPE void
\#define HAVE_ALLOCA 1
@@ -345,7 +347,7 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/bcc32/Makefile.sub
\#define RSHIFT(x,y) ((x)>>(int)y)
\#define FILE_COUNT level
\#define FILE_READPTR curp
-\#define RUBY_SETJMP(env) _setjmp(env)
+\#define RUBY_SETJMP(env) setjmp(env)
\#define RUBY_LONGJMP(env,val) longjmp(env,val)
\#define RUBY_JMP_BUF jmp_buf
\#define inline __inline
diff --git a/bcc32/mkexports.rb b/bcc32/mkexports.rb
index 1b498f8..888ab2e 100755
--- a/bcc32/mkexports.rb
+++ b/bcc32/mkexports.rb
@@ -4,19 +4,21 @@ $:.unshift(File.expand_path("../..", __FILE__))
require 'win32/mkexports'
class Exports::Bcc < Exports
- Forwards = /^rb_w32_(\w+)/
-
def forwarding(internal, export)
internal[/\A_?/]+export
end
- def each_export(objs)
+ def each_line(objs, &block)
objs.each do |obj|
- opt = /\.(?:so|dll)\z/i =~ obj ? "-ee" : "-oiPUBDEF -oiPUBD32"
- IO.foreach("|tdump -q #{opt} #{obj.tr('/', '\\')} < nul") do |l|
+ opt = /\.(?:so|dll)\z/i =~ obj ? "-ee" : "-oiPUBDEF -oiPUBD32"
+ IO.foreach("|tdump -q #{opt} #{obj.tr('/', '\\')} < nul", &block)
+ end
+ end
+
+ def each_export(objs)
+ objdump(objs) do |l|
next unless /(?:PUBDEF|PUBD32|EXPORT)/ =~ l
- yield $1 if /'(.*?)'/ =~ l
- end
+ yield $1 if /'(.*?)'/ =~ l
end
yield "_strcasecmp", "_stricmp"
yield "_strncasecmp", "_strnicmp"
diff --git a/bcc32/setup.mak b/bcc32/setup.mak
index 1cc87f3..e5b4ee8 100644
--- a/bcc32/setup.mak
+++ b/bcc32/setup.mak
@@ -50,7 +50,9 @@ BASERUBY = $(BASERUBY)
!if !defined(BASERUBY)
@for %I in (ruby.exe) do @echo BASERUBY = "%~$$PATH:I" >> $(MAKEFILE)
!endif
- @$(APPEND) $(BANG)endif
+ @type >> $(MAKEFILE) &&|
+$(BANG)endif
+|
!if exist(confargs.mk)
@type confargs.mk >> $(MAKEFILE)
@del confargs.mk
diff --git a/include/ruby/win32.h b/include/ruby/win32.h
index e871699..41fe48a 100644
--- a/include/ruby/win32.h
+++ b/include/ruby/win32.h
@@ -70,7 +70,7 @@ extern "C++" { /* template without extern "C++" */
#endif
#include <io.h>
#include <malloc.h>
-#ifdef __MINGW32__
+#if defined __MINGW32__ || __BORLANDC__ >= 0x0580
# include <stdint.h>
#else
# if !defined(_INTPTR_T_DEFINED)
diff --git a/regint.h b/regint.h
index e6c499a..b9bb3b8 100644
--- a/regint.h
+++ b/regint.h
@@ -217,14 +217,8 @@
#include <ctype.h>
#ifdef HAVE_SYS_TYPES_H
-#ifndef __BORLANDC__
#include <sys/types.h>
#endif
-#endif
-
-#ifdef __BORLANDC__
-#include <malloc.h>
-#endif
#ifdef ONIG_DEBUG
# include <stdio.h>