summaryrefslogtreecommitdiff
path: root/bcc32
diff options
context:
space:
mode:
Diffstat (limited to 'bcc32')
-rw-r--r--bcc32/Makefile.sub20
-rwxr-xr-xbcc32/mkexports.rb16
-rw-r--r--bcc32/setup.mak4
3 files changed, 23 insertions, 17 deletions
diff --git a/bcc32/Makefile.sub b/bcc32/Makefile.sub
index b169aea1d1..31b522eb2e 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 1b498f8515..888ab2e2a6 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 1cc87f3e80..e5b4ee8f44 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