Replies: 1 comment 3 replies
-
At least please make the bootstrapping script complain about |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Is your feature request related to a problem? Please describe.
Currently, bootstrapping and running vcpkg on an aarch64 Linux system requires using system binaries, including setting the
VCPKG_FORCE_SYSTEM_BINARIES
environment variable, which adds a bit of friction to getting vcpkg working.Proposed solution
Looking through
scripts/vcpkgTools.xml
, I noticed it has download links for a number of tools but doesn't specify the architecture. The first (and biggest) step would be updating the file to include architecture information for each entry. If there are any actual x86 win32 users still out there, this could also enable giving a better warning when fetching the Windows ninja binary, which targets x86_64 and not win32 like most of the other binaries in the vcpkgTools file. With macOS migrating from x86_64 to aarch64, eventually new precompiled binaries might drop x86_64 support. I think adding anarch=
variable and an explicit entry for each supported architecture would probably be easiest approach.Some of the regex's will likely need adjusting to account for things like Universal binaries and backwards compatibility of win32 binaries on 64-bit Windows, though once it is done it could allow using newer precompiled binaries for x86_64 systems if precompiled binaries for an x86 system stop getting provided for new releases of a tool.
Some of the
VCPKG_FORCE_SYSTEM_BINARIES
environment variable checks will then need to get updated to reflect what architectures precompiled tools can be downloaded on.From there, it would be waiting for the projects to provide precompiled binaries for aarch64 Linux, and helping some of them add aarch64 to their automated release builds.
Describe alternatives you've considered
Adding a way to construct the download url for different architectures would be interesting, but there is quite a bit of variety in naming conventions for download URLs, it makes knowing which platforms are available and which aren't more difficult to determine, and it becomes harder to maintain a list of sha256's for the downloads.
A partial approach could be taken where the extra info needed for aarch64 bootstrapping is added so it can fetch ninja+cmake, though it seems like still requiring the use of
VCPKG_FORCE_SYSTEM_BINARIES
in these cases would be kind of annoying.Additional context
This is likely related to #3647
Beta Was this translation helpful? Give feedback.
All reactions