* win32/Makefile.sub (PACKED_STRUCT): __pragma extension is
available since VC9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/Makefile.sub (LIBS): oldnames.lib is not used already.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/configure.bat: bail out if run in win32 directory.
[ruby-core:63648] [Bug #10027]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (clean-rdoc, clean-capi, clean-platform): integrate
from Makefile.in and win32/Makefile.sub.
* win32/Makefile.sub (RMALL): now use rm.bat instead of rmall.bat
which does not handle any options and convert slashes.
* win32/rmall.bat: no longer used. use rm.bat with -r instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (DEFAULT_PRELUDES): no longer configurable since
r43278, move from Makefile.in and win32/Makefile.sub.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (--with-static-linked-ext): fix for extensions to
be linked statically.
* Makefile.in, common.mk: use ENCSTATIC for enc directory.
* ext/extmk.rb: supply dependencies of statically linked extension
libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/setup.mak (verconf.mk): rename RUBY_PROGRAM_VERSION as
RUBY_RELEASE_DATE, same as other platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/setup.mak (verconf.mk): separate RUBY_RELEASE_DATE from
Makefile so that build would not stop everyday.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hey nobu, why don't you write Changelog for such serious changes?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/Makefile.sub (enc/jis/props.h): nmake needs special rule
to copy from the source directory, because it can't handle VPATH.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c: include "missing/nextafter.c" and address
finite() and isnan() macros, to get rid of infinite recursion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/Makefile.sub (MISSING, CONFIG_H): msvcr120.dll provides
nextafter() as well as other mathematic functions. finite() and
isnan() used in missing/nextafter.c are not by older runtimes.
[Feature #9834]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (ustatfs): need a linkage to get rid of conflict.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (dln_find_1): use CharNextExA() instead of CharNext()
to respect the given code page.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (NtCmdLineElement): use long instead of int for
rb_w32_wstr_to_mbstr.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (rb_w32_sysinit): use WCHAR version of GetCommandLine()
internally.
* win32/win32.c (w32_cmdvector): renamed from rb_w32_cmdvector. use
WCHAR* instead of char* internally.
these changes are expected to not changing the behavior yet.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
reset inherit flag of socket to avoid unintentional inheritance of
socket. note that the return value of SetHandleInformation() is not
verified intentionally because old Windows may return an error.
[Bug #9688] [ruby-core:61754]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include/ruby/win32.h, win32/win32.c (rb_w32_inet_pton): add a
wrapper function for inet_pton minimum supported client is
Vista, as well as inet_ntop.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
if RUBY_VERSION is updated, fake.rb need to say the new version
to avoid install error in rbconfig.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: let mingw do something black-magic, and check if
_gmtime64_s() is available actually.
* win32/win32.c (gmtime_s, localtime_s): use _gmtime64_s() and
_localtime64_s() if available, not depending on very confusing
mingw variants macros. based on the patch by phasis68 (Heesob
Park) at [ruby-core:58764]. [ruby-core:58391] [Bug #9119]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/ifchange, win32/ifchange.bat: do not overwrite with an empty
file by default, and add --empty option to force it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/Makefile.sub (config.h): fix version number of runtime
library. log2 needs to be defined, not only HAVE_LOG2.
[ruby-core:57992] [Bug #9044]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (console_emulator_p): check by comparison between
module handle of WriteConsoleW and kernel32.dll.
* configure.in, win32/Makefile.sub, win32/setup.mak: no longer need
psapi.lib.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/file.c (rb_file_expand_path_internal): fix memory leaks at
a non-absolute home exception.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/ifchange.bat: add --keep option as well as tool/ifchange.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/setup.mak (check-psapi.h): check if psapi.h is available.
* win32/win32.c (CHECK_CONSOLE_EMULATOR): enable console emulator DLL
check only when psapi.h is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/Makefile.sub (TZ): empty to skip timezone tests which are not
supported on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/Makefile.sub (DEFAULT_PRELUDES): always use gem_prelude
regardless of --disable-rubygems. follow up r43278.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/file.c (code_page): use encoding index, which is primary
entity, instead of encoding name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (clock_getres): required as well as clock_gettime().
[ruby-dev:47699] [Bug #8869]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
tv_usec instead of rounding down.
this change is an experiment to get rid of failures on vc10-x64 CI.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/Makefile.sub (config.h): now SIZEOF_CLOCK_T is needed for
unsigned_clock_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (rb_w32_conv_from_wchar): converted string to CP_UTF8
should have UTF-8 encoding. otherwise no conversion takes place
later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (rb_w32_conv_from_wchar): use WideCharToMultiByte(),
as like as mbstr_to_wstr(), in the first step of the convertion from
WCHAR.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (rb_w32_write_console): use MultiByteToWideChar() for
the last step of conversion to WCHAR, to get rid of warnings from
rb_enc_find() in miniruby. [ruby-dev:47584] [Bug #8733]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (wstr_to_mbstr, mbstr_to_wstr): fix wrong trimming.
WideCharToMultiByte() and MultiByteToWideChar() do not count
NUL-terminator in the size for conversion result, unless the input
length is -1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (rb_w32_pipe): use enum for compile time constants,
instead of const int for debugging.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (rb_w32_pipe): fix pipe name formatting. as "%x" may
not contain '0' at all, fill at fixed position instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/file.c (fix_string_encoding): fix target encoding. the
parameter `encoding' is not the target encoding but the original
encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* load.c (rb_load_internal): use rb_load_file_str() to keep path
encoding.
* load.c (rb_require_safe): search in OS path encoding for Windows.
* ruby.c (rb_load_file_str): load file with keeping path encoding.
* win32/file.c (rb_file_load_ok): use WCHAR type API assuming incoming
path is encoded in UTF-8. [ruby-core:56136] [Bug #8676]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/file.c (convert_mb_to_wchar): use bare pointer instead of
VALUE, and remove useless argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_win32.c (w32_thread_start_func, thread_start_func_1),
(timer_thread_func): use __stdcall instead of _stdcall which is
unavailable in strict ANSI mode. [ruby-core:55312] [Bug #8495]
* win32/win32.c (gettimeofday): use __cdecl instead of _cdecl.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
a quote and includes slash, removed the top quote and NOT removed the
last quote.
this fixes test failures on test/ruby/test_process.rb and
test/webrick.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (join_argv): use backslash instead of slash in program
path, otherwise cannot invoke "./c\u{1ee7}a.exe" for some reason.
[ruby-core:24309] [Bug #1771]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e