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: I6ec2ea45292b602d5c506560de8b8d6ae725be6f
This commit is contained in:
Dan Willemsen 2018-12-03 15:50:00 -08:00
parent 307337fb40
commit d3825898da

View file

@ -12,5 +12,6 @@ cc_library_static {
"-Werror",
],
stl: "none",
system_shared_libs: [],
export_include_dirs: ["include"],
}