diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java index ff5feff2bc..3afa030e1c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java @@ -45,7 +45,6 @@ import com.google.devtools.build.lib.rules.cpp.Link.LinkTargetType; import com.google.devtools.build.lib.rules.cpp.LinkerInputs.LibraryToLink; import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider; import com.google.devtools.build.lib.syntax.Type; -import com.google.devtools.build.lib.util.FileType; import com.google.devtools.build.lib.util.FileTypeSet; import com.google.devtools.build.lib.util.OsUtils; import com.google.devtools.build.lib.util.Pair; @@ -153,7 +152,7 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory { boolean useTestOnlyFlags) throws InterruptedException { ruleContext.checkSrcsSamePackage(true); FeatureConfiguration featureConfiguration = CcCommon.configureFeatures(ruleContext); - CcCommon common = new CcCommon(ruleContext, featureConfiguration); + CcCommon common = new CcCommon(ruleContext); CppConfiguration cppConfiguration = ruleContext.getFragment(CppConfiguration.class); PrecompiledFiles precompiledFiles = new PrecompiledFiles(ruleContext); @@ -162,16 +161,11 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory { List<String> linkopts = common.getLinkopts(); LinkStaticness linkStaticness = getLinkStaticness(ruleContext, linkopts, cppConfiguration); - ImmutableList<Pair<Artifact, Label>> cAndCppSources = common.getCAndCppSources(); CcLibraryHelper helper = new CcLibraryHelper(ruleContext, semantics, featureConfiguration) .fromCommon(common) - .addSources(cAndCppSources) + .addSources(common.getSources()) .addDeps(ImmutableList.of(CppHelper.mallocForTarget(ruleContext))) - .addPrivateHeaders( - FileType.filter( - ruleContext.getPrerequisiteArtifacts("srcs", Mode.TARGET).list(), - CppFileTypes.CPP_HEADER)) .setFake(fake) .setLinkType(linkType) .addPrecompiledFiles(precompiledFiles); @@ -284,9 +278,16 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory { // logical since all symlinked libraries will be linked anyway and would // not require manual loading but if we do, then we would need to collect // their names and use a different constructor below. - Runfiles runfiles = collectRunfiles( - ruleContext, linkingOutputs, cppCompilationContext, linkStaticness, filesToBuild, - fakeLinkerInputs, fake, cAndCppSources); + Runfiles runfiles = + collectRunfiles( + ruleContext, + linkingOutputs, + cppCompilationContext, + linkStaticness, + filesToBuild, + fakeLinkerInputs, + fake, + helper.getCompilationUnitSources()); RunfilesSupport runfilesSupport = RunfilesSupport.withExecutable( ruleContext, runfiles, executable, ruleContext.getConfiguration().buildRunfiles()); |