aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java29
1 files changed, 5 insertions, 24 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java
index f77a99c287..ef0574ad63 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java
@@ -66,8 +66,6 @@ public final class CppModel {
private boolean maySaveTemps;
private boolean onlySingleOutput;
private CcCompilationOutputs compilationOutputs;
- private boolean enableLayeringCheck;
- private boolean compileHeaderModules;
// link model
private final List<String> linkopts = new ArrayList<>();
@@ -106,23 +104,6 @@ public final class CppModel {
}
/**
- * If set, use compiler flags to enable compiler based layering checks.
- */
- public CppModel setEnableLayeringCheck(boolean enableLayeringCheck) {
- this.enableLayeringCheck = enableLayeringCheck;
- return this;
- }
-
- /**
- * If set, add actions that compile header modules to the build.
- * See http://clang.llvm.org/docs/Modules.html for more information.
- */
- public CppModel setCompileHeaderModules(boolean compileHeaderModules) {
- this.compileHeaderModules = compileHeaderModules;
- return this;
- }
-
- /**
* Whether to create actions for temps. This defaults to false.
*/
public CppModel setSaveTemps(boolean maySaveTemps) {
@@ -279,14 +260,16 @@ public final class CppModel {
*/
public boolean getGeneratesPicHeaderModule() {
// TODO(bazel-team): Make sure cc_fake_binary works with header module support.
- return compileHeaderModules && !fake && getGeneratePicActions();
+ return featureConfiguration.isEnabled(CppRuleClasses.HEADER_MODULES) && !fake
+ && getGeneratePicActions();
}
/**
* @return whether this target needs to generate a non-pic header module.
*/
public boolean getGeratesNoPicHeaderModule() {
- return compileHeaderModules && !fake && getGenerateNoPicActions();
+ return featureConfiguration.isEnabled(CppRuleClasses.HEADER_MODULES) && !fake
+ && getGenerateNoPicActions();
}
/**
@@ -300,8 +283,6 @@ public final class CppModel {
builder.addNocopts(nocopts);
}
- builder.setEnableLayeringCheck(enableLayeringCheck);
- builder.setCompileHeaderModules(compileHeaderModules);
builder.setExtraSystemIncludePrefixes(additionalIncludes);
builder.setFdoBuildStamp(CppHelper.getFdoBuildStamp(cppConfiguration));
builder.setFeatureConfiguration(featureConfiguration);
@@ -319,7 +300,7 @@ public final class CppModel {
AnalysisEnvironment env = ruleContext.getAnalysisEnvironment();
PathFragment objectDir = CppHelper.getObjDirectory(ruleContext.getLabel());
- if (compileHeaderModules) {
+ if (featureConfiguration.isEnabled(CppRuleClasses.HEADER_MODULES)) {
Artifact moduleMapArtifact = context.getCppModuleMap().getArtifact();
Label moduleMapLabel = Label.parseAbsoluteUnchecked(context.getCppModuleMap().getName());
PathFragment outputName = getObjectOutputPath(moduleMapArtifact, objectDir);