Issue #17845 has been updated by MSP-Greg (Greg L).


MinGW `msvcrt` packages have a prefix of `mingw-w64-x86_64`,
MinGW `=A0ucrt=A0` packages have a prefix of `mingw-w64-ucrt-x86_64`.

----------------------------------------
Misc #17845: Windows Ruby - ucrt build?
https://bugs.ruby-lang.org/issues/17845#change-91781

* Author: MSP-Greg (Greg L)
* Status: Open
* Priority: Normal
----------------------------------------
Currently, Windows Ruby is normally compiled two ways.

The first, mswin, is compiled using Microsoft's current Visual C compiler, =
and links to the universal runtime (ucrt).

The second, mingw, is compiled using MinGW gcc.  This links to msvcrt, an o=
lder version of Microsoft's Visual C runtime.

Previously, all the MSYS2 MinGW packages linked to msvcrt.  The MSYS2 proje=
ct is now releasing build tools and packages linking to ucrt.

MSYS2 has provided ruby packages, and GitHub user @Biswa96 contributed http=
s://github.com/msys2/MINGW-packages/pull/8518, allowing Ruby to compile wit=
h ucrt.

I tried the patch with ruby-loco, and it builds.  There are some test issue=
s, haven't had a chance to look at them yet.

Normally, using exe/dll/so files together that use different versions of th=
e runtime is not a good idea.  Building extension gems with ucrt may provid=
e gems that can be used with mswin, but can't be compiled due to issues wit=
h Visual C (vs gcc).  Also, packages from the vcpkg project may be compatib=
le with Ruby ucrt.

The reason for this post is that Windows Ruby built with ucrt is essentiall=
y another platform, but the build 'looks like' a mingw build.

This is really a third platform choice.  What should it be called? Things l=
ike `CONFIG['RUBY_SO_NAME']`, `RUBY_PLATFORM`, etc?



-- =

https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=3Dunsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>