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

Restore host and nonhost toolchain features (reversing #7407) #13315

Closed
chandlerc opened this issue Apr 8, 2021 · 4 comments
Closed

Restore host and nonhost toolchain features (reversing #7407) #13315

chandlerc opened this issue Apr 8, 2021 · 4 comments
Labels
P3 We're not considering working on this, but happy to review a PR. (No assignee) stale Issues or PRs that are stale (no activity for 30 days) team-Rules-CPP Issues for C++ rules type: feature request

Comments

@chandlerc
Copy link

Description of the problem / feature request:

Currently it is necessary to pass --incompatible_dont_enable_host_nonhost_crosstool_features=false to get host and nonhost features back in the C++ toolchain.

In #7407 these were suggested to be removed because there may not be a separate host and target platform or toolchain. That is true, but features in C++ toolchains control much more than just which platform is used or which toolchain is used. There are features that make sense to enable in the host build but not in the target build even when the platforms are identical.

Some easy examples are the LLVM sanitizers. These are debugging aids but can come with high runtime overhead. It is often undesirable to subject host tools to these overheads, and instead they should only be enabled for target builds.

Another example is disabling debug information in host builds: #13308

Not sure anything else is needed here, but if there are questions about how this might be used, please let me know.

@aiuto aiuto added team-Configurability platforms, toolchains, cquery, select(), config transitions untriaged labels Apr 13, 2021
@gregestren gregestren added team-Rules-CPP Issues for C++ rules and removed team-Configurability platforms, toolchains, cquery, select(), config transitions labels Apr 14, 2021
@oquenchil oquenchil added P3 We're not considering working on this, but happy to review a PR. (No assignee) type: feature request and removed untriaged labels May 10, 2021
@hlopko
Copy link
Member

hlopko commented Aug 11, 2021

Just sharing the workaround: it seems ctx.genfiles_dir.path.find("-exec-") can be used to detect exec configuration.

@github-actions
Copy link

Thank you for contributing to the Bazel repository! This issue has been marked as stale since it has not had any activity in the last 1+ years. It will be closed in the next 14 days unless any other activity occurs or one of the following labels is added: "not stale", "awaiting-bazeler". Please reach out to the triage team (@bazelbuild/triage) if you think this issue is still relevant or you are interested in getting the issue resolved.

@github-actions github-actions bot added the stale Issues or PRs that are stale (no activity for 30 days) label May 25, 2023
@github-actions
Copy link

github-actions bot commented Jun 8, 2023

This issue has been automatically closed due to inactivity. If you're still interested in pursuing this, please reach out to the triage team (@bazelbuild/triage). Thanks!

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jun 8, 2023
@chandlerc
Copy link
Author

FWIW, I would love an actual update here rather than just closing this as stale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P3 We're not considering working on this, but happy to review a PR. (No assignee) stale Issues or PRs that are stale (no activity for 30 days) team-Rules-CPP Issues for C++ rules type: feature request
Projects
None yet
Development

No branches or pull requests

5 participants