diff options
| author | 2017-10-12 23:05:00 +0900 | |
|---|---|---|
| committer | 2017-10-13 14:36:12 +0900 | |
| commit | 6a43f047772ab30e89eb7cb5346a08db889a2e7b (patch) | |
| tree | 1907830ef7c5b3a45c78ae39047564b49ba93395 /java/java.go | |
| parent | 432a2d4033cd3e78dc4f1b63295e281bbb4f89b4 (diff) | |
Squash vendor sources before linkageMutator runs
linkageMutator removes srcs property of the shared variant of a lib in
order to reuse *.o files compiled for the static variant also to the
shared variant.
However, this causes problem when vendor-specific srcs are specified in
target: {vendor: {srcs: ["..."]}}. For example, let's assume
cc_library {
name: "libfoo",
srcs: ["foo.c"],
target: {
vendor: {
srcs: ["bar.c"],
},
},
}
Then,
static_vendor: inputs = foo.o, bar.o
shared_vendor: inputs = foo.o (from static_vendor), bar.o (from
static_vendor), bar.o
So, bar.o is included twice and this causes multiple symbol definition
error.
In order to handle the problem, vendor mutator is applied before the
linkage mutator and the vendor-specific srcs are squashed in the vendor
mutator.
Bug: 67731122
Test: build
Test: cc_test.go
Change-Id: I2a5390295dddfc41260e9b6f02746908cdf47228
Diffstat (limited to 'java/java.go')
0 files changed, 0 insertions, 0 deletions