# HG changeset patch # User Bram Moolenaar # Date 1643635804 -3600 # Node ID c7e18e99dbe83feea76309a952f575981aa03429 # Parent 0226a849fd5bc9c85461079091fb55dae1a11bb7 patch 8.2.4271: MS-Windows: cannot build with Ruby 3.1.0 Commit: https://github.com/vim/vim/commit/1f47a287ee4f8b1d007dff878b23dd0cd6104f38 Author: K.Takata Date: Mon Jan 31 13:25:36 2022 +0000 patch 8.2.4271: MS-Windows: cannot build with Ruby 3.1.0 Problem: MS-Windows: cannot build with Ruby 3.1.0. Solution: Adjust the DLL name and include directory. (Ken Takata, closes #9666) diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak --- a/src/Make_cyg_ming.mak +++ b/src/Make_cyg_ming.mak @@ -466,6 +466,8 @@ RUBY_PLATFORM = i586-mswin32 RUBY_PLATFORM = i386-mingw32 else ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_API_VER_LONG)/x64-mingw32),) RUBY_PLATFORM = x64-mingw32 + else ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_API_VER_LONG)/x64-mingw-ucrt),) +RUBY_PLATFORM = x64-mingw-ucrt else RUBY_PLATFORM = i386-mswin32 endif @@ -479,7 +481,9 @@ RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_A # Base name of msvcrXX.dll which is used by ruby's dll. RUBY_MSVCRT_NAME = msvcrt endif - ifeq ($(ARCH),x86-64) + ifeq ($(RUBY_PLATFORM),x64-mingw-ucrt) +RUBY_INSTALL_NAME = x64-ucrt-ruby$(RUBY_API_VER) + else ifeq ($(ARCH),x86-64) RUBY_INSTALL_NAME = x64-$(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) else RUBY_INSTALL_NAME = $(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -1186,7 +1186,11 @@ RUBY_MSVCRT_NAME = $(MSVCRT_NAME) ! if "$(CPU)" == "i386" RUBY_INSTALL_NAME = $(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) ! else # CPU +! if EXIST($(RUBY)/lib/ruby/$(RUBY_API_VER_LONG)/x64-mingw-ucrt) +RUBY_INSTALL_NAME = x64-ucrt-ruby$(RUBY_API_VER) +! else RUBY_INSTALL_NAME = x64-$(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) +! endif ! endif # CPU ! endif # RUBY_INSTALL_NAME diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4271, +/**/ 4270, /**/ 4269,