Skip to content

Commit a9a596e

Browse files
committed
Add support for Windows ARM64
1 parent acd9d48 commit a9a596e

File tree

19 files changed

+711
-202
lines changed

19 files changed

+711
-202
lines changed

.cargo/config.toml

+3
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ rustflags = ["-Ctarget-feature=+crt-static"]
33

44
[target.i686-pc-windows-msvc]
55
rustflags = ["-Ctarget-feature=+crt-static"]
6+
7+
[target.aarch64-pc-windows-msvc]
8+
rustflags = ["-Ctarget-feature=+crt-static"]

BuildInstructions.md

+26
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,21 @@ The host has to have the following installed:
110110

111111
[Git for Windows]: https://git-scm.com/download/win
112112

113+
### Experimental: Cross-compiling for ARM64
114+
115+
By default, the app will build for the host platform. It is also possible to cross-compile the app
116+
for ARM64 on x64. This requires:
117+
118+
- The ARM64 MSVC tools added to Visual Studio.
119+
120+
- `clang` (either directly from llvm.org or as part of Visual Studio) on the `PATH`.
121+
122+
- The `AArch64` target added to Rust:
123+
124+
```bash
125+
rustup target add aarch64-pc-windows-msvc
126+
```
127+
113128
## macOS
114129

115130
The host has to have the following installed:
@@ -146,6 +161,17 @@ variable to `aarch64-unknown-linux-gnu`:
146161
TARGETS="aarch64-unknown-linux-gnu" ./build.sh
147162
```
148163

164+
### Experimental: Windows
165+
166+
ARM64 Windows is not yet fully working or supported.
167+
168+
To cross-compile for ARM64 rather than the current architecture, set the `TARGETS` environment
169+
variable to `aarch64-pc-windows-msvc`:
170+
171+
```bash
172+
TARGETS="aarch64-pc-windows-msvc" ./build.sh
173+
```
174+
149175
## Notes on building on ARM64 Linux hosts
150176

151177
Due to inability to build the management interface proto files on ARM64 (see

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ This release is identical to 2024.4-beta1.
5353
#### macOS
5454
- Add support for split tunneling (beta).
5555

56+
#### Windows
57+
- Add experimental support for Windows ARM64.
58+
5659
### Changed
5760
- Update Electron from 28.1.3 to 30.0.4.
5861

0 commit comments

Comments
 (0)