Commit graph

796 commits

Author SHA1 Message Date
usa
0245c7aa16 * ext/dl/depend, ext/dl/extconf.rb, ext/socket/depend,
ext/socket/extconf.rb: shouldn't define DESTCLEANFILES in depend,
  use $distcleanfiles in extconf.rb.

* win32/Makefile.sub (distclean-local): should remove .config.h.time.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-18 02:01:24 +00:00
usa
fa31502b80 * mkconfig.rb: fixup configure_args for mswin32 configure.
* win32/configure.bat (srcdir, target): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-17 00:44:54 +00:00
usa
45cab7d104 * win32/configure.bat: remove unnecessary line which prevents
creating Makefile.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-15 15:15:58 +00:00
nobu
f76f6155e1 * win32/Makefile.sub (MKFILES): update MKFILES if configure files get
changed.

* win32/configure.bat, win32/setup.mak (configure_args): store
  arguments to configure files.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-14 14:10:08 +00:00
usa
b367743e92 * win32/win32.c (ioctl): should set errno.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-14 13:09:11 +00:00
usa
1110e7123c * win32/win32.c (do_select, rb_w32_select): brush up.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-01 14:57:06 +00:00
ocean
fb5dd968ec * win32/win32.c (rb_w32_select): documented problem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17 21:44:24 +00:00
ocean
f2107f2ec1 * win32/win32.c (rb_w32_select): fixed deadlock bug.
because select(2) modifies its fd_set arguments, it must be
  restored sometimes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17 12:20:07 +00:00
ocean
f0bcbbef67 * win32/win32.c (rb_w32_select): I hope performance problem was
solved.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17 05:22:33 +00:00
ocean
aa21055faf * win32/win32.c (rb_w32_select): console support is back.
but still has performance problem because I loosely took 1 second
  for wait time. I'll fix it later. (The reason I drastically changed
  the code is that I wanted to implement the fileset management as
  single function, and I was worried that if pipe or console
  was always available, socket may not be processed any time)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17 04:53:26 +00:00
ocean
846b1c35e5 * win32/win32.c (rb_w32_select): select for socket didn't work.
this caused deadlock in drb test. this happened because GetFileType
  for socket handle returns FILE_TYPE_PIPE. Of course, it's not a
  pipe. So socket handle didn't reach winsock's select function.

* win32/win32.c (rb_w32_select): read for pipe still kept brocking
  even if writer handle was closed.

    r,w = IO.pipe

    Thread.new {
      sleep 3; puts "------- 1"
      w.puts("foo")
      sleep 3; puts "------- 2"
      w.puts("boo")
      sleep 3; puts "------- 3"
      w.close
    }

    until r.eof? # should break by w.close but didn't.
      puts r.gets
    end

* win32/win32.c (rb_w32_select): temprary reverted console support
  but it'll be back soon.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17 02:42:59 +00:00
nobu
5a2f770fb1 * dir.c (rb_push_glob): fix delimiter bug. fixed: [ruby-dev:27105]
* dir.c (dir_s_aref, dir_s_glob): allow multiple patterns.
  [ruby-dev:27110]

* win32/win32.c (cmdglob): enable brace expansion.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-16 13:46:05 +00:00
usa
7c5eaf70a3 * win32/win32.c (rb_w32_pipe_exec): remove unnecessary CloseHandle().
* win32/win32.c (extract_console_fd, peek_console): new functions.

* win32/win32.c (rb_w32_select): check consoles by polling them.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-15 02:03:43 +00:00
usa
e2472dafa0 * win32/win32.c (collect_file_fd): rename from extract_file_fd.
* win32/win32.c (extract_pipe_fd, peek_pipe): new functions.

* win32/win32.c (rb_w32_select): check pipes by polling them.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-14 14:30:37 +00:00
nobu
9d2b69a273 * dir.c (ruby_glob): glob function not using ruby exception system.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-14 13:41:02 +00:00
ocean
bf102e8a35 * win32/win32.[hc] (rb_w32_argv_size, ...): reverted my latest change
to avoid incompatible pointer warning. (mingw32)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-12 11:40:40 +00:00
ocean
8955a2d930 * win32/win32.[hc] (rb_w32_utime): constified.
* win32/win32.h (rb_w32_stat): added prototype.

* win32/win32.[hc] (rb_w32_argv_size,rb_w32_join_argv,rb_w32_aspawn):
  changed `char *const *' to `const char *const *'. (constify string)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-07 00:37:53 +00:00
