path: root/win32
AgeCommit message (Collapse)Author
2020-04-08[win32] Moved `MSC_VER` to and reduce running CPPNobuyoshi Nakada
2020-04-08[win32] Removed useless macro name that isn't expanded in `#error`Nobuyoshi Nakada
2020-04-05Added tooldir variableNobuyoshi Nakada
Notes: Merged:
2020-03-05[win32] get rid of redefinition of reserved macroNobuyoshi Nakada
``` warning C4117: macro name '_INTEGRAL_MAX_BITS' is reserved, '#define' ignored ```
2020-03-04[win32] suppress false warning by mingw gccNobuyoshi Nakada
2020-02-20avoid defining inline卜部昌平
Recent (since 2012 maybe?) MSVC ships a header named xkeycheck.h, which (kindly!) aborts compilation on redefinition of C++ keywords. Let's not define this in case of C++.
2020-01-31support C++ std::nullptr_t卜部昌平
C++ keyword `nullptr` represents a null pointer (note also that NULL is an integer in C++ due to its design flaw). Its type is `std::nullptr_t`, defined in <cstddef> standard header. Why not support it when the backend implementation can take a null pointer as an argument.
2019-12-26decouple internal.h headers卜部昌平
Saves comitters' daily life by avoid #include-ing everything from internal.h to make each file do so instead. This would significantly speed up incremental builds. We take the following inclusion order in this changeset: 1. "ruby/config.h", where _GNU_SOURCE is defined (must be the very first thing among everything). 2. RUBY_EXTCONF_H if any. 3. Standard C headers, sorted alphabetically. 4. Other system headers, maybe guarded by #ifdef 5. Everything else, sorted alphabetically. Exceptions are those win32-related headers, which tend not be self- containing (headers have inclusion order dependencies). Notes: Merged:
2019-12-20Fixed misspellingsNobuyoshi Nakada
Fixed misspellings reported at [Bug #16437], only in ruby and rubyspec.
2019-12-11remove prelude.cKoichi Sasada
prelude.c is an automatically generated file by template/prelude.c.tmpl. However it does not contain any required functions. So remove it from dependency. Also miniprelude.c is included by mini_builtin.c and does not need to make miniprelude.o. Notes: Merged:
2019-11-26Fix `$(RMALL) -r` on WindowsNAKAMURA Usaku
`set recursive=1 &` sets `1 ` to `recursive`, not `1`.
2019-11-20Turn C4047 warning into errorNobuyoshi Nakada
Warned at making precompiled header on mswin. ``` building rb_mjit_header-2.7.0.pch vm.c d:\a\ruby\ruby\src\vm_args.c(1117): warning C4047: '=': 'const rb_callable_method_entry_t *' differs in levels of indirection from 'int' rb_mjit_header-2.7.0.pch updated ```
2019-11-10Define NULLCMD as printing NUL [Bug #16331]Nobuyoshi Nakada
2019-11-10Define NULLCMD as an empty label [Bug #16331]Nobuyoshi Nakada
2019-11-09Fix builtin scirpt pathsNobuyoshi Nakada
Do not search builtin scripts by using VPATH, to get rid of weird nmake VPATH. Notes: Merged:
2019-11-08Add VPATH to rbinc rule for nmakeNobuyoshi Nakada
Notes: Merged:
2019-11-05Share test-bundled-gems-run in common.mkNobuyoshi Nakada
2019-10-11win32.c: Remove unused calls to StartSockets (#2312)Gabriel Nagy
NtSocketsInitialized behavior changed in e33b1690, requiring a call to rb_w32_sysinit for starting Windows Sockets. This commit removes NtSocketsInitialized entirely to avoid confusion. Signed-off-by: Gabriel Nagy <>
2019-09-27Adjusted spaces [ci skip]Nobuyoshi Nakada
2019-09-18[EXPERIMENTAL] MakeMakefile::CXX for C++Nobuyoshi Nakada
2019-09-10fix CentOS 6 compile error卜部昌平
See also
2019-09-06Try to fix compile error on win32Kazuhiro NISHIYAMA ``` cxxanyargs.cpp C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\corecrt_malloc.h(54): error C2485: '__restrict': unrecognized extended attribute ```
2019-08-29drop-in type check for rb_define_method卜部昌平
The rb_define_method function takes a pointer to ANYARGS-ed functions, which in fact varies 18 different prototypes. We still need to preserve ANYARGS for storages but why not check the consistencies if possible. Q&As: Q: Where did the magic number "18" came from in the description above? A: Count the case branch of vm_method.c:call_cfunc_invoker_func(). Note also that the 18 branches has lasted for at least 25 years. See also 200e0ee2fd3c1c006c528874a88f684447215524. Q: What is this __weakref__ thing? A: That is a kind of function overloading mechanism that GCC provides. In this case for instance rb_define_method0 is an alias of rb_define_method, with a strong type. Q: What is this __transparent_union__ thing? A: That is another kind of function overloading mechanism that GCC provides. In this case the attributed function pointer is either VALUE(*)(int,VALUE*,VALUE) or VALUE(*)(int,const VALUE*,VALUE). This is better than void* or ANYARGS because we can reject all other possibilities than the two. Q: What does this rb_define_method macro mean? A: It selects appropriate alias of the rb_define_method function, depending on the arity. Q: Why the prototype change of rb_f_notimplement? A: Function pointer to rb_f_notimplement is special cased in vm_method.c:rb_add_method_cfunc(). That should be handled by the __builtin_choose_expr chain inside of rb_define_method macro expansion. In order to do so, comparison like (func == rb_f_notimplement) is inappropriate for __builtin_choose_expr's expression (which must be a compile-time integer constant but the address of rb_f_notimplement is not fixed until the linker). So instead we are using __builtin_types_compatible_p, and in doing so we need to distinguish rb_f_notimplement from others, by type.
2019-08-27Added license comment [Bug #12230] [ci skip]Nobuyoshi Nakada
2019-08-19* expand tabs. [ci skip]git
2019-08-19Set flag to allow unprivileged users to create symlinks (#2381)Nobuyoshi Nakada
* [Win32] set flag to allow unprivileged users to create symlinks Notes: Merged-By: nobu <>
2019-08-04[DOC] "nmake check" is preferable to "nmake exam" now [ci skip]Nobuyoshi Nakada
[Feature #14187]
2019-08-04[DOC] updated about icons in win32/README.win32 [ci skip]Nobuyoshi Nakada
[Bug #13348]
2019-08-04[DOC] "nmake check" is preferable to "nmake exam" now [ci skip]Nobuyoshi Nakada
[Feature #14187]
2019-08-04[DOC] Mark up path names to show a backslash [ci skip]Nobuyoshi Nakada
2019-07-25Fix errno at seeking socket/pipe on WindowsNobuyoshi Nakada
[Bug #12230]
2019-07-18Improve build process and coroutine implementation selection.Samuel Williams
2019-06-19Remove IA64 support.Samuel Williams
2019-05-17Do not export InitVM functionsNobuyoshi Nakada
2019-05-10No longer svn & git-svn are usedNobuyoshi Nakada
2019-04-30Forgotten to removeNAKAMURA Usaku
2019-04-30Revert previous commit; it was meaninglessNAKAMURA Usaku
2019-04-30* expand tabs.git
2019-04-30Use CreateToolhelp32Snapshot instead of NtQueryInformationProcess to get ↵NAKAMURA Usaku
ppid on Windows Try to get rid of a spec error.
2019-04-28Makefiles need to be indented by tabsNobuyoshi Nakada
2019-04-22Now only supports Git repositoryNAKAMURA Usaku
2019-04-21Remove debug linesusa
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21Show/unshow executing command as specified by `V`usa
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-04FindFirstFile cannot glob share namesnobu
* win32/file.c (replace_to_long_name): do not try to glob host names and share names by FindFirstFile which is useless for that purpose. [ruby-core:91656] [Bug #15633] git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-13Parenthesize `for` to ignore errorsnobu
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-13Ignore errors on cleaningnobu
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-05README.win32: [DOC] added modeline [ci skip]nobu
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-04Update requirementsusa
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-02README.win32: mention GIT as well as SVNnobu
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-02README.win32: update required commands and platform namesnobu
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e