aboutsummaryrefslogtreecommitdiffstats
path: root/win32
Commit message (Collapse)AuthorAgeFilesLines
* ifchange: check the number of argumentsNobuyoshi Nakada2021-01-041-2/+28
|
* win32: Removed never used/worked functionsNobuyoshi Nakada2020-12-271-0/+2
| | | | | | Almost certainly, these have never been used in external extension libraries. If any had, these would have had to be declared in headers.
* win32: Declared wait and fixed the return typeNobuyoshi Nakada2020-12-271-1/+1
|
* Enable escape sequence on Windows10 consoleU.Nakamura2020-12-211-0/+11
| | | | | * win32/win32.c (init_stdhandle): enable escape sequence on Windows10 console to show `ruby --help` colors correctly.
* win32: Deprecate file CP version functionsNobuyoshi Nakada2020-12-201-34/+33
|
* win32: Added rb_w32_ureaddir only for UTF-8 [Feature #12654]Nobuyoshi Nakada2020-12-202-1/+10
|
* win32: Use UTF-8 as filesystem encoding [Feature #12654]Nobuyoshi Nakada2020-12-203-3/+4
| | | | Co-Authored-By: Dāvis Mosāns <davispuh@gmail.com>
* Revived the getenv macro for dln_find.cNobuyoshi Nakada2020-12-201-0/+1
| | | | | | | | This partially reverts commit "Windows: Improve readablity of getenv() encoding" 14453a256d58b11b06d432e2a4388d95aac298d6. The `getenv` macro defined here is to also substitute the function in dln_find.c, not only in this file.
* Made LARGEFILE_SUPPORT mandatoryNobuyoshi Nakada2020-12-161-7/+0
|
* Removed obsolete autoconf checksNobuyoshi Nakada2020-12-121-1/+0
| | | | | | | Use regular `AC_CHECK_MEMBERS` instead of: * `AC_STRUCT_ST_BLKSIZE` * `AC_STRUCT_ST_BLOCKS` * `AC_STRUCT_ST_RDEV`
* Signal handler type should be voidNobuyoshi Nakada2020-12-121-1/+0
|
* Omit checks for C89 standard or laterNobuyoshi Nakada2020-12-121-3/+0
| | | | | | | | | | Now we require C99, these features available of course. * prototypes * stdarg prototypes * token pasting * stringization * string literal concatenation
* Windows: Read ENV names and values as UTF-8 encoded Strings (#3818)Lars Kanis2020-12-081-1/+0
| | | | | | | | | | | | | | | | | | | | | * Windows: Read ENV names and values as UTF-8 encoded Strings Implements issue #12650: fix https://bugs.ruby-lang.org/issues/12650 This also removes the special encoding for ENV['PATH'] and some complexity in the code that is unnecessary now. * Windows: Improve readablity of getenv() encoding getenv() did use the expected codepage as an implicit parameter of the macro. This is mis-leading since include/ruby/win32.h has a different definition. Using the "cp" variable explicit (like the other function calls) makes it more readable and consistent. * Windows: Change external C-API macros getenv() and execv() to use UTF-8 They used to process and return strings with locale encoding, but since all ruby-internal spawn and environment functions use UTF-8, it makes sense to change the C-API equally.
* Revived the getenv macro for dln_find.cNobuyoshi Nakada2020-11-281-0/+4
| | | | | | | | This partially reverts commit "Windows: Improve readablity of getenv() encoding" 14453a256d58b11b06d432e2a4388d95aac298d6. The `getenv` macro defined here is to also substitute the function in dln_find.c, not only in this file.
* Windows: Improve readablity of getenv() encodingLars Kanis2020-11-281-4/+3
| | | | | | | getenv() did use the expected codepage as an implicit parameter of the macro. This is mis-leading since include/ruby/win32.h has a different definition. Using the "cp" variable explicit (like the other function calls) makes it more readable and consistent.
* Removed canonicalization for mathnNobuyoshi Nakada2020-11-101-6/+0
|
* DEPRECATED_TYPE: is deprecated卜部昌平2020-08-271-1/+0
| | | | Nobody uses this macro any longer.
* Use https instead of httpKazuhiro NISHIYAMA2020-07-281-1/+1
|
* No GITPULLOPTIONS by defaultNobuyoshi Nakada2020-06-041-1/+1
| | | | | To honor the environment variable, keep GITPULLOPTIONS unset by default, and appended the option to VCSUP.
* Get rid of redefinition of memcpy on mingwNobuyoshi Nakada2020-05-261-1/+1
|
* Include wchar.h before wrapping memchrNobuyoshi Nakada2020-05-191-1/+1
| | | | | | | | | | | | | On mingw, wmemcpy() is defined as an inline function using memcpy(), and the static inline wrapper causes a warning. ``` In file included from include/ruby/ruby.h:39, from win32/file.c:5: include/ruby/internal/memory.h:284:16: warning: 'ruby_nonempty_memcpy' is static but used in inline function 'wmemcpy' which is not static 284 | #define memcpy ruby_nonempty_memcpy | ^~~~~~~~~~~~~~~~~~~~ ```
* win32/mkexports.rb: do not export internal symbolsNobuyoshi Nakada2020-05-121-1/+1
| | | | | Functions using `rb_thread_t` and `rb_execution_context_t` are internal use only.
* sed -i 's|ruby/impl|ruby/internal|'卜部昌平2020-05-111-1/+1
| | | | To fix build failures.
* sed -i s|ruby/3|ruby/impl|g卜部昌平2020-05-111-1/+1
| | | | This shall fix compile errors.
* Support version ranges for MSVC [Feature #16763]Nobuyoshi Nakada2020-04-112-1/+12
|
* Merge pull request #2991 from shyouhei/ruby.h卜部昌平2020-04-081-1/+1
| | | Split ruby.h
* [win32] Moved `MSC_VER` to verconf.mk and reduce running CPPNobuyoshi Nakada2020-04-081-3/+1
|
* [win32] Removed useless macro name that isn't expanded in `#error`Nobuyoshi Nakada2020-04-081-1/+1
|
* Added tooldir variableNobuyoshi Nakada2020-04-051-4/+5
|
* [win32] get rid of redefinition of reserved macroNobuyoshi Nakada2020-03-051-0/+2
| | | | | | ``` warning C4117: macro name '_INTEGRAL_MAX_BITS' is reserved, '#define' ignored ```
* [win32] suppress false warning by mingw gccNobuyoshi Nakada2020-03-041-1/+1
|
* avoid defining inline卜部昌平2020-02-201-1/+1
| | | | | | 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++.
* support C++ std::nullptr_t卜部昌平2020-01-311-0/+3
| | | | | | | 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.
* decouple internal.h headers卜部昌平2019-12-263-0/+8
| | | | | | | | | | | | | | | | | | 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).
* Fixed misspellingsNobuyoshi Nakada2019-12-201-1/+1
| | | | Fixed misspellings reported at [Bug #16437], only in ruby and rubyspec.
* remove prelude.cKoichi Sasada2019-12-111-5/+0
| | | | | | | | | 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.
* Fix `$(RMALL) -r` on WindowsNAKAMURA Usaku2019-11-262-2/+2
| | | | `set recursive=1 &` sets `1 ` to `recursive`, not `1`.
* Turn C4047 warning into errorNobuyoshi Nakada2019-11-201-1/+1
| | | | | | | | | | | 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 ```
* Define NULLCMD as printing NUL [Bug #16331]Nobuyoshi Nakada2019-11-101-1/+1
|
* Define NULLCMD as an empty label [Bug #16331]Nobuyoshi Nakada2019-11-101-0/+1
|
* Fix builtin scirpt pathsNobuyoshi Nakada2019-11-091-3/+0
| | | | | Do not search builtin scripts by using VPATH, to get rid of weird nmake VPATH.
* Add VPATH to rbinc rule for nmakeNobuyoshi Nakada2019-11-081-0/+3
|
* Share test-bundled-gems-run in common.mkNobuyoshi Nakada2019-11-051-7/+0
|
* win32.c: Remove unused calls to StartSockets (#2312)Gabriel Nagy2019-10-111-75/+2
| | | | | | | | 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 <gabriel.nagy@puppet.com>
* Adjusted spaces [ci skip]Nobuyoshi Nakada2019-09-271-1/+1
|
* [EXPERIMENTAL] MakeMakefile::CXX for C++Nobuyoshi Nakada2019-09-181-0/+1
|
* fix CentOS 6 compile error卜部昌平2019-09-101-0/+1
| | | | See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-master/log/20190910T003005Z.fail.html.gz
* Try to fix compile error on win32Kazuhiro NISHIYAMA2019-09-061-0/+2
| | | | | | | | https://github.com/ruby/ruby/runs/213995386#step:7:810 ``` 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 ```
* drop-in type check for rb_define_method卜部昌平2019-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Added license comment [Bug #12230] [ci skip]Nobuyoshi Nakada2019-08-271-0/+1
|