Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vcpkg] Add field to control file which filters supported triplets #229

Closed
ras0219-msft opened this issue Oct 28, 2016 · 3 comments
Closed
Labels
category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed

Comments

@ras0219-msft
Copy link
Contributor

From https://github.com/Microsoft/vcpkg/pull/189/files/7805bdff8cc38c83aaf2b5ea5ecc3042634fb017#r85587279 and elsewhere. This is useful for several ports, such as the TBB port (which currently only supports x64) and the PDCurses port (which currently only supports x86).

In contrast to Debian's solution to this problem, I believe that a blacklist-only solution is more appropriate for Vcpkg. This enables end-user extension and modification of triplets without sweeping changes across the ports tree to add the new triplet to every port with a whitelist.

@ras0219-msft ras0219-msft added discussion needed category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed labels Oct 28, 2016
@Orvid
Copy link

Orvid commented Oct 28, 2016

Perhaps more general set of independent whitelisting flags would work better than a blacklist approach? For example, (32-bit Only, 64-bit Only), (Dynamic CRT Only, Static CRT Only), (Dynamic Library Only, Static Library Only), (WinRT Only, Non-WinRT Only) and then also a set of flags for actual CPU architectures, (x86, x64, arm, arm64) for projects that really do require that CPU due to the use of assembly or architecture-specific intrinsics.

Because each section is independent, and defaults to All, adding or modifying triplets should be significantly easier than with Debian's solution, which only has a single section.

If you really want to flesh it out even more, you could potentially add additional instruction-set (x86-SSE 4.2, arm-neon) support, but I think that's probably overkill and far more complexity than is necessary.

@soroshsabz
Copy link
Contributor

soroshsabz commented Mar 20, 2019

I think it is very useful feature for many library. and cause to write better user experience that without running cmake to generate building files or building library can say meaningful and useful error message if desired triplet does not support by library.

it has CI value to pass all port file without any error, because each port file just testing under valid triplets.

@LilyWangL
Copy link
Contributor

Thanks for posting this issue. This issue has been fixed. The Supports has been added to CONTROL. So I am closing this issue for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed
Projects
None yet
Development

No branches or pull requests

4 participants