* win32/win32.c (rb_w32_opendir): should not use plain realloc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: set ac_cv_header_sys_time_h=no on MinGW
for msvcrt compatibility.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
use recv() and send() when fd is socket. fixed: [ruby-dev:28694]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
if the length of the cwd is longer than MAX_PATH.
fixed [ruby-list:42335]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
macros moved to extconf.h.
* ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and
EXTSTATIC permanent.
* ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS.
* {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added
$(INCFLAGS).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb: allow a series of commands to link.
* win32/Makefile.sub: embed manifests.
* win32/setup.mak: suffix OS name by runtime version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(VisualC++6) so use -O2b2xg- if $(MSC_VER) < 1400. [ruby-core:7040]
* lib/webrick/httpservlet/filehandler.rb: fixed typo. (Kero van Gelder)
[ruby-core:7075]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c (rb_f_test): support DOSISH systems where st_ino is not
reliable. fixed: [ruby-core:06672]
* win32.h, win32.c (rb_w32_osid): check the running platform.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
p Dir.glob('*') should work on WinNT. (implemented our own
stat(2) on WinNT) [ruby-list:41552] [ruby-dev:27711]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
symbols. [ruby-dev:27532]
* bcc32/mkexports.rb, win32/mkexports.rb: make aliases in DLL.
* win32/win32.c, win32/win32.h: replace symbols only when RUBY_EXPORT
is defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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
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
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
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
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
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
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
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
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
* 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
* 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
* 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
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
* 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
[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
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
when makefiles are modified.
* {bcc32,win32,wince}/Makefile.sub (config.status): add variables
for tests.
* win32/ifchange.bat: try to update a file only if modified.
* win32/resource.rb: more descriptions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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
ruby_init(), so call rb_w32_cmdvector() at ruby_options().
* win32.{c,h} (rb_w32_cmdvector): rename make_cmdvector() and
export it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
doesn't work for object files on VC.
* */Makefile.sub (config.h): need SIZEOF_TIME_T now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
include them.
* win32/resource.rb: include winver.h for older WindowsCE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
separate files under directories due to directory separator.
* */Makefile.sub (MKFILES): common.mk and */Makefile.sub should not be
removed.
* win32/Makefile.sub, wince/Makefile.sub: $* cannot appear in explicit
rules.
* cygwin/GNUmakefile.in: some mingw stuffs were missed.
* lib/mkmf.rb (create_makefile): Borland make wrongly removes braces
from command lines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
exceptions, instead of the first argument.
* process.c (rb_spawn): ditto.
* process.c (proc_spawn_v): use first argument as program name.
* win32/win32.c (rb_w32_aspawn): ditto.
* win32/win32.c (CreateChild): search executable file if no program
name given.
* lib/drb/extservm.rb (invoke_service_command): use Process.spawn.
[ruby-dev:23103]
* lib/rdoc/ri/ri_display.rb (setup_pager): use IO.popen.
[ruby-dev:23086], [ruby-dev:23103]
* lib/rdoc/diagram.rb (convert_to_png): ditto.
* lib/rdoc/generators/chm_generator.rb (compile_project): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
bcc32/setup.mak: new configure scheme. use ``configure --prefix=dir''
instead of ``make DESTDIR=dir install''.
--with-static-linked-ext support on mswin32. [ruby-dev:23034]
(by Nakada. Thanks.)
* bcc32/setup.mak: "configure --disable-install-doc" is now working.
* win32/setup.mak: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (CreateChild): first argument to CreateProcess() must
have path, not just basename.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
not .ext/.
* win32/Makefile.sub (config.status): convert the name of import
library.
* lib/mkmf.rb (create_makefile): now don't need to remove
$(TARGET).lib.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (rb_io_s_popen): accept argv not only single command line.
* process.c (rb_proc_exec_n): export.
* process.c (rb_check_argv): check if arguments are safe to invoke.
* process.c (rb_fork): retry to fork.
* process.c (rb_spawn): spawn child process asynchronously.
* process.c (rb_f_system): raise an exception if the command could not
execute.
* win32/win32.c (rb_w32_argv_size): count necessary size for joined
arguments.
* win32/win32.c (rb_w32_join_argv): join arguments with quoting.
* win32/win32.c (rb_w32_pipe_exec, rb_w32_spawn, rb_w32_aspawn):
accept program name adding to command line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
runruby.rb: run rdoc, test and so on with compiled extension
libraries. [ruby-dev:22688]
* ext/extmk.rb, lib/mkmf.rb: make extension libraries in separated
directory, similar to the actual directory structure.
* lib/fileutils.rb (FileUtils.copy_file): use the mode of the original
file to create new file.
* lib/rdoc/ri/ri_paths.rb (RI::Paths::SYSDIR): get rid of unexpected
influence by envirionment variable.
* bcc32/configure.bat, win32/configure.bat: add install-doc options.
* win32/win32.c, win32/win32.h (rb_w32_fstat): fix Borland C runtime
bug which returns wrong mode. [ruby-dev:22846]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
win32/setup.mak: --with-static-linked-ext support on mswin32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[ruby-dev:22486]
* pack.c (pack_unpack): unpack requires big endian offet (OFF16B
and OFF32B). The patch is from Minero Aoki in [ruby-dev:22489]
* pack.c (OFF16B): add big-endian offset again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[ruby-dev:22476]
* io.c (argf_eof): ARGF.eof? should not have any side effect.
[ruby-dev:22469]
* io.c (argf_each_byte): should return self. [ruby-dev:22465]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
not in the same drive.
* ext/extmk.rb: ditto.
* win32/Makefile.sub, win32/README.win32, win32/configure.bat,
win32/setup.mak: new configure scheme. use ``configure --prefix=dir''
instead of ``nmake DESTDIR=dir install''.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
HAVE_ISINF definition to follow previous commits of missing.h
and win32/win32.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* defines.h, rubysig.h, signal.c: removed macro handling which
should be done in configure.
* configure.in (intrinsics.h): check if present.
* ruby.h: include intrinsics.h if available.
* bignum.c, marshal.c: include ieeefp.h if available.
* missing.h (isinf): define as a macro if finite() and isnan()
are available. [ruby-core:02032]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/Makefile.sub (OS, RT): can override.
* win32/Makefile.sub (LDFLAGS): ditto. shouldn't use pdb:none
option. based on Tietew's patch [ruby-dev:22289]
* lib/mkmf.rb (create_makefile): should remove deffile if it's
made by miniruby. based on nobu's patch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
at the beginning of line to remove by sed. (ruby-bugs-ja PR#580)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (CreateChild): fix condition about whether to call
shell or not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
name.
* win32/win32.c (isInternalCmd): distinguish command.com and
cmd.exe.
* win32/win32.c (make_cmdvector): a character just after wildcard
was ignored. [ruby-core:01518]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/etc/etc.c: add real prototype to getenv().
* win32/win32.h: add arguments to definitions of functions if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/ossl_ssl.c (TO_SOCKET): define special version when
_WIN32 is defined. this is ruby's problem, not OpenSSL.
* win32/win32.c: remove some old comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
based on Nobu's patch ([ruby-win32:450]). [ruby-talk:75853]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: remove '-D__USE_CRTIMP' from XCFLAGS on MinGW.
* win32/win32.c (NtMakeCmdVector): handle quotes only if not instring.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
on bcc32.
* win32/win32.h, bcc32/Makefile.sub: use missing/isinf.c, should not
use _finite() because it returns 0 if NaN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e