diff options
author | Dennis Ameling <dennis@dennisameling.com> | 2020-06-22 12:22:42 +0300 |
---|---|---|
committer | João Reis <reis@janeasystems.com> | 2020-08-20 02:41:54 +0300 |
commit | 03293aa3a1e810c5ae6938cae41bf62ae418bb5f (patch) | |
tree | 6d743e2f59a4c11f2b9e132d647f9d68f0d7874d /vcbuild.bat | |
parent | 5acc69cdad3c8f1670f5eeeaa4c8ffa8b86bf6b3 (diff) |
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.bat | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/vcbuild.bat b/vcbuild.bat index eb7bc0d74ec..527de7ee396 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 |