-
Notifications
You must be signed in to change notification settings - Fork 0
Bazel compiler flags with tests #201
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
Open
martin4861
wants to merge
21
commits into
main
Choose a base branch
from
martin4861/bazel-compiler-flags-with-tests
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+4,410
−338
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…help organise them from toolchain definitions
…iler-flags-with-tests
febf6e1 to
6215f56
Compare
…iler-flags-with-tests
6215f56 to
eeead94
Compare
a242f07 to
eeead94
Compare
…iler-flags-with-tests
c1726eb to
003475e
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Previously compile options have been added to
coptsby the macroscc_library. Those compile options are meant for compilers likeclangorgcc. This tight coupling of macros and compile options makes it impossible to implement any other compiler toolchains, which do not usegcc's orclang's compile options.To overcome this problem this tight coupling needs to be relaxed. In order to do so, we use Bazel's
features. A feature is implemented as follows:Different toolchains might have different compile options for features and are using the abstraction layer using
feature.The features can be simplify activated using
cc_library(..., features = ["rtti_feature"], ...). The activation is handled by the macros indefs2.bzl.This PR consists of multiple changes:
featuresfor compile option selection by the macros.defs2.bzlsupport the selection offeatures, whereas the legacy macros indefs.bzlstay unchanged.defs2.bzlprovides new macros, which set different levels of features, depending on the needed coding quality level (see the extensive doc indefs2.bzl.)