summaryrefslogtreecommitdiff
path: root/win32/setup.mak
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-07-04 10:45:24 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-07-04 11:17:01 +0900
commiteaa1c3190a41140c6459dc48c91a19f346c8df74 (patch)
tree15c0401c20693c2d00ae07318500006ac35a7912 /win32/setup.mak
parentac6924e10eed6a0747ed61f53d793b2611a5f72f (diff)
downloadruby-eaa1c3190a41140c6459dc48c91a19f346c8df74.tar.gz
[Win32] Fix assembler name when cross compiling
Hostx64\x86\nmake.exe sets AS to ml64 which targets amd64, but we need assembler for x86.
Diffstat (limited to 'win32/setup.mak')
-rw-r--r--win32/setup.mak10
1 files changed, 8 insertions, 2 deletions
diff --git a/win32/setup.mak b/win32/setup.mak
index 0f6b26d53a..5294a49ee9 100644
--- a/win32/setup.mak
+++ b/win32/setup.mak
@@ -22,7 +22,6 @@ MAKEFILE = Makefile
CPU = PROCESSOR_LEVEL
CC = $(CC) -nologo
CPP = $(CC) -EP
-AS = $(AS) -nologo
all: -prologue- -generic- -epilogue-
i386-mswin32: -prologue- -i386- -epilogue-
@@ -237,8 +236,15 @@ MACHINE = x86
# RFLAGS = -r
# EXTLIBS =
CC = $(CC)
-AS = $(AS)
+!if "$(AS)" != "ml64"
+AS = $(AS) -nologo
+!endif
<<
+!if "$(AS)" == "ml64"
+ @(findstr -r -c:"^MACHINE *= *x86" $(MAKEFILE) > nul && \
+ (echo AS = $(AS:64=) -nologo) || \
+ (echo AS = $(AS) -nologo) ) >>$(MAKEFILE)
+!endif
@(for %I in (cl.exe) do @set MJIT_CC=%~$$PATH:I) && (call echo MJIT_CC = "%MJIT_CC:\=/%" -nologo>>$(MAKEFILE))
@type << >>$(MAKEFILE)