aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-07-11 08:09:39 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-11 08:10:52 -0700
commit9b745a79653947c1830f906a12572d673420fecc (patch)
treec81bd83700dfbe321298f34b24f8a7d6ab76f135 /src/main
parentfc6d118f5debc4a6a466780e7284e34db3cbaf7d (diff)
Deprecate py_extension "outs" attribute.
RELNOTES: PiperOrigin-RevId: 204126150
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java22
1 files changed, 8 insertions, 14 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
index e17198270a..4266f667f1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
@@ -76,6 +76,7 @@ public abstract class CcLibrary implements RuleConfiguredTargetFactory {
context,
builder,
/* additionalCopts= */ ImmutableList.of(),
+ /* soFilename= */ null,
context.attributes().get("alwayslink", Type.BOOLEAN),
/* neverLink= */ false,
linkStatic,
@@ -88,6 +89,7 @@ public abstract class CcLibrary implements RuleConfiguredTargetFactory {
RuleContext ruleContext,
RuleConfiguredTargetBuilder targetBuilder,
ImmutableList<String> additionalCopts,
+ PathFragment soFilename,
boolean alwaysLink,
boolean neverLink,
boolean linkStatic,
@@ -157,20 +159,12 @@ public abstract class CcLibrary implements RuleConfiguredTargetFactory {
&& supportsDynamicLinker
&& (appearsToHaveObjectFiles(ruleContext.attributes())
|| featureConfiguration.isEnabled(CppRuleClasses.HEADER_MODULE_CODEGEN));
- if (ruleContext.getRule().isAttrDefined("outs", Type.STRING_LIST)) {
- List<String> outs = ruleContext.attributes().get("outs", Type.STRING_LIST);
- if (outs.size() > 1) {
- ruleContext.attributeError("outs", "must be a singleton list");
- } else if (outs.size() == 1) {
- PathFragment soImplFilename = PathFragment.create(ruleContext.getLabel().getName());
- soImplFilename = soImplFilename.replaceName(outs.get(0));
- if (!soImplFilename.getPathString().endsWith(".so")) { // Sanity check.
- ruleContext.attributeError("outs", "file name must end in '.so'");
- }
-
- if (createDynamicLibrary) {
- soImplArtifact = ruleContext.getBinArtifact(soImplFilename);
- }
+ if (soFilename != null) {
+ if (!soFilename.getPathString().endsWith(".so")) { // Sanity check.
+ ruleContext.attributeError("outs", "file name must end in '.so'");
+ }
+ if (createDynamicLibrary) {
+ soImplArtifact = ruleContext.getBinArtifact(soFilename);
}
}