From eaa1c3190a41140c6459dc48c91a19f346c8df74 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sun, 4 Jul 2021 10:45:24 +0900 Subject: [PATCH] [Win32] Fix assembler name when cross compiling Hostx64\x86\nmake.exe sets AS to ml64 which targets amd64, but we need assembler for x86. --- win32/setup.mak | 10 ++++++++-- 1 file 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)