Files
frameworks_base/startop/view_compiler/Android.bp
Colin Cross d7632929ea Fix ODR issue in viewcompiler
libz is already linked as a static library through
libdexfile_static_defaults, don't also link it as a shared library.
Fixes:
=================================================================
==43189==ERROR: AddressSanitizer: odr-violation (0x55d1ed723a60):
[1] size=48 'inflate_copyright' external/zlib/src/inftrees.c:11:12
[2] size=48 'inflate_copyright' external/zlib/src/inftrees.c:11:12
These globals were registered at these points:
[1]:
 #0 0x55d1ed769a0e (/buildbot/src/android/master/out/soong/host/linux-x86/bin/viewcompiler+0xf3a0e)
 #1 0x55d1ed991b1b (/buildbot/src/android/master/out/soong/host/linux-x86/bin/viewcompiler+0x31bb1b)

[2]:
 #0 0x55d1ed769a0e (/buildbot/src/android/master/out/soong/host/linux-x86/bin/viewcompiler+0xf3a0e)
 #1 0x7f5dff20a09b (/buildbot/src/android/master/out/soong/host/linux-x86/bin/../lib64/libz-host.so+0x3e09b)

Test: m SANITIZE_HOST=address viewcompiler && viewcompiler
Change-Id: I4ebdf7ef4ec1641488fbc25275dbf6aa0cdbe2eb
2019-03-20 21:19:57 -07:00

108 lines
2.4 KiB
Plaintext

//
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
cc_defaults {
name: "viewcompiler_defaults",
defaults: ["libdexfile_static_defaults"],
header_libs: [
"libbase_headers",
],
shared_libs: [
"libbase",
"slicer",
],
static_libs: [
"libtinyxml2",
"liblog",
"libutils",
"libziparchive",
],
cppflags: ["-std=c++17"],
target: {
android: {
shared_libs: [
"libandroidfw",
],
},
host: {
static_libs: [
"libandroidfw",
],
},
},
}
cc_library_static {
name: "libviewcompiler",
defaults: ["viewcompiler_defaults"],
srcs: [
"apk_layout_compiler.cc",
"dex_builder.cc",
"dex_layout_compiler.cc",
"java_lang_builder.cc",
"tinyxml_layout_parser.cc",
"util.cc",
"layout_validation.cc",
],
host_supported: true,
}
cc_binary {
name: "viewcompiler",
defaults: ["viewcompiler_defaults"],
srcs: [
"main.cc",
],
static_libs: [
"libgflags",
"libviewcompiler",
],
host_supported: true
}
cc_test_host {
name: "view-compiler-tests",
defaults: ["viewcompiler_defaults"],
srcs: [
"dex_builder_test.cc",
"layout_validation_test.cc",
"util_test.cc",
],
static_libs: [
"libviewcompiler",
],
test_suites: ["general-tests"],
}
cc_binary_host {
name: "dex_testcase_generator",
defaults: ["viewcompiler_defaults"],
srcs: ["dex_testcase_generator.cc"],
static_libs: [
"libviewcompiler",
],
}
genrule {
name: "generate_dex_testcases",
tools: [":dex_testcase_generator"],
cmd: "$(location :dex_testcase_generator) $(genDir)",
out: [
"simple.dex",
"trivial.dex",
],
}