aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-04-18 13:00:16 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-04-18 14:56:41 +0000
commitb87ed094ba046209e731714fd329417baffd0350 (patch)
tree91719fcf1c0cc638ab01348968e5638bbfdb1ce2 /src
parent1badd7cf65e39b35df7dd578ba6416eb7ba4d96c (diff)
Remove option to include transitive header module srcs in the compilation.
-- MOS_MIGRATED_REVID=120115843
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java31
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java10
4 files changed, 2 insertions, 51 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java
index 3f7cd10b9b..4afd941c0b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java
@@ -298,18 +298,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
}
/**
- * @return all headers whose transitive closure of includes needs to be
- * available when compiling anything in the current target.
- */
- protected NestedSet<Artifact> getTransitiveHeaderModuleSrcs() {
- NestedSetBuilder<Artifact> builder = NestedSetBuilder.stableOrder();
- for (DepsContext depsContext : depsContexts) {
- builder.addTransitive(depsContext.transitiveHeaderModuleSrcs);
- }
- return builder.build();
- }
-
- /**
* @return all declared headers of the current module if the current target
* is compiled as a module.
*/
@@ -402,7 +390,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
depsContext.picTopLevelHeaderModules,
depsContext.impliedHeaderModules,
depsContext.picImpliedHeaderModules,
- depsContext.transitiveHeaderModuleSrcs,
depsContext.transitiveModuleMaps,
depsContext.directModuleMaps));
}
@@ -550,13 +537,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
private final NestedSet<Artifact> picTopLevelHeaderModules;
/**
- * Headers whose transitive closure of includes needs to be available when compiling the current
- * target. For every target that the current target depends on transitively and that is built as
- * header module, contains all headers that are part of its header module.
- */
- private final NestedSet<Artifact> transitiveHeaderModuleSrcs;
-
- /**
* The module maps from all targets the current target depends on transitively.
*/
private final NestedSet<Artifact> transitiveModuleMaps;
@@ -572,7 +552,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
NestedSet<Artifact> picTopLevelHeaderModules,
NestedSet<Artifact> impliedHeaderModules,
NestedSet<Artifact> picImpliedHeaderModules,
- NestedSet<Artifact> transitiveHeaderModuleSrcs,
NestedSet<Artifact> transitiveModuleMaps,
NestedSet<Artifact> directModuleMaps) {
this.compilationPrerequisiteStampFile = compilationPrerequisiteStampFile;
@@ -587,7 +566,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
this.topLevelHeaderModules = topLevelHeaderModules;
this.picTopLevelHeaderModules = picTopLevelHeaderModules;
this.transitiveModuleMaps = transitiveModuleMaps;
- this.transitiveHeaderModuleSrcs = transitiveHeaderModuleSrcs;
}
@Override
@@ -611,7 +589,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
// TODO(bazel-team): add pregreppedHdrs?
&& Objects.equals(topLevelHeaderModules, other.topLevelHeaderModules)
&& Objects.equals(picTopLevelHeaderModules, other.picTopLevelHeaderModules)
- && Objects.equals(transitiveHeaderModuleSrcs, other.transitiveHeaderModuleSrcs)
&& Objects.equals(transitiveModuleMaps, other.transitiveModuleMaps);
}
@@ -627,7 +604,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
impliedHeaderModules,
picImpliedHeaderModules,
// pregreppedHdrs ?
- transitiveHeaderModuleSrcs,
transitiveModuleMaps,
topLevelHeaderModules,
picTopLevelHeaderModules);
@@ -661,8 +637,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
NestedSetBuilder.stableOrder();
private final NestedSetBuilder<Artifact> picImpliedHeaderModules =
NestedSetBuilder.stableOrder();
- private final NestedSetBuilder<Artifact> transitiveHeaderModuleSrcs =
- NestedSetBuilder.stableOrder();
private final NestedSetBuilder<Artifact> transitiveModuleMaps =
NestedSetBuilder.stableOrder();
private final NestedSetBuilder<Artifact> directModuleMaps =
@@ -730,7 +704,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
// add both.
transitiveModuleMaps.addTransitive(othersTransitiveModuleMaps);
transitiveModuleMaps.addTransitive(othersDirectModuleMaps);
- transitiveHeaderModuleSrcs.addTransitive(otherContext.getTransitiveHeaderModuleSrcs());
impliedHeaderModules.addTransitive(otherContext.getImpliedHeaderModules(/*usePic=*/ false));
picImpliedHeaderModules.addTransitive(otherContext.getImpliedHeaderModules(/*usePic=*/ true));
topLevelHeaderModules.addTransitive(othersTopLevelHeaderModules);
@@ -753,9 +726,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
if (otherContext.getPicHeaderModule() != null) {
picTopLevelHeaderModules.add(otherContext.getPicHeaderModule());
}
- // All targets transitively depending on us will need to have the full transitive #include
- // closure of the headers in that module available.
- transitiveHeaderModuleSrcs.addTransitive(otherContext.getHeaderModuleSrcs());
}
defines.addAll(otherContext.getDefines());
@@ -974,7 +944,6 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
picTopLevelHeaderModules,
impliedHeaderModules,
picImpliedHeaderModules,
- transitiveHeaderModuleSrcs.build(),
transitiveModuleMaps.build(),
directModuleMaps.build())),
cppModuleMap,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java
index f56291e0d2..1cdcf26c93 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java
@@ -262,10 +262,6 @@ public class CppCompileActionBuilder {
}
realMandatoryInputsBuilder.addTransitive(context.getAdditionalInputs(usePic));
- if (cppConfiguration.sendTransitiveHeaderModuleSrcs()) {
- realMandatoryInputsBuilder.addTransitive(context.getTransitiveHeaderModuleSrcs());
- }
-
realMandatoryInputsBuilder.addTransitive(pluginInputsBuilder.build());
realMandatoryInputsBuilder.add(sourceFile);
boolean fake = tempOutputFile != null;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
index d7fe3a931c..f0d4906637 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
@@ -1532,14 +1532,6 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
}
/**
- * Returns whether we are sending transitive headers of cppmap files as mandatory compilation
- * inputs.
- */
- public boolean sendTransitiveHeaderModuleSrcs() {
- return cppOptions.sendTransitiveHeaderModuleSrcs;
- }
-
- /**
* Returns whether we are processing headers in dependencies of built C++ targets.
*/
public boolean processHeadersInDependencies() {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
index 6b9903a835..c17373bd75 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
@@ -283,18 +283,12 @@ public class CppOptions extends FragmentOptions {
)
public boolean skipStaticOutputs;
- // Add all sources of transitively found modules. Although they are also embedded in the .pcm
- // files, Clang currently verifies that all files specified in a cppmap do exist.
- // TODO(djasper): Once Clang's r264664 is released, the default can be flipped and this option
- // can be removed.
+ // TODO(djasper): Remove once it has been removed from the global blazerc.
@Option(
name = "send_transitive_header_module_srcs",
defaultValue = "true",
category = "semantics",
- help =
- "This flag is only used for a transition and will go away. "
- + "If true, treat all headers mentioned in transitive .cppmap files as mandatory "
- + "inputs."
+ help = "Obsolete. Don't use."
)
public boolean sendTransitiveHeaderModuleSrcs;