Skip to content

Commit 0bee2fe

Browse files
committed
patch 7.4.1062
Problem: Building with Ruby on MS-Windows requires a lot of arguments. Solution: Make it simpler. (Ken Takata)
1 parent 285bf84 commit 0bee2fe

File tree

3 files changed

+48
-6
lines changed

3 files changed

+48
-6
lines changed

src/Make_cyg_ming.mak

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,10 +319,14 @@ ifndef RUBY_INSTALL_NAME
319319
ifeq ($(RUBY_VER), 16)
320320
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
321321
else
322+
ifndef RUBY_MSVCRT_NAME
323+
# Base name of msvcrXX.dll which is used by ruby's dll.
324+
RUBY_MSVCRT_NAME = msvcrt
325+
endif
322326
ifeq ($(ARCH),x86-64)
323-
RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
327+
RUBY_INSTALL_NAME = x64-$(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER)
324328
else
325-
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
329+
RUBY_INSTALL_NAME = $(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER)
326330
endif
327331
endif
328332
endif

src/Make_mvc.mak

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -394,8 +394,24 @@ OUTDIR=$(OBJDIR)
394394

395395
!if $(MSVCVER) < 1900
396396
MSVC_MAJOR = ($(MSVCVER) / 100 - 6)
397+
MSVCRT_VER = ($(MSVCVER) / 10 - 60)
397398
!else
398399
MSVC_MAJOR = ($(MSVCVER) / 100 - 5)
400+
MSVCRT_VER = ($(MSVCVER) / 10 - 50)
401+
!endif
402+
403+
# Calculate MSVCRT_VER
404+
!if [(set /a MSVCRT_VER="$(MSVCRT_VER)" > nul) && set MSVCRT_VER > msvcrtver.~] == 0
405+
!include msvcrtver.~
406+
!if [del msvcrtver.~]
407+
!endif
408+
!endif
409+
410+
# Base name of the msvcrXX.dll
411+
!if $(MSVCRT_VER) <= 60
412+
MSVCRT_NAME = msvcrt
413+
!else
414+
MSVCRT_NAME = msvcr$(MSVCRT_VER)
399415
!endif
400416

401417
!if $(MSVC_MAJOR) == 6
@@ -858,19 +874,39 @@ RUBY_API_VER = $(RUBY_VER_LONG:.=)
858874
!endif
859875

860876
!if $(RUBY_VER) >= 18
877+
861878
!ifndef RUBY_PLATFORM
879+
!if "$(CPU)" == "i386"
862880
RUBY_PLATFORM = i386-mswin32
863-
!endif
881+
!else # CPU
882+
RUBY_PLATFORM = x64-mswin64
883+
!endif # CPU
884+
!if $(MSVCRT_VER) >= 70
885+
RUBY_PLATFORM = $(RUBY_PLATFORM)_$(MSVCRT_VER)
886+
!endif # MSVCRT_VER
887+
!endif # RUBY_PLATFORM
888+
864889
!ifndef RUBY_INSTALL_NAME
865-
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
866-
!endif
867-
!else
890+
!ifndef RUBY_MSVCRT_NAME
891+
# Base name of msvcrXX.dll which is used by ruby's dll.
892+
RUBY_MSVCRT_NAME = $(MSVCRT_NAME)
893+
!endif # RUBY_MSVCRT_NAME
894+
!if "$(CPU)" == "i386"
895+
RUBY_INSTALL_NAME = $(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER)
896+
!else # CPU
897+
RUBY_INSTALL_NAME = x64-$(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER)
898+
!endif # CPU
899+
!endif # RUBY_INSTALL_NAME
900+
901+
!else # $(RUBY_VER) >= 18
902+
868903
!ifndef RUBY_PLATFORM
869904
RUBY_PLATFORM = i586-mswin32
870905
!endif
871906
!ifndef RUBY_INSTALL_NAME
872907
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
873908
!endif
909+
874910
!endif # $(RUBY_VER) >= 18
875911

876912
!message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)"

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -741,6 +741,8 @@ static char *(features[]) =
741741

742742
static int included_patches[] =
743743
{ /* Add new patch number below this line */
744+
/**/
745+
1062,
744746
/**/
745747
1061,
746748
/**/

0 commit comments

Comments
 (0)