summaryrefslogtreecommitdiff
path: root/vcbuild.bat
diff options
context:
space:
mode:
authorDennis Ameling <dennis@dennisameling.com>2020-06-22 11:22:42 +0200
committerJoão Reis <reis@janeasystems.com>2020-08-20 00:41:54 +0100
commit03293aa3a1e810c5ae6938cae41bf62ae418bb5f (patch)
tree6d743e2f59a4c11f2b9e132d647f9d68f0d7874d /vcbuild.bat
parent5acc69cdad3c8f1670f5eeeaa4c8ffa8b86bf6b3 (diff)
downloadnode-new-03293aa3a1e810c5ae6938cae41bf62ae418bb5f.tar.gz
build,win: use x64 Node when building for ARM64
Uses x64 node executable for running .js files in arm64 cross-compilation scenarios. MSI can now be created by running `vcbuild.bat release msi arm64` Refs: https://github.com/nodejs/node/issues/25998 Refs: https://github.com/nodejs/node/issues/32582 PR-URL: https://github.com/nodejs/node/pull/34009 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com>
Diffstat (limited to 'vcbuild.bat')
-rw-r--r--vcbuild.bat21
1 files changed, 20 insertions, 1 deletions
diff --git a/vcbuild.bat b/vcbuild.bat
index eb7bc0d74e..527de7ee39 100644
--- a/vcbuild.bat
+++ b/vcbuild.bat
@@ -362,7 +362,26 @@ if errorlevel 1 echo Failed to sign exe&goto exit
@rem Skip license.rtf generation if not requested.
if not defined licensertf goto stage_package
-%node_exe% tools\license2rtf.js < LICENSE > %config%\license.rtf
+set "use_x64_node_exe=false"
+if "%target_arch%"=="arm64" if "%PROCESSOR_ARCHITECTURE%"=="AMD64" set "use_x64_node_exe=true"
+if "%use_x64_node_exe%"=="true" (
+ echo Cross-compilation to ARM64 detected. We'll use the x64 Node executable for license2rtf.
+ if not defined "%x64_node_exe%" set "x64_node_exe=temp-vcbuild\node-x64-cross-compiling.exe"
+ if not exist "%x64_node_exe%" (
+ echo Downloading x64 node.exe...
+ if not exist "temp-vcbuild" mkdir temp-vcbuild
+ powershell -c "Invoke-WebRequest -Uri 'https://nodejs.org/dist/latest/win-x64/node.exe' -OutFile 'temp-vcbuild\node-x64-cross-compiling.exe'"
+ )
+ if not exist "%x64_node_exe%" (
+ echo Could not find the Node executable at the given x64_node_exe path. Aborting.
+ set exit_code=1
+ goto exit
+ )
+ %x64_node_exe% tools\license2rtf.js < LICENSE > %config%\license.rtf
+) else (
+ %node_exe% tools\license2rtf.js < LICENSE > %config%\license.rtf
+)
+
if errorlevel 1 echo Failed to generate license.rtf&goto exit
:stage_package