diff options
author | Jiyong Park <jiyong@google.com> | 2017-10-12 23:05:00 +0900 |
---|---|---|
committer | Jiyong Park <jiyong@google.com> | 2017-10-13 14:36:12 +0900 |
commit | 6a43f047772ab30e89eb7cb5346a08db889a2e7b (patch) | |
tree | 1907830ef7c5b3a45c78ae39047564b49ba93395 /android/config.go | |
parent | 432a2d4033cd3e78dc4f1b63295e281bbb4f89b4 (diff) | |
download | build_soong-6a43f047772ab30e89eb7cb5346a08db889a2e7b.tar.gz build_soong-6a43f047772ab30e89eb7cb5346a08db889a2e7b.tar.bz2 build_soong-6a43f047772ab30e89eb7cb5346a08db889a2e7b.zip |
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 'android/config.go')
-rw-r--r-- | android/config.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/android/config.go b/android/config.go index 90616528..5abda26f 100644 --- a/android/config.go +++ b/android/config.go @@ -193,8 +193,8 @@ func TestArchConfig(buildDir string, env map[string]string) Config { config.Targets = map[OsClass][]Target{ Device: []Target{ - {Android, Arch{ArchType: Arm64, Native: true}}, - {Android, Arch{ArchType: Arm, Native: true}}, + {Android, Arch{ArchType: Arm64, ArchVariant: "armv8-a", Native: true}}, + {Android, Arch{ArchType: Arm, ArchVariant: "armv7-a-neon", Native: true}}, }, Host: []Target{ {BuildOs, Arch{ArchType: X86_64}}, |