diff options
author | 2016-08-02 08:39:01 +0000 | |
---|---|---|
committer | 2016-08-02 11:15:44 +0000 | |
commit | cd7329ac63fd08ba8f914c138117128eb28a5891 (patch) | |
tree | 0bc33f30b8b0f630295f6ba370f69968c20761b4 /src/main | |
parent | c352b148106d2fdafa6e988db6d351f953a896ed (diff) |
Rollback of commit 49dfc29a40764ae48f2343007f88f3a4938498f1.
*** Reason for rollback ***
This change causes android_integration_test failing on Mac.
*** Original change description ***
Sets SONAME on shared objects in Android binaries.
Adds a linker flag to set the internal DT_SONAME. This fixes #1578 for
SDK 24 and removes the warnings for previous SDKs. There is no need to
set the linker flag for android_librarys that depend on native code,
because the linker flag will be set by the android_binarys that depend
on that android_library.
--
MOS_MIGRATED_REVID=129074607
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java | 15 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/NativeLibs.java | 9 |
2 files changed, 11 insertions, 13 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java index e08c261361..60c32e840d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java @@ -69,10 +69,12 @@ import com.google.devtools.build.lib.rules.java.SourcesJavaCompilationArgsProvid import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector.InstrumentationSpec; import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.vfs.PathFragment; + import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Set; + import javax.annotation.Nullable; /** @@ -858,25 +860,22 @@ public class AndroidCommon { } public CcLinkParamsStore getCcLinkParamsStore() { - return getCcLinkParamsStore(javaCommon.targetsTreatedAsDeps(ClasspathType.BOTH), - ImmutableList.<String>of()); + return getCcLinkParamsStore(javaCommon.targetsTreatedAsDeps(ClasspathType.BOTH)); } public static CcLinkParamsStore getCcLinkParamsStore( - final Iterable<? extends TransitiveInfoCollection> deps, final Collection<String> linkOpts) { + final Iterable<? extends TransitiveInfoCollection> deps) { return new CcLinkParamsStore() { @Override - protected void collect( - CcLinkParams.Builder builder, boolean linkingStatically, boolean linkShared) { - builder.addTransitiveTargets( - deps, + protected void collect(CcLinkParams.Builder builder, boolean linkingStatically, + boolean linkShared) { + builder.addTransitiveTargets(deps, // Link in Java-specific C++ code in the transitive closure JavaCcLinkParamsProvider.TO_LINK_PARAMS, // Link in Android-specific C++ code (e.g., android_libraries) in the transitive closure AndroidCcLinkParamsProvider.TO_LINK_PARAMS, // Link in non-language-specific C++ code in the transitive closure CcLinkParamsProvider.TO_LINK_PARAMS); - builder.addLinkOpts(linkOpts); } }; } diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/NativeLibs.java b/src/main/java/com/google/devtools/build/lib/rules/android/NativeLibs.java index 7c3c8def89..fc736ae5e1 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/NativeLibs.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/NativeLibs.java @@ -34,12 +34,14 @@ import com.google.devtools.build.lib.rules.cpp.CppFileTypes; import com.google.devtools.build.lib.rules.cpp.LinkerInput; import com.google.devtools.build.lib.rules.nativedeps.NativeDepsHelper; import com.google.devtools.build.lib.vfs.PathFragment; + import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; + import javax.annotation.Nullable; /** Represents the collection of native libraries (.so) to be installed in the APK. */ @@ -69,11 +71,8 @@ public final class NativeLibs { Map<String, Iterable<Artifact>> result = new LinkedHashMap<>(); for (Map.Entry<String, Collection<TransitiveInfoCollection>> entry : depsByArchitecture.asMap().entrySet()) { - CcLinkParams linkParams = - AndroidCommon.getCcLinkParamsStore( - entry.getValue(), - ImmutableList.of("-Wl,-soname=lib" + ruleContext.getLabel().getName())) - .get(/* linkingStatically */ true, /* linkShared */ true); + CcLinkParams linkParams = AndroidCommon.getCcLinkParamsStore(entry.getValue()) + .get(/* linkingStatically */ true, /* linkShared */ true); Artifact nativeDepsLibrary = NativeDepsHelper.maybeCreateAndroidNativeDepsAction( ruleContext, linkParams, configurationMap.get(entry.getKey()), |