Prevent dependency cycle due to system_shared_libs expansion
It was discovered that we were building some objects inconsistently due to an optimization in cc_library to only build objects once and use them for both the static and shared libraries. But static libraries didn't get system_shared_libs set automatically, and we didn't notice that we would have built the objects differently. So static libraries now get the default system_shared_libs, we allow adjusting that for static vs shared in a cc_library, and we disable the optimization if the linked libraries are configured differently between static and shared in a single cc_library. This triggers dependency cycles for static libraries that libc/libdl use, so fix those cycles here. Test: treehugger Change-Id: I3cf7fda161a05ec32e0c1e871999720d12a4d38e
This commit is contained in:
parent
9b849d6391
commit
6b3be172d6
|
@ -1 +0,0 @@
|
|||
subdirs = ["*"]
|
|
@ -1623,9 +1623,15 @@ cc_library {
|
|||
],
|
||||
name: "libstdc++",
|
||||
static_ndk_lib: true,
|
||||
system_shared_libs: ["libc"],
|
||||
static_libs: ["libasync_safe"],
|
||||
|
||||
static: {
|
||||
system_shared_libs: [],
|
||||
},
|
||||
shared: {
|
||||
system_shared_libs: ["libc"],
|
||||
},
|
||||
|
||||
//TODO (dimitry): This is to work around b/24465209. Remove after root cause is fixed
|
||||
arch: {
|
||||
arm: {
|
||||
|
|
|
@ -22,6 +22,7 @@ cc_library_static {
|
|||
include_dirs: ["bionic/libc"],
|
||||
|
||||
stl: "none",
|
||||
system_shared_libs: [],
|
||||
|
||||
sanitize: {
|
||||
never: true,
|
||||
|
|
|
@ -283,6 +283,7 @@ cc_binary {
|
|||
suffix: "64",
|
||||
},
|
||||
},
|
||||
system_shared_libs: [],
|
||||
target: {
|
||||
android: {
|
||||
static_libs: ["libdebuggerd_handler_fallback"],
|
||||
|
|
Loading…
Reference in New Issue