usa
7706418a4e * win32/Makefile.sub (OPTFLAGS): default global optimization to
disabled for all VC++ versions.  fixed: [ruby-dev:26897]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-31 05:43:51 +00:00
usa
e67d73e0f3 * win32/win32.c (socketpair_internal): need to call open_ifs_socket()
to create sockets instead of winsock's socket().
  fixed: [yarv-dev:581]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-18 02:07:28 +00:00
nobu
a51e80459c * common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated
macro definitions.

* bcc32/Makefile.sub: LIBRUBY_SO should use DLDOBJS, not EXTOBJS.

* {win32,wince}/Makefile.sub: separate config.h for compiler versions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-03 15:27:13 +00:00
usa
ce8d9b4a0d * configure.in, {bcc32,win32,wince}/Makefile.sub (HAVE_SNPRINTF,
HAVE_VSNPRINTF): use win32/win32.c's implementation instead of
  missing/vsnprintf.c's.

* win32/win32.[ch] (rb_w32_snprintf, rb_w32_vsnprintf): reverted.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-03 01:21:20 +00:00
usa
528f4c66dd * win32/win32.[ch]: (rb_w32_vsnprintf, rb_w32_snprintf): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-25 14:50:12 +00:00
nobu
9b4ddc1a01 * {bcc32,win32,wince}/Makefile.sub: moved CPPFLAGS only for ruby
source to XCFLAGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-25 12:31:21 +00:00
nobu
a6df88f00b * common.mk: Borland MAKE doesn't look for file names which have paths
from VPATH.  fixed: [ruby-dev:26604]

* ruby.h (NORETURN, DEPRECATED): moved just after config.h.

* {win32,wince}/Makefile.sub: vsnprintf() is in missing now.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-25 12:29:37 +00:00
nobu
6524f34a26 * sprintf.c (rb_vsprintf, rb_sprintf): new functions return new String,
using missing/vsnprintf.c.  [ruby-dev:26580]

*  missing/vsnprintf.c: made the output changeable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-23 01:02:18 +00:00
ocean
c6a782c14e * win32/win32.[hc]: constified socket functions. [ruby-dev:26553]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-16 06:59:05 +00:00
ocean
3345d742e7 reordered just for diffing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-14 09:58:13 +00:00
ocean
59970fde60 * win32/win32.c (rb_w32_strerror): should return correct message
for ENAMETOOLONG and ENOTEMPTY. (bcc32) [ruby-dev:26533]

* win32/win32.c (rb_w32_strerror): stripped CR LF on the tail.
  (bcc32) [ruby-dev:26533]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-14 09:33:52 +00:00
ocean
80b0773d33 * win32/win32.c (rb_w32_mkdir): should set EEXIST (not EACCES)
if file or directory already exists. (bcc32)

* win32/win32.c (rb_w32_rmdir): should set ENOTDIR (not EINVAL)
  if it is not directory. (bcc32, win32)

* win32/win32.c (rb_w32_rmdir, rb_w32_unlink): restore
  FILE_ATTRIBUTE_READONLY flag on function failure.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-13 10:40:06 +00:00
nobu
682d1bb068 * win32/win32.c (StartSockets): iSockOpt is no longer used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-08 10:55:29 +00:00
usa
2e0680f221 * win32/win32.c (open_ifs_socket): new function.
* win32/win32.c (StartSockets, rb_w32_socket): use open_ifs_socket()
  instead of socket().
  all changes are derived from [ruby-core:5388].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-06 02:20:58 +00:00
usa
00e35b4f19 * missing/erf.c: need to include some headers for some platforms.
* win32/win32.c (copysign, scalb): define for compatibility with
  other platforms. [ruby-dev:26430]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-01 06:52:37 +00:00
usa
b03649bc2a * ext/dbm/dbm.c (fdbm_closed): new method DBM#closed?
* ext/gdbm/gdbm.c (fgdbm_closed): new method GDBM#closed?

* ext/sdbm/init.c (fsdbm_closed): new method SDBM#closed?

* test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb
  (teardown): close all db objects before deleting data files.

* win32/win32.{ch} (unlink): hook runtime function to change
  file attribute before unlinking.
  merge from 1.8, see [ruby-dev:26360]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-20 08:17:53 +00:00
