summaryrefslogtreecommitdiff
path: root/win32/Makefile.sub
Commit message (Collapse)AuthorAgeFilesLines
* Use Lrama LALR parser generator instead of Bisonv3_3_0_preview1Yuichiro Kaneko2023-05-121-1/+1
| | | | | https://bugs.ruby-lang.org/issues/19637 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* Add rubyspec-capiext on mswinNobuyoshi Nakada2023-04-211-0/+30
|
* s/MJIT/RJIT/Takashi Kokubun2023-03-061-4/+4
|
* Remove obsoleted mjit_sp_inc.inc.erbTakashi Kokubun2023-03-061-1/+1
|
* 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`
* Reject VS2022 compiler versions with the known bugsNobuyoshi Nakada2023-02-011-2/+0
|
* 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
|
* Win32: Move fallback BASERUBY definitionNobuyoshi Nakada2022-12-101-0/+17
|
* Handle depend files on nmakeNobuyoshi Nakada2022-12-051-0/+3
|
* 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.
* Add support for `sockaddr_un` on Windows. (#6513)Samuel Williams2022-11-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* 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-171-0/+2
| | | | | | | * Auto-generate the release date on version.h from git CommitDate * Generate revision.h on mswin
* Add GMP support for mswinU.Nakamura2022-09-131-0/+6
|
* [win32] Set proper `NULLCMD` in rbconfig.rb [ci skip]Nobuyoshi Nakada2022-09-101-1/+1
|
* [Bug #5317] Use `rb_off_t` instead of `off_t`Nobuyoshi Nakada2022-09-081-0/+4
| | | | Get rid of the conflict with system-provided small `off_t`.
* 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-201-110/+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-121-1/+7
| | | | | | 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.
* 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
|
* Add ABI version to ruby_version tag on WindowsPeter Zhu2022-02-241-1/+1
|
* [MSWin] Tentative measure for a bug of VS2022 [Misc #18362]Nobuyoshi Nakada2022-02-201-0/+2
| | | | | | 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.
* include/ruby/win32.h: define HAVE_X for the missing prototypes (#5456)Yuta Saito2022-01-181-0/+18
|
* 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
|
* Try to fix Windows buildAlan Wu2021-10-201-1/+1
|
* [Win32] Prefer Cryptography Next Generation APINobuyoshi Nakada2021-10-021-1/+1
| | | | | | | | | | | | | [BCryptGenRandom] is available since Windows Vista / Windows Server 2008. Regarding [CryptGenRandom]: > This API is deprecated. New and existing software should start > using Cryptography Next Generation APIs. Microsoft may remove > this API in future releases. [BCryptGenRandom]: https://docs.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom [CryptGenRandom]: https://docs.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-cryptgenrandom
* Ripper source on mswinNobuyoshi Nakada2021-09-211-0/+1
| | | | | * Get rid of command substitution for cmd.exe. * Separate RM1 command to remove single file sans directory.
* Add missing empty macro [ci skip]Nobuyoshi Nakada2021-08-251-0/+1
|
* Group commands on GitHub ActionsNobuyoshi Nakada2021-08-071-0/+8
|
* Revert "Removed extinit.o from main programs"Yusuke Endoh2021-08-051-3/+2
| | | | | | This reverts commit ac86fcbfd0bab8667d277aa575bc5b81e5135d3c. This change broke "--disable-shared --with-static-linked-ext".
* Set ENCSTATIC in rbconfig.rb [Bug #17929]Nobuyoshi Nakada2021-07-061-0/+1
|