|  | // 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) | 
|  |  | 
|  | cc_defaults { | 
|  | name: "libandroidfw_defaults", | 
|  | 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", | 
|  | "Asset.cpp", | 
|  | "AssetDir.cpp", | 
|  | "AssetManager.cpp", | 
|  | "AssetManager2.cpp", | 
|  | "AttributeResolution.cpp", | 
|  | "ChunkIterator.cpp", | 
|  | "ConfigDescription.cpp", | 
|  | "Idmap.cpp", | 
|  | "LoadedArsc.cpp", | 
|  | "Locale.cpp", | 
|  | "LocaleData.cpp", | 
|  | "misc.cpp", | 
|  | "ObbFile.cpp", | 
|  | "PosixUtils.cpp", | 
|  | "ResourceTypes.cpp", | 
|  | "ResourceUtils.cpp", | 
|  | "StreamingZipInflater.cpp", | 
|  | "TypeWrappers.cpp", | 
|  | "Util.cpp", | 
|  | "ZipFileRO.cpp", | 
|  | "ZipUtils.cpp", | 
|  | ], | 
|  | export_include_dirs: ["include"], | 
|  | export_shared_lib_headers: ["libz"], | 
|  | target: { | 
|  | android: { | 
|  | srcs: [ | 
|  | "BackupData.cpp", | 
|  | "BackupHelpers.cpp", | 
|  | "CursorWindow.cpp", | 
|  | ], | 
|  | shared_libs: [ | 
|  | "libziparchive", | 
|  | "libbase", | 
|  | "libbinder", | 
|  | "liblog", | 
|  | "libcutils", | 
|  | "libutils", | 
|  | "libz", | 
|  | ], | 
|  | static: { | 
|  | enabled: false, | 
|  | }, | 
|  | }, | 
|  | host: { | 
|  | shared: { | 
|  | enabled: false, | 
|  | }, | 
|  | static_libs: [ | 
|  | "libziparchive", | 
|  | "libbase", | 
|  | "liblog", | 
|  | "libcutils", | 
|  | "libutils", | 
|  | ], | 
|  | shared_libs: [ | 
|  | "libz", | 
|  | ], | 
|  | }, | 
|  | windows: { | 
|  | enabled: true, | 
|  | }, | 
|  | }, | 
|  | sanitize: { | 
|  | blacklist: "libandroidfw_blacklist.txt", | 
|  | }, | 
|  | } | 
|  |  | 
|  | 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/AppAsLib_test.cpp", | 
|  | "tests/Asset_test.cpp", | 
|  | "tests/AssetManager2_test.cpp", | 
|  | "tests/AttributeFinder_test.cpp", | 
|  | "tests/AttributeResolution_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/ResourceUtils_test.cpp", | 
|  | "tests/ResTable_test.cpp", | 
|  | "tests/Split_test.cpp", | 
|  | "tests/StringPiece_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/ObbFile_test.cpp", | 
|  | "tests/PosixUtils_test.cpp", | 
|  | ], | 
|  | shared_libs: common_test_libs + ["libui"], | 
|  | }, | 
|  | host: { | 
|  | static_libs: common_test_libs + ["liblog", "libz"], | 
|  | }, | 
|  | }, | 
|  | data: [ | 
|  | "tests/data/**/*.apk", | 
|  | "tests/data/**/*.arsc", | 
|  | "tests/data/**/*.idmap", | 
|  | ], | 
|  | 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/SparseEntry_bench.cpp", | 
|  | "tests/Theme_bench.cpp", | 
|  | ], | 
|  | shared_libs: common_test_libs, | 
|  | data: ["tests/data/**/*.apk"], | 
|  | } | 
|  |  |