diff options
Diffstat (limited to 'bcc32')
-rw-r--r-- | bcc32/Makefile.sub | 20 | ||||
-rwxr-xr-x | bcc32/mkexports.rb | 16 | ||||
-rw-r--r-- | bcc32/setup.mak | 4 |
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 |