diff options
author | Googler <noreply@google.com> | 2016-04-18 13:00:16 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-04-18 14:56:41 +0000 |
commit | b87ed094ba046209e731714fd329417baffd0350 (patch) | |
tree | 91719fcf1c0cc638ab01348968e5638bbfdb1ce2 /src/main/java/com/google/devtools | |
parent | 1badd7cf65e39b35df7dd578ba6416eb7ba4d96c (diff) |
Remove option to include transitive header module srcs in the compilation.
--
MOS_MIGRATED_REVID=120115843
Diffstat (limited to 'src/main/java/com/google/devtools')
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; |