summaryrefslogtreecommitdiff
path: root/win32
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* [MSWin] Tentative measure for a bug of VS2022 [Misc #18362]Nobuyoshi Nakada2022-02-202-0/+51
| | | | | | Disable the use of `__assume()`, when combinations of `isnan()`, `isinf()` and `__assume()` will be wrongly optimized due to the bug of VS2022.
* Check if `__assume` is supportedNobuyoshi Nakada2022-02-191-1/+1
|
* Define `HAVE___BUILTIN_UNREACHABLE` instead of `UNREACHABLE`Nobuyoshi Nakada2022-02-191-1/+0
| | | | | `UNREACHABLE` in ruby/internal/has/builtin.h is only used as just a flag now, and redefined in ruby/backward/2/assume.h then.
* [MSWin] Remove stale configuration check [ci skip]Nobuyoshi Nakada2022-02-121-7/+0
| | | | PSAPI library has not been used since d66c5768caaee16a0c2c2c641185.
* Fixed an missing percent in the batch fileNobuyoshi Nakada2022-01-241-1/+1
|
* include/ruby/win32.h: define HAVE_X for the missing prototypes (#5456)Yuta Saito2022-01-182-1/+19
|
* win32/win32.c Fix PROT_EXEC bit flag check for FlushInstrucitonCache()nagachika2021-12-301-1/+1
|
* Fix some bornheadsU.Nakamura2021-12-271-1/+38
|
* Tiny mmap emulation for WindowsU.Nakamura2021-12-271-0/+31
| | | | | | | - prerequisite of supporting YJIT with VC++. - note that now can specfily `--yjit` on mswin64, but not enabled YJIT'ed code because of YJIT requires `OPT_DIRECT_THREADED_CODE` or `OPT_CALL_THREADED_CODE` in `rb_yjit_compile_iseq`.
* Rename --jit to --mjit (#5248)Takashi Kokubun2021-12-131-2/+2
| | | | | | | | | | | | | | | * Rename --jit to --mjit [Feature #18349] * Fix a few more --jit references * Fix MJIT Actions * More s/jit/mjit/ and re-introduce --disable-jit * Update NEWS.md * Fix test_bug_reporter_add
* [MSWin] Stop passing non-numeric string to `exit` commandNobuyoshi Nakada2021-12-021-2/+1
|
* [MSWin] Replace -Zi in DEBUGFLAGS with -Z7 to suppress warningsNobuyoshi Nakada2021-11-261-2/+3
|
* No need to link and install .pdb anymoreAlan Wu2021-11-241-4/+0
| | | | | | | | With /Z7, no .pdb file is generated, so trying to link it during build fails on my machine even though it's okay on CI. By the way, in my local testing, no .pdb is generated in cwd at runtime even without the /Fd option. I guess we can pass it just in case.
* MJIT MSVC: Use /Z7 to avoid PDB write raceAlan Wu2021-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With MSVC, MJIT uses the /Fd option on an installed PDB file when compiling. Combined with the /Zi option, this causes the PDB file to be modified every time MJIT compiles. Concurrent modifications to the same PDB file is known to cause problems. MSVC even has an option, /FS to deal with it. When running MJIT tests in parallel, sometimes this leads to corrupting the PDB file, breaking subsequent compilations. On CI, we get messages like these: rb_mjit_header-3.1.0.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header. To avoid this race, use the /Z7 option when building precompiled header, which asks the compiler to put debug info into the .obj file, eliminating the need for pointing the compiler to the PDB file for the precompiled header. The /Fd option is changed to use a unique path based on the name of the dll output. Because of the /debug linker flag, we generate a PDB file at runtime even though we use /Z7. There are a couple things missing from this change: - Because MJIT uses the interpreter's CFLAGS build option and that contains /Zi, putting /Z7 at the end leads to a build warning - With /Z7 no PDB file is built anymore, so the code for installing the PDB file can be removed There might also be other problems with this change I haven't noticed while developing this change using Github Actions. I don't have a Windows dev environment with Visual Studio so I can't finish this change easily. Please feel free to complete this change if it makes sense. Note: - On master, you can see the PDB file changing with llvm-pdbutil or a simple checksum. There is an age field in the file that is bumped - I'm not sure if users can specify compile flags on MSVC. If they couldn't, maybe it's easier to change MJIT's compile options to use /Z7 when building the precompile header. - MJIT could pass different options at runtime to generate fewer files. Right now it inherits the /DEBUG linker flag which causes a PDB file to be generated at runtime even though /Z7 is used. Relevant MSVC docs: - [/Zi,/Z7](https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format?view=msvc-160) - [/DEBUG](https://docs.microsoft.com/en-us/cpp/build/reference/debug-generate-debug-info?view=msvc-160) - [/FS](https://docs.microsoft.com/en-us/cpp/build/reference/fs-force-synchronous-pdb-writes?view=msvc-160)
* Select including thread impl file at config timeYuta Saito2021-10-301-0/+4
|
* Remove the scraperAaron Patterson2021-10-201-1/+1
| | | | | Now that we're using the jit function entry point, we don't need the scraper. Thank you for your service, scraper. ❤️
* Yet Another Ruby JIT!Jose Narvaez2021-10-201-1/+1
| | | | Renaming uJIT to YJIT. AKA s/ujit/yjit/g.
* Refactor uJIT code into more files for readabilityMaxime Chevalier-Boisvert2021-10-201-1/+1
|