summaryrefslogtreecommitdiff
path: root/win32/Makefile.sub
AgeCommit message (Collapse)Author
2024-03-31Manage required baseruby version in one placeNobuyoshi Nakada
Add a Ruby script mode to `tool/missing-baseruby.bat` that checks if `RUBY_VERSION` meets the required version. This will enable similar checks on mswin as well.
2024-03-13Embed manifest with VS2013 or laterNobuyoshi Nakada
Since VS2013, `link.exe` supports `-manifest:embed` option. [`/MANIFEST` (Create side-by-side assembly manifest)](https://learn.microsoft.com/en-us/cpp/build/reference/manifest-create-side-by-side-assembly-manifest?view=msvc-170&viewFallbackFrom=msvc-120)
2024-02-11Win32: Use `TARGET_OS` for word-sizeNobuyoshi Nakada
It is derived from `_WIN64` pre-defined macro, at `-osname-` in win32/setup.mak.
2024-02-11Win32: Copy coroutine no longer existsNobuyoshi Nakada
At 42130a64f02294dc8025af3a51bda518c67ab33d, it has been replaced with pthread implementation.
2024-02-11Win32: Define `HAVE_INTTYPES_H`Nobuyoshi Nakada
Suppress redefinition warnings, inttypes.h has been provided as well as stdint.h since `_MSC_VER` 1600 (= Visual C++ 10.0 = Visual Studio 2010). ``` C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(123): warning C4005: 'PRIdPTR': macro redefinition D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(51): note: see previous definition of 'PRIdPTR' C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(142): warning C4005: 'PRIiPTR': macro redefinition D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(52): note: see previous definition of 'PRIiPTR' C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(161): warning C4005: 'PRIoPTR': macro redefinition D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(53): note: see previous definition of 'PRIoPTR' C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(180): warning C4005: 'PRIuPTR': macro redefinition D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(54): note: see previous definition of 'PRIuPTR' C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(199): warning C4005: 'PRIxPTR': macro redefinition D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(55): note: see previous definition of 'PRIxPTR' C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(218): warning C4005: 'PRIXPTR': macro redefinition D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(56): note: see previous definition of 'PRIXPTR' ```
2023-11-09[Bug #18286] Make builtin binary if sharable in universal binariesNobuyoshi Nakada
2023-09-27Rename YARP symbols to prismKevin Newton
2023-09-21Move YARP_BUILD_DIR to common.mkNobuyoshi Nakada
It does not need to be an absolute path.
2023-08-18Revert "Fix tool/update-deps for YARP files"Takashi Kokubun
This reverts commit 6fff5c5ba23a2790c9d189de82e157c9fa986f96. Revert "Use $(top_srcdir) entries for mswin (#8244)" This reverts commit e327bf32bdfa610a0f1834048bb1422de992c073. Revert "Update dependencies" This reverts commit aba26a88040c322a188292447fd18a2b9c76c713. Revert "Use {$(VPATH)} for OpenBSD" This reverts commit 2046e054bc811fd6a8e30c926aa6c9c4a5884262. --- None of those revisions actually worked for both mswin and OpenBSD at the same time. I need more time to build something that works for both.
2023-08-18Use $(top_srcdir) entries for mswin (#8244)Takashi Kokubun
While the $(VPATH) rules live in common.mk, mswin seems to ignore them. We need to use $(VPATH) for OpenBSD, but we need to use the other one for mswin. Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-08-15Use `::` form workflow commandsNobuyoshi Nakada
2023-07-27Clean up OPT_STACK_CACHING (#8132)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-06-21[Feature #19741] Add yarp to buildsJemma Issroff
Add yarp to common.mk and windows builds to enable us to run yarp correctly with CI. Notes: Merged: https://github.com/ruby/ruby/pull/7964
2023-06-02Fix the case no file under bin directoryNobuyoshi Nakada
NMake cannot handle empty expanded targets.
2023-05-12Use Lrama LALR parser generator instead of Bisonv3_3_0_preview1Yuichiro Kaneko
https://bugs.ruby-lang.org/issues/19637 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/7798 Merged-By: yui-knk <spiketeika@gmail.com>
2023-04-21Add rubyspec-capiext on mswinNobuyoshi Nakada
2023-03-06s/MJIT/RJIT/Takashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/7462
2023-03-06Remove obsoleted mjit_sp_inc.inc.erbTakashi Kokubun
2023-02-08Extract include/ruby/internal/attr/packed_struct.hNobuyoshi Nakada
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` Notes: Merged: https://github.com/ruby/ruby/pull/7268
2023-02-01Reject VS2022 compiler versions with the known bugsNobuyoshi Nakada
2022-12-21Win32: add dependency of revision.hNobuyoshi Nakada
When out-of-place build, and revision.h does not exist in the source directory, `VPATH` fallbacks to the current directory.
2022-12-20MSVS lacks `touch` [ci skip]Nobuyoshi Nakada
2022-12-10Win32: Move fallback BASERUBY definitionNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6898
2022-12-05Handle depend files on nmakeNobuyoshi Nakada
2022-11-29MJIT: Rename mjit_compile_attr to mjit_sp_incTakashi Kokubun
There's no mjit_compile.inc, so no need to use this prefix anymore.
2022-11-17Add support for `sockaddr_un` on Windows. (#6513)Samuel Williams
* 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> Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-09-18Demote mjit_instruction.rb from builtin to stdlibTakashi Kokubun
2022-09-17Always generate non-empty revision.hTakashi Kokubun
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.
2022-09-17Auto-generate the release date on version.h from git CommitDate (#6382)Takashi Kokubun
* Auto-generate the release date on version.h from git CommitDate * Generate revision.h on mswin Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-09-13Add GMP support for mswinU.Nakamura
2022-09-10[win32] Set proper `NULLCMD` in rbconfig.rb [ci skip]Nobuyoshi Nakada
2022-09-08[Bug #5317] Use `rb_off_t` instead of `off_t`Nobuyoshi Nakada
Get rid of the conflict with system-provided small `off_t`. Notes: Merged: https://github.com/ruby/ruby/pull/6329
2022-09-07Define BOOTSTRAPRUBY from HAVE_BASERUBYNobuyoshi Nakada
2022-09-07Ensure BASERUBY when cross-compilingNobuyoshi Nakada
2022-09-04Ruby MJIT (#6028)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-09-03Make sources by BASERUBY if available instead of minirubyNobuyoshi Nakada
2022-09-03Move duplicate dependenciesNobuyoshi Nakada
2022-08-28[Win32] Use `exit` instead of `type` [ci skip]Nobuyoshi Nakada
`exit` command ignores the rest arguments after an exit code, while `type` command tries to read all as files.
2022-08-20Drop mswin support of MJIT (#6265)Takashi Kokubun
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] Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-08-12Stop defining `RUBY_ABI_VERSION` if released versionsNobuyoshi Nakada
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. Notes: Merged: https://github.com/ruby/ruby/pull/6231
2022-04-05Load fake.rb at `BTESTRUBY`Nobuyoshi Nakada
So that `mkmf` checks work from `make run`, and also remove duplicate `$(MINIRUBYOPT)` which is used in `$(MINIRUBY)`. Notes: Merged: https://github.com/ruby/ruby/pull/5747
2022-03-30[Bug #18667] Define RUBY_API_VERSION on WindowsPeter Zhu
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. Notes: Merged: https://github.com/ruby/ruby/pull/5736
2022-03-23Need to reconfigure and rebuild everything when abi.h changedNobuyoshi Nakada
2022-02-24Add ABI version to ruby_version tag on WindowsPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/5595
2022-02-20[MSWin] Tentative measure for a bug of VS2022 [Misc #18362]Nobuyoshi Nakada
Disable the use of `__assume()`, when combinations of `isnan()`, `isinf()` and `__assume()` will be wrongly optimized due to the bug of VS2022. Notes: Merged: https://github.com/ruby/ruby/pull/5579
2022-02-19Check if `__assume` is supportedNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5577
2022-02-19Define `HAVE___BUILTIN_UNREACHABLE` instead of `UNREACHABLE`Nobuyoshi Nakada
`UNREACHABLE` in ruby/internal/has/builtin.h is only used as just a flag now, and redefined in ruby/backward/2/assume.h then. Notes: Merged: https://github.com/ruby/ruby/pull/5577
2022-01-18include/ruby/win32.h: define HAVE_X for the missing prototypes (#5456)Yuta Saito
Notes: Merged-By: kateinoigakukun
2021-12-13Rename --jit to --mjit (#5248)Takashi Kokubun
* 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 Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2021-12-02[MSWin] Stop passing non-numeric string to `exit` commandNobuyoshi Nakada