Skip to content

Commit

Permalink
Disable coverage when a C library is not instrumented (#1021)
Browse files Browse the repository at this point in the history
  • Loading branch information
linzhp authored Feb 28, 2023
1 parent b7074f1 commit 798242e
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion foreign_cc/private/cc_toolchain_util.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,17 @@ FOREIGN_CC_DISABLED_FEATURES = [
]

def _configure_features(ctx, cc_toolchain):
disabled_features = ctx.disabled_features + FOREIGN_CC_DISABLED_FEATURES
if not ctx.coverage_instrumented():
# In coverage mode, cc_common.configure_features() adds coverage related flags,
# such as --coverage to the compiler and linker. However, if this library is not
# instrumented, we don't need to pass those flags, and avoid unncessary rebuilds.
disabled_features.append("coverage")
return cc_common.configure_features(
ctx = ctx,
cc_toolchain = cc_toolchain,
requested_features = ctx.features,
unsupported_features = ctx.disabled_features + FOREIGN_CC_DISABLED_FEATURES,
unsupported_features = disabled_features,
)

def _create_libraries_to_link(ctx, files):
Expand Down

0 comments on commit 798242e

Please sign in to comment.