summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--BUILDING.md2
-rw-r--r--vcbuild.bat21
3 files changed, 25 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 55152e1317..65caf766e9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -131,6 +131,9 @@ _UpgradeReport_Files/
# Ignore dependencies fetched by deps/v8/tools/node/fetch_deps.py
/deps/.cipd
+# === Rules for Windows vcbuild.bat ===
+/temp-vcbuild
+
# === Global Rules ===
# Keep last to avoid being excluded
*.pyc
diff --git a/BUILDING.md b/BUILDING.md
index bdf74da21f..00f45ccc77 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -544,6 +544,8 @@ Optional requirements to build the MSI installer package:
* The [WiX Toolset v3.11](https://wixtoolset.org/releases/) and the
[Wix Toolset Visual Studio 2019 Extension](https://marketplace.visualstudio.com/items?itemName=WixToolset.WixToolsetVisualStudio2019Extension).
+* The [WiX Toolset v3.14](https://wixtoolset.org/releases/) if
+ building for Windows 10 on ARM (ARM64).
Optional requirements for compiling for Windows 10 on ARM (ARM64):
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