diff options
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.java | 19 |
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. */ |