fix(setup): prepare native Windows ARM64 build dependencies
Source activation could not build cryptography because the setup shell could not discover the installed OpenSSL development libraries. Configure Visual Studio ARM64, Clang, Rust, and static OpenSSL before PM runs. Reuse installed tools and install missing prerequisites. Select a classic vcpkg with a ports tree and use an explicit installation root. Report damaged shared libraries without deleting the shared installation. Verified native PowerShell activation and deactivation on Promise, then warm activation with no new dependency generation. Cryptography imported with static OpenSSL. Real vcpkg checks covered installation into a path with spaces, warm reuse, manifest mode, and damaged-package rejection. The canonical Windows runner passed the helper and output-encoding tests. Fresh Visual Studio and Rust installation were not exercised because Promise already had those toolchains installed.
This commit is contained in:
@@ -130,10 +130,17 @@ interpreter or redirect an installed desktop app to this checkout.
|
||||
### Prepare a checkout
|
||||
|
||||
Use an ordinary terminal outside the packaged Hermes app. Leave any existing
|
||||
Python virtual environment first. On Windows, use native PowerShell with Git
|
||||
and the target architecture's C++ build tools available. Dependencies without
|
||||
wheels can also require Rust/Cargo and native libraries. PM does not install
|
||||
those compiler toolchains. POSIX source builds have native build requirements too.
|
||||
Python virtual environment first. On Windows, use native PowerShell with Git.
|
||||
For ARM64, setup checks Visual Studio C++ tools, Clang, native Rust, and static
|
||||
OpenSSL development libraries before PM runs. It reuses existing installations
|
||||
and installs missing prerequisites. Missing Visual Studio components require
|
||||
an Administrator PowerShell. OpenSSL uses vcpkg's `arm64-windows-static-md`
|
||||
triplet. A damaged shared installation produces a repair error, not automatic
|
||||
deletion. Compiler and OpenSSL environment variables apply only to the setup
|
||||
process when you enter through `activate.ps1`.
|
||||
|
||||
Other platforms still require the native compiler tools and libraries needed
|
||||
by dependencies without compatible wheels.
|
||||
|
||||
Clone the repository and select your branch before preparing dependencies:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user