aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
diff options
context:
space:
mode:
authorGravatar hlopko <hlopko@google.com>2017-09-22 10:14:33 -0400
committerGravatar John Cater <jcater@google.com>2017-09-25 09:36:06 -0400
commit3c23d3eae64b51d8367d5d586f0a41128eb96174 (patch)
treebc9dbb0ab30487290d1026e56f102df9be1de20b /src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
parent51c8c7cfb2bffcc4d95a19680fbec08d3625a74e (diff)
Use FeatureConfiguration to compute linkstamping compile command line
Before, linkstamping compile actions were hardcoded in bazel and assumed gcc/clang and bash. This cl removes gcc/clang assumptions by using feature configuration. RELNOTES: None. PiperOrigin-RevId: 169685949
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
index 2df7719e49..633adc98a0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
@@ -186,7 +186,7 @@ public class CppLinkActionBuilder {
private NestedSet<Artifact> runtimeInputs = NestedSetBuilder.emptySet(Order.STABLE_ORDER);
private final NestedSetBuilder<Artifact> compilationInputs = NestedSetBuilder.stableOrder();
private final Set<Artifact> linkstamps = new LinkedHashSet<>();
- private List<String> linkstampOptions = new ArrayList<>();
+ private ImmutableList<String> additionalLinkstampDefines = ImmutableList.of();
private final List<String> linkopts = new ArrayList<>();
private LinkTargetType linkType = LinkTargetType.STATIC_LIBRARY;
private LinkStaticness linkStaticness = LinkStaticness.FULLY_STATIC;
@@ -398,12 +398,6 @@ public class CppLinkActionBuilder {
public final Set<Artifact> getLinkstamps() {
return this.linkstamps;
}
- /**
- * Returns linkstamp options for this link action.
- */
- public List<String> getLinkstampOptions() {
- return this.linkstampOptions;
- }
/**
* Returns command line options for this link action.
@@ -799,7 +793,7 @@ public class CppLinkActionBuilder {
.setBuildInfoHeaderArtifacts(buildInfoHeaderArtifacts)
.setLinkstamps(linkstampMap)
.setLinkopts(ImmutableList.copyOf(linkopts))
- .addLinkstampCompileOptions(linkstampOptions);
+ .setAdditionalLinkstampDefines(additionalLinkstampDefines);
} else {
List<String> opts = new ArrayList<>(linkopts);
opts.addAll(featureConfiguration.getCommandLine("lto-indexing", buildVariables));
@@ -1236,8 +1230,9 @@ public class CppLinkActionBuilder {
return this;
}
- public CppLinkActionBuilder addLinkstampCompilerOptions(ImmutableList<String> linkstampOptions) {
- this.linkstampOptions = linkstampOptions;
+ public CppLinkActionBuilder setAdditionalLinkstampDefines(
+ ImmutableList<String> additionalLinkstampDefines) {
+ this.additionalLinkstampDefines = Preconditions.checkNotNull(additionalLinkstampDefines);
return this;
}