blob: 47a7f3579764be7bc405c1d3aea9a9909fcdd83b [file] [log] [blame]
// Copyright (C) 2010 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.
// libandroidfw is partially built for the host (used by obbtool, aapt, and others)
package {
default_applicable_licenses: ["frameworks_base_libs_androidfw_license"],
}
// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
name: "frameworks_base_libs_androidfw_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
],
license_text: [
"NOTICE",
],
}
cc_defaults {
name: "libandroidfw_defaults",
cpp_std: "gnu++2b",
cflags: [
"-Werror",
"-Wunreachable-code",
],
target: {
windows: {
// The Windows compiler warns incorrectly for value initialization with {}.
cppflags: ["-Wno-missing-field-initializers"],
},
host: {
cflags: ["-DSTATIC_ANDROIDFW_FOR_TOOLS"],
},
},
}
cc_library {
name: "libandroidfw",
defaults: ["libandroidfw_defaults"],
host_supported: true,
srcs: [
"ApkAssets.cpp",
"ApkParsing.cpp",
"Asset.cpp",
"AssetDir.cpp",
"AssetManager.cpp",
"AssetManager2.cpp",
"AssetsProvider.cpp",
"AttributeResolution.cpp",
"BigBuffer.cpp",
"ChunkIterator.cpp",
"ConfigDescription.cpp",
"Idmap.cpp",
"LoadedArsc.cpp",
"Locale.cpp",
"LocaleData.cpp",
"misc.cpp",
"ObbFile.cpp",
"PosixUtils.cpp",
"ResourceTimer.cpp",
"ResourceTypes.cpp",
"ResourceUtils.cpp",
"StreamingZipInflater.cpp",
"StringPool.cpp",
"TypeWrappers.cpp",
"Util.cpp",
"ZipFileRO.cpp",
"ZipUtils.cpp",
],
export_include_dirs: ["include"],
export_shared_lib_headers: ["libz"],
static_libs: ["libincfs-utils"],
whole_static_libs: [
"libandroidfw_pathutils",
"libincfs-utils",
],
export_static_lib_headers: ["libincfs-utils"],
target: {
android: {
srcs: [
"BackupData.cpp",
"BackupHelpers.cpp",
"CursorWindow.cpp",
],
shared_libs: [
"libbase",
"libbinder",
"liblog",
"libcutils",
"libincfs",
"libutils",
"libz",
],
static_libs: ["libziparchive_for_incfs"],
static: {
enabled: false,
},
},
host: {
shared: {
enabled: false,
},
static_libs: [
"libbase",
"libcutils",
"liblog",
"libutils",
"libziparchive",
],
shared_libs: [
"libz",
],
},
host_linux: {
srcs: [
"CursorWindow.cpp",
],
},
windows: {
enabled: true,
},
},
sanitize: {
blocklist: "libandroidfw_blocklist.txt",
},
}
cc_library_static {
name: "libandroidfw_pathutils",
defaults: ["libandroidfw_defaults"],
host_supported: true,
export_include_dirs: ["include_pathutils"],
srcs: [
"PathUtils.cpp",
],
shared_libs: [
"libutils",
],
target: {
windows: {
enabled: true,
},
},
visibility: [
":__subpackages__",
"//frameworks/base/tools/aapt",
],
}
common_test_libs = [
"libandroidfw",
"libbase",
"libcutils",
"libutils",
"libziparchive",
]
cc_test {
name: "libandroidfw_tests",
host_supported: true,
defaults: ["libandroidfw_defaults"],
cppflags: [
// This is to suppress warnings/errors from gtest
"-Wno-unnamed-type-template-args",
],
srcs: [
// Helpers/infra for testing.
"tests/CommonHelpers.cpp",
"tests/TestHelpers.cpp",
"tests/TestMain.cpp",
// Actual tests.
"tests/ApkAssets_test.cpp",
"tests/ApkParsing_test.cpp",
"tests/AppAsLib_test.cpp",
"tests/Asset_test.cpp",
"tests/AssetManager2_test.cpp",
"tests/AttributeFinder_test.cpp",
"tests/AttributeResolution_test.cpp",
"tests/BigBuffer_test.cpp",
"tests/ByteBucketArray_test.cpp",
"tests/Config_test.cpp",
"tests/ConfigDescription_test.cpp",
"tests/ConfigLocale_test.cpp",
"tests/DynamicRefTable_test.cpp",
"tests/Idmap_test.cpp",
"tests/LoadedArsc_test.cpp",
"tests/Locale_test.cpp",
"tests/ResourceTimer_test.cpp",
"tests/ResourceUtils_test.cpp",
"tests/ResTable_test.cpp",
"tests/Split_test.cpp",
"tests/StringPiece_test.cpp",
"tests/StringPool_test.cpp",
"tests/Theme_test.cpp",
"tests/TypeWrappers_test.cpp",
"tests/ZipUtils_test.cpp",
],
static_libs: ["libgmock"],
target: {
android: {
srcs: [
"tests/BackupData_test.cpp",
"tests/BackupHelpers_test.cpp",
"tests/CursorWindow_test.cpp",
"tests/ObbFile_test.cpp",
"tests/PosixUtils_test.cpp",
],
shared_libs: common_test_libs + [
"libbinder",
"liblog",
"libui",
],
},
host: {
static_libs: common_test_libs + [
"liblog",
"libz",
],
},
},
data: [
"tests/data/**/*.apk",
"tests/data/**/*.arsc",
"tests/data/**/*.idmap",
":FrameworkResourcesSparseTestApp",
":FrameworkResourcesNotSparseTestApp",
],
test_suites: ["device-tests"],
}
cc_benchmark {
name: "libandroidfw_benchmarks",
defaults: ["libandroidfw_defaults"],
srcs: [
// Helpers/infra for benchmarking.
"tests/BenchMain.cpp",
"tests/BenchmarkHelpers.cpp",
"tests/CommonHelpers.cpp",
// Actual benchmarks.
"tests/AssetManager2_bench.cpp",
"tests/AttributeResolution_bench.cpp",
"tests/CursorWindow_bench.cpp",
"tests/Generic_bench.cpp",
"tests/SparseEntry_bench.cpp",
"tests/Theme_bench.cpp",
],
shared_libs: common_test_libs,
data: ["tests/data/**/*.apk"],
}
cc_library {
name: "libandroidfw_fuzzer_lib",
defaults: ["libandroidfw_defaults"],
host_supported: true,
srcs: [
"CursorWindow.cpp",
],
export_include_dirs: ["include"],
target: {
android: {
shared_libs: common_test_libs + [
"libbinder",
"liblog",
],
},
host: {
static_libs: common_test_libs + [
"libbinder",
"liblog",
],
},
darwin: {
// libbinder is not supported on mac
enabled: false,
},
},
}