aboutsummaryrefslogtreecommitdiffstats
path: root/win32
Commit message (Collapse)AuthorAgeFilesLines
* Extract include/ruby/internal/attr/packed_struct.hNobuyoshi Nakada2023-02-081-8/+2
| | | | | | | | | Split `PACKED_STRUCT` and `PACKED_STRUCT_UNALIGNED` macros into the macros bellow: * `RBIMPL_ATTR_PACKED_STRUCT_BEGIN` * `RBIMPL_ATTR_PACKED_STRUCT_END` * `RBIMPL_ATTR_PACKED_STRUCT_UNALIGNED_BEGIN` * `RBIMPL_ATTR_PACKED_STRUCT_UNALIGNED_END`
* [DOC] Merge README.win32 to doc/windows.mdNobuyoshi Nakada2023-02-021-149/+0
|
* Reject VS2022 compiler versions with the known bugsNobuyoshi Nakada2023-02-012-5/+4
|
* Windows: Prefer USERPROFILE over HOMEPATHLars Kanis2022-12-241-9/+9
| | | | | | | | | HOMEPATH is set to "\WINDOWS\system32" when running per "runas" session. This directory is not writable by ordinary users, leading to errors with many ruby tools. Also config files in the home directory are not recognized. Still keeping HOME at first which is not used by native Windows, but by ruby specs and by MSYS2 environment.
* Windows: Fix encoding of Dir.homeLars Kanis2022-12-241-1/+2
| | | | | | | Dir.home returns an UTF-8 string since ruby-3.0, but the actual encoding of the bytes was CP_ACP or CP_OEMCP. That led to invalid bytes when calling Dir.home with an unicode username.
* Win32: add dependency of revision.hNobuyoshi Nakada2022-12-211-0/+4
| | | | | When out-of-place build, and revision.h does not exist in the source directory, `VPATH` fallbacks to the current directory.
* MSVS lacks `touch` [ci skip]Nobuyoshi Nakada2022-12-201-0/+1
|
* Add more comments why CRuby uses __pioinfoNARUSE, Yui2022-12-151-0/+12
|
* Win32: Move fallback BASERUBY definitionNobuyoshi Nakada2022-12-102-12/+17
|
* Handle depend files on nmakeNobuyoshi Nakada2022-12-051-0/+3
|
* Use class methods of `File` over `Kernel.open` and `IO.read`Nobuyoshi Nakada2022-12-011-1/+1
|
* MJIT: Rename mjit_compile_attr to mjit_sp_incTakashi Kokubun2022-11-291-1/+1
| | | | There's no mjit_compile.inc, so no need to use this prefix anymore.
* Use `rb_sprintf` instead of deprecated `sprintf`Nobuyoshi Nakada2022-11-251-4/+6
|
* Use class methods of `File` over `Kernel.open` and `IO.read`Nobuyoshi Nakada2022-11-211-1/+1
|
* Avoid warnings on MINGW:Lars Kanis2022-11-201-0/+4
| | | | | | | | | | | | | win32/win32.c: In function 'rtc_error_handler': win32/win32.c:691:5: warning: function 'rtc_error_handler' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 691 | rb_str_vcatf(str, fmt, ap); | ^~~~~~~~~~~~ and win32/win32.c:683:1: warning: 'rtc_error_handler' defined but not used [-Wunused-function] 683 | rtc_error_handler(int e, const char *src, int line, const char *exe, const char *fmt, ...) | ^~~~~~~~~~~~~~~~~
* Add support for `sockaddr_un` on Windows. (#6513)Samuel Williams2022-11-173-19/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Windows: Fix warning about undefined if_indextoname() * Windows: Fix UNIXSocket on MINGW and make .pair more reliable * Windows: Use nonblock=true for read tests with scheduler * Windows: Move socket detection from File.socket? to File.stat Add S_IFSOCK to Windows and interpret reparse points accordingly. Enable tests that work now. * Windows: Use wide-char functions to UNIXSocket This fixes behaviour with non-ASCII characters. It also fixes deletion of temporary UNIXSocket.pair files. * Windows: Add UNIXSocket tests for specifics of Windows impl. * Windows: fix VC build due to missing _snwprintf Avoid usage of _snwprintf, since it fails linking ruby.dll like so: linking shared-library x64-vcruntime140-ruby320.dll x64-vcruntime140-ruby320.def : error LNK2001: unresolved external symbol snwprintf x64-vcruntime140-ruby320.def : error LNK2001: unresolved external symbol vsnwprintf_l whereas linking miniruby.exe succeeds. This patch uses snprintf on the UTF-8 string instead. Also remove branch GetWindowsDirectoryW, since it doesn't work. * Windows: Fix dangling symlink test failures Co-authored-by: Lars Kanis <kanis@comcard.de>
* Windows: Readlink improvements (#6745)Lars Kanis2022-11-173-63/+20
| | | | | | | | | | | | | | | | | | | * Windows: Use readlink emulation for File.readlink This fixes readlink emulation for the ERROR_MORE_DATA case and general error reporting. It now releases GVL while readlink IO operation. The dedicated rb_readlink was introduced in commit 2ffb87995a33cdc7ba609a4b867f03f18da0c3b3 in order to improve encoding and buffer allocation. However the encoding issues are solved since ruby-3.0 switched to UTF-8 and the buffer allocation will be improved in a later commit. * Windows: Increase the default buffer size for reparse point info So far nearly all queries of reparse points needed two attempts to get enough buffer. * Windows: Remove declaration of rb_w32_wreadlink It was removed in commit 2f6fdd3aebdee2ce04d003b206f6da78120e8235
* [win32] Only include base windows typesJosh Cooper2022-10-261-1/+1
| | | | | | esent.h is the header for MS essential storage engine (JET) which is not needed in ruby. basetsd.h has existed since _MSC_VER >= 1200 (VS 6.0) and is the preferred header to use for WCHAR.
* Demote mjit_instruction.rb from builtin to stdlibTakashi Kokubun2022-09-181-4/+0
|
* Always generate non-empty revision.hTakashi Kokubun2022-09-171-2/+0
| | | | | | | | | | Non-GNU make seems to generate empty revision.h, but it doesn't make sense since https://github.com/ruby/ruby/pull/6382. Also the $(HAVE_BASERUBY:yes=tmp) hack doesn't seem to be working on OpenBSD. I'll remove it to focus on fixing RubyCI first, and then deal with baseruby-missing environments. At least a snapshot should have revision.h and it might work fine though.
* Auto-generate the release date on version.h from git CommitDate (#6382)Takashi Kokubun2022-09-172-0/+3
| | | | | | | * Auto-generate the release date on version.h from git CommitDate * Generate revision.h on mswin
* Add GMP support for mswinU.Nakamura2022-09-133-0/+17
|
* [win32] Set proper `NULLCMD` in rbconfig.rb [ci skip]Nobuyoshi Nakada2022-09-101-1/+1
|
* eliminate magic numberYO42022-09-091-1/+1
|
* win32.c additional fix: is_readable_consoleYO42022-09-091-0/+5
| | | | | classic console(conhost.exe) reports an input with ALT+NUMPAD as VK_MENU, KeyUp, and uChar!=0. additional fix for #5634
* win32.c fix: is_readable_consoleYO42022-09-091-1/+1
| | | | | UnicodeChar with lower byte == 0 has dropped accidentaly this is additional fix for #5634
* [Bug #5317] Use `rb_off_t` instead of `off_t`Nobuyoshi Nakada2022-09-082-8/+12
| | | | Get rid of the conflict with system-provided small `off_t`.
* [MSWin] Fix for non-Windows (cygwin/msys) BASERUBYNobuyoshi Nakada2022-09-081-0/+1
|
* [MSWin] Disable rubygems of BASERUBYNobuyoshi Nakada2022-09-081-1/+1
|
* Define BOOTSTRAPRUBY from HAVE_BASERUBYNobuyoshi Nakada2022-09-071-2/+4
|
* Ensure BASERUBY when cross-compilingNobuyoshi Nakada2022-09-071-0/+8
|
* Ruby MJIT (#6028)Takashi Kokubun2022-09-041-1/+5
|
* Make sources by BASERUBY if available instead of minirubyNobuyoshi Nakada2022-09-031-2/+8
|
* Move duplicate dependenciesNobuyoshi Nakada2022-09-031-2/+0
|
* [Win32] Use `exit` instead of `type` [ci skip]Nobuyoshi Nakada2022-08-281-1/+1
| | | | | `exit` command ignores the rest arguments after an exit code, while `type` command tries to read all as files.
* Drop mswin support of MJIT (#6265)Takashi Kokubun2022-08-203-123/+1
| | | | | | | The current MJIT relies on SIGCHLD and fork(2) to be performant, and it's something mswin can't offer. You could run Linux MJIT on WSL instead. [Misc #18968]
* Stop defining `RUBY_ABI_VERSION` if released versionsNobuyoshi Nakada2022-08-122-2/+10
| | | | | | As commented in include/ruby/internal/abi.h, since teeny versions of Ruby should guarantee ABI compatibility, `RUBY_ABI_VERSION` has no role in released versions of Ruby.
* Add `--enable-devel` configure optionNobuyoshi Nakada2022-08-112-1/+15
| | | | | Since `RUBY_DEVEL` in cppflags has no effect in the configure script and makefiles.
* Adjust styles [ci skip]Nobuyoshi Nakada2022-08-061-2/+4
|
* Expand tabs [ci skip]Takashi Kokubun2022-07-213-3150/+3150
| | | | [Misc #18891]
* Rename ENCINDEX_ASCII to ENCINDEX_ASCII_8BITJean Boussier2022-07-191-3/+3
| | | | Otherwise it's way too easy to confuse it with US_ASCII.
* [Win32] allow pipe in flockNobuyoshi Nakada2022-04-211-7/+3
|
* [Win32] Fix mode of character/pipe device stat [Bug #18732]Nobuyoshi Nakada2022-04-151-6/+16
|
* Get rid of type-punning pointer castsNobuyoshi Nakada2022-04-071-1/+1
|
* Load fake.rb at `BTESTRUBY`Nobuyoshi Nakada2022-04-051-1/+1
| | | | | So that `mkmf` checks work from `make run`, and also remove duplicate `$(MINIRUBYOPT)` which is used in `$(MINIRUBY)`.
* [Bug #18667] Define RUBY_API_VERSION on WindowsPeter Zhu2022-03-301-1/+1
| | | | | | On other platforms, RUBY_SO_NAME is defined from RUBY_API_VERSION. ruby_version contains the ABI version, which is not needed. RUBY_API_VERSION is defined as MAJOR.MINOR.
* Need to reconfigure and rebuild everything when abi.h changedNobuyoshi Nakada2022-03-231-0/+3
|
* Avoid console input behavior in windows 10 [Bug #18588]YO42022-03-161-3/+3
| | | | | | | When ANSI versions of PeekConsoleInput read multibyte charactor partially, subsequent ReadFile returns wrong data on newer Windows 10 versions (probably since Windows Terminal introduced). To avoid this, use Unicode version of of PeekConsoleInput/ReadConsole.
* [MSWin] Allow gems with VS2022 for VS2019 build ruby [Misc #18362]Nobuyoshi Nakada2022-03-021-1/+4
| | | | | Although not sure if it is really compatible, let’s give it a try.
* Add ABI version to ruby_version tag on WindowsPeter Zhu2022-02-242-1/+2
|