usa
34075ed209 * win32/Makefile.sub ($(PROGRAM)): add dependency on $(LIBRUBY_SO).
[experimental]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-23 06:10:32 +00:00
usa
a70902a5c9 * win32/win32.c (NtInitialize): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-18 05:10:09 +00:00
nobu
b272844547 * dir.c (glob_helper): get rid of using String. [ruby-dev:26180]
* eval.c (ruby_options), win32/win32.c (NtInitialize): move argument
  intialization back.  [ruby-dev:26180]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-18 02:08:00 +00:00
usa
0a6a371abf * win32/win32.c (unixtime_to_filetime): use localtime() instaed of
gmtime() when using FileLocalTimeToFileTime().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-17 02:52:43 +00:00
nobu
a3c29ec51a * win32/win32.h, {bcc32,win32,wince}/Makefile.sub: moved rb_[ugp]id_t
to get rid of redefinition warnings on mingw.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-16 13:22:09 +00:00
ocean
208f2f27ca * win32/win32.{h,c}: define rb_{p,g,u}id_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-15 18:36:56 +00:00
nobu
c23d3e4640 * win32/win32.c (unixtime_to_filetime): deal with DST.
[ruby-talk:141817]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-15 00:57:49 +00:00
nobu
642ddf7201 * configure.in: Check for the availability of pid_t, gid_t and uid_t and
remove AC_TYPE_UID_T.  fixed: [ruby-core:04745]

* defines.h: Remove pid_t typedef.

* ruby.h: Define rb_pid_t, rb_gid_t and rb_uid_t in accordance with
 the available system types.

* process.c: Change instances of pid_t and gid_t to their rb_*
 counterparts.

* ext/pty/pty.c: Change pid_t to rb_pid_t.

* vms/config.h: Define HAVE_{P,G,U}ID_T to 1.

* win32/Makefile.sub: Remove #define for {g,u}id_t.

* win32/win32.c: Change pid_t to rb_pid_t.

* wince/Makefile.sub: Remove #define for {g,u}id_t.

* wince/sys/types.h: Remove definitions of {p,g,u}id_t.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-14 14:57:53 +00:00
nobu
2c716f2b47 * ext/extmk.rb: keep srcdir unexpanded.
* lib/mkmf.rb (create_makefile): quote topdir and hdrdir if necessary.
  fixed: [ruby-core:04932]

* lib/mkmf.rb (configuration), {bcc32,win32,wince}/Makefile.sub: make
  also INSTALL_PROG and INSTALL_DATA system dependent.
  fixed: [ruby-core:04931]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-13 14:44:59 +00:00
nobu
27a9df2a6b * configure.in (RUBY_FUNC_ATTRIBUTE): check for function attribute.
[ruby-dev:26109]

* eval.c, gc.c: moved noinline to configure.in.

* rubyio.h (DEPRECATED): moved to configure.in.

* ruby.h (DEPRECATED, NOINLINE): default definition.

* win{32,ce}/Makefile.sub (config.h): deprecated and noinline for
  __declspec() are available for VC++7 or later.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-30 02:59:44 +00:00
nobu
6329fa50b6 * win32/Makefile.sub (OPTFLAGS): default global optimization to
disabled only for VC++6.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-27 14:43:06 +00:00
nobu
dbbfbc5a21 * configure.in, lib/mkmf.rb, {bcc32,win32,wince}/Makefile.sub: improve
C++ support.  [ruby-dev:26089]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-20 21:45:43 +00:00
nobu
514df9097e * lib/mkmf.rb (create_makefile): support platforms have file separator
other than /.

* {bcc32,win32,wince}/Makefile.sub (BUILD_FILE_SEPARATOR): separator
  of building platform.

* {bcc32,win32,wince}/Makefile.sub (CP, INSTALL): use COPY command.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-20 15:08:36 +00:00
nobu
5c6e644196 * Makefile.in, common.mk: miniruby depens on MINIOBJS.
* dmydln.c (dln_load): dummy function to raise LoadError.

* cygwin/GNUmakefile.in, {bcc32,win32,wince}/Makefile.sub: miniruby
  can't load extensions on Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-20 14:25:34 +00:00
nobu
9031084686 * win32/ifchange.bat: delete testing files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-20 14:02:15 +00:00
nobu
7f530ef4e1 * {bcc32,win32,wince}/configure.bat, {bcc32,win32,wince}/setup.mak:
add extout option.

* bcc32/setup.mak: make configuration variables overridable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-19 22:28:28 +00:00
nobu
f091f36035 * configure.in (mingw32): use actual runtime DLL name as ruby DLL
name and default load path.

* win32/Makefile.sub, win32/setup.mak: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-13 10:25:41 +00:00