[vcpkg] Optionally limit the number of cores during vcpkg bootstrap #19010
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add an option to the bash bootstrap script that allows a user to force the use of only a single CPU during both compilation and linking of the vcpkg executable.
Building on low-memory / high-core count systems like 1-2 GB variants of Raspberry PIs will often fail because of memory exhaustion. Each compile will typically take a few hundred MB and running 4 of them concurrently will easily exhaust even a 2GB setup. Further, such systems often have no swap space configured. This command line option ensures that
vcpkg
will bootstrap successfully, albeit slowly, even when only 1GB of ram is available.This PR does not attempt to address any similar issues that might arise from building packages using
vcpkg
What does your PR fix?
Fixes #14534
Which triplets are supported/not supported? Have you updated the [CI baseline]
This is a modification to the bootstrap script and should have no impact on the triplets, only a potential impact on the speed of bootstrapping.
Does your PR follow the maintainer guide?
Yes. The vast majority of the guide doesn't apply since this is a change to the boostrapping mechanism, not to any port or vcpkg functionality.
If you have added/updated a port: Have you run
./vcpkg x-add-version --all
and committed the result?N/A