aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java
index 44bc16eb8c..dc94c49408 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java
@@ -30,6 +30,7 @@ import com.google.devtools.build.lib.rules.cpp.LinkerInputs.LibraryToLink;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcLinkParamsApi;
+import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
import java.util.Collection;
import java.util.Objects;
import javax.annotation.Nullable;
@@ -106,6 +107,14 @@ public final class CcLinkParams implements CcLinkParamsApi {
return ImmutableList.copyOf(Iterables.concat(Iterables.transform(linkOpts, LinkOptions::get)));
}
+ @Override
+ public SkylarkNestedSet getSkylarkLinkopts() {
+ // TODO(plf): Shouldn't flatten nested set. Remove LinkOptions class and just have a nested set
+ // of strings.
+ return SkylarkNestedSet.of(
+ String.class, NestedSetBuilder.wrap(Order.COMPILE_ORDER, flattenedLinkopts()));
+ }
+
/**
* Returns the linkstamps
*/
@@ -120,11 +129,21 @@ public final class CcLinkParams implements CcLinkParamsApi {
return libraries;
}
+ @Override
+ public SkylarkNestedSet getSkylarkLibrariesToLink() {
+ return SkylarkNestedSet.of(LibraryToLink.class, libraries);
+ }
+
/** Returns the dynamicLibrariesForRuntime. */
public NestedSet<Artifact> getDynamicLibrariesForRuntime() {
return dynamicLibrariesForRuntime;
}
+ @Override
+ public SkylarkNestedSet getSkylarkDynamicLibrariesForRuntime() {
+ return SkylarkNestedSet.of(Artifact.class, dynamicLibrariesForRuntime);
+ }
+
/**
* The extra link time libraries; will be null if there are no such libraries.
*/