aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-10 03:07:24 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-10 03:07:24 +0000
commit80f43309730056cffbf29fd4e11a24643900f55e (patch)
treee1f8e1da66c55147b3b1427edf64348c58aaef2d
parent6400a671b8775096f3c312cf04e413c3307b2edb (diff)
downloadruby-80f43309730056cffbf29fd4e11a24643900f55e.tar.gz
* bcc32/Makefile.sub (COMMON_LIBS): add libraries included in
import32.lib. * lib/mkmf.rb (create_makefile): restrict prefixing with srcdir to rule lines, add search path to implicit rules, and set Borland make special macros for search path. * win32/win32.c, win32/win32.h (read): aboid a BCC runtime bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog11
-rw-r--r--bcc32/Makefile.sub2
-rw-r--r--lib/mkmf.rb12
-rw-r--r--win32/win32.c17
-rw-r--r--win32/win32.h3
5 files changed, 40 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 79ccea8c89..1da25b692f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,16 @@
-Thu Feb 10 12:06:31 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 10 12:07:10 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/win32.c (init_stdhandle): assign standard file handles.
+ * bcc32/Makefile.sub (COMMON_LIBS): add libraries included in
+ import32.lib.
+
+ * lib/mkmf.rb (create_makefile): restrict prefixing with srcdir to
+ rule lines, add search path to implicit rules, and set Borland make
+ special macros for search path.
+
+ * win32/win32.c, win32/win32.h (read): aboid a BCC runtime bug.
+
Wed Feb 9 16:33:05 2005 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/socket/socket.c (wait_connectable): fixed wrong condition.
diff --git a/bcc32/Makefile.sub b/bcc32/Makefile.sub
index 700b23fc81..230050d4db 100644
--- a/bcc32/Makefile.sub
+++ b/bcc32/Makefile.sub
@@ -369,7 +369,7 @@ s,@LINK_SO@,$$(LDSHARED) $$(DLDFLAGS) $$(LIBPATH) $$(OBJS), $$(@:/=\), nul, $$(L
s,@COMPILE_C@,$$(CC) $$(CFLAGS) $$(CPPFLAGS) -c $$(<:/=\),;t t
s,@COMPILE_CXX@,$$(CXX) $$(CXXFLAGS) $$(CPPFLAGS) -P -c $$(<:/=\),;t t
s,@COMPILE_RULES@,{$$(srcdir)}.%s{}.%s: .%s.%s:,;t t
-s,@COMMON_LIBS@,m,;t t
+s,@COMMON_LIBS@,m advapi32 avicap32 avifil32 cap comctl32 comdlg32 dlcapi gdi32 glu32 imagehlp imm32 inetmib1 kernel32 loadperf lsapi32 lz32 mapi32 mgmtapi mpr msacm32 msvfw32 nddeapi netapi32 ole32 oleaut32 oledlg olepro32 opengl32 pdh pkpd32 rasapi32 rasdlg rassapi rpcrt4 setupapi shell32 shfolder snmpapi sporder tapi32 url user32 vdmdbg version win32spl winmm wintrust wsock32,;t t
s,@COMMON_MACROS@,WIN32_LEAN_AND_MEAN;t t
s,@COMMON_HEADERS@,winsock2.h windows.h,;t t
s,@TRY_LINK@,$$(CC) -oconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(LIBPATH) $$(LDFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS),;t t
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index c5cfad30bb..b2ae7e501b 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -1033,6 +1033,7 @@ site-install-rb: install-rb
return unless target
+ mfile.puts SRC_EXT.collect {|ext| ".path.#{ext} = $(VPATH)"} if $nmake == ?b
mfile.print ".SUFFIXES: .#{SRC_EXT.join(' .')} .#{$OBJEXT}\n"
mfile.print "\n"
@@ -1068,13 +1069,22 @@ site-install-rb: install-rb
end
depend = File.join(srcdir, "depend")
+ cont = rule = false
if File.exist?(depend)
open(depend, "r") do |dfile|
mfile.printf "###\n"
while line = dfile.gets()
line.gsub!(/\.o\b/, ".#{$OBJEXT}")
- line.gsub!(/(\s)([^\s\/]+\.[ch])/, '\1{$(srcdir)}\2') if $nmake
line.gsub!(/\$\(hdrdir\)\/config.h/, $config_h) if $config_h
+ if $nmake
+ rule = /^[$\w][^#]*:/ =~ line unless cont
+ cont = /(?:^|[^\\])(?:\\\\)*\\$/ =~ line
+ if rule
+ line.gsub!(%r"(?<=\s)(?!\.)(?=[^\s\/]+\.(?:#{(SRC_EXT + ['h']).join('|')})(?\s|\z))"o, '{.;$(VPATH)}')
+ else
+ line.sub!(/^(\.\w+)(\.\w+)(?=\s*:)/, '{.;$(VPATH)}\1{}\2')
+ end
+ end
mfile.print line
end
end
diff --git a/win32/win32.c b/win32/win32.c
index 92d00166bd..166d58e792 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -3244,6 +3244,23 @@ catch_interrupt(void)
CHECK_INTS;
}
+#if defined __BORLANDC__ || defined _WIN32_WCE
+#undef read
+int
+read(int fd, void *buf, size_t size)
+{
+ int trap_immediate = rb_trap_immediate;
+ int ret = _read(fd, buf, size);
+ if ((ret < 0) && (errno == EPIPE)) {
+ errno = 0;
+ ret = 0;
+ }
+ rb_trap_immediate = trap_immediate;
+ catch_interrupt();
+ return ret;
+}
+#endif
+
#undef fgetc
int
rb_w32_getc(FILE* stream)
diff --git a/win32/win32.h b/win32/win32.h
index 916e8ce276..58538b26ee 100644
--- a/win32/win32.h
+++ b/win32/win32.h
@@ -105,7 +105,6 @@ extern "C++" {
#define eof() _eof()
#define filelength(h) _filelength(h)
#define mktemp(t) _mktemp(t)
-#define read(h, b, l) _read(h, b, l)
#define tell(h) _tell(h)
#define unlink(p) _unlink(p)
#define write(h, b, l) _write(h, b, l)
@@ -205,7 +204,7 @@ extern int rb_w32_rmdir(const char *);
#ifdef __BORLANDC__
extern int rb_w32_fstat(int, struct stat *);
extern FILE *rb_w32_fopen(const char *, const char *);
-extern FILE *rb_w32_fdopen(int, char *);
+extern FILE *rb_w32_fdopen(int, const char *);
extern FILE *rb_w32_fsopen(const char *, const char *, int);
#endif