Home | History | Annotate | Download | only in androidfw
      1 // Copyright (C) 2010 The Android Open Source Project
      2 //
      3 // Licensed under the Apache License, Version 2.0 (the "License");
      4 // you may not use this file except in compliance with the License.
      5 // You may obtain a copy of the License at
      6 //
      7 //      http://www.apache.org/licenses/LICENSE-2.0
      8 //
      9 // Unless required by applicable law or agreed to in writing, software
     10 // distributed under the License is distributed on an "AS IS" BASIS,
     11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 // See the License for the specific language governing permissions and
     13 // limitations under the License.
     14 
     15 // libandroidfw is partially built for the host (used by obbtool, aapt, and others)
     16 
     17 cc_defaults {
     18     name: "libandroidfw_defaults",
     19     cflags: [
     20         "-Werror",
     21         "-Wunreachable-code",
     22     ],
     23     target: {
     24         windows: {
     25             // The Windows compiler warns incorrectly for value initialization with {}.
     26             cppflags: ["-Wno-missing-field-initializers"],
     27         },
     28         host: {
     29             cflags: ["-DSTATIC_ANDROIDFW_FOR_TOOLS"],
     30         },
     31     },
     32 }
     33 
     34 cc_library {
     35     name: "libandroidfw",
     36     defaults: ["libandroidfw_defaults"],
     37     host_supported: true,
     38     srcs: [
     39         "ApkAssets.cpp",
     40         "Asset.cpp",
     41         "AssetDir.cpp",
     42         "AssetManager.cpp",
     43         "AssetManager2.cpp",
     44         "AttributeResolution.cpp",
     45         "ChunkIterator.cpp",
     46         "ConfigDescription.cpp",
     47         "Idmap.cpp",
     48         "LoadedArsc.cpp",
     49         "Locale.cpp",
     50         "LocaleData.cpp",
     51         "misc.cpp",
     52         "ObbFile.cpp",
     53         "PosixUtils.cpp",
     54         "ResourceTypes.cpp",
     55         "ResourceUtils.cpp",
     56         "StreamingZipInflater.cpp",
     57         "TypeWrappers.cpp",
     58         "Util.cpp",
     59         "ZipFileRO.cpp",
     60         "ZipUtils.cpp",
     61     ],
     62     export_include_dirs: ["include"],
     63     export_shared_lib_headers: ["libz"],
     64     target: {
     65         android: {
     66             srcs: [
     67                 "BackupData.cpp",
     68                 "BackupHelpers.cpp",
     69                 "CursorWindow.cpp",
     70                 "DisplayEventDispatcher.cpp",
     71             ],
     72             shared_libs: [
     73                 "libziparchive",
     74                 "libbase",
     75                 "libbinder",
     76                 "liblog",
     77                 "libcutils",
     78                 "libgui",
     79                 "libutils",
     80                 "libz",
     81             ],
     82             static: {
     83                 enabled: false,
     84             },
     85         },
     86         host: {
     87             shared: {
     88                 enabled: false,
     89             },
     90             static_libs: [
     91                 "libziparchive",
     92                 "libbase",
     93                 "liblog",
     94                 "libcutils",
     95                 "libutils",
     96             ],
     97             shared_libs: [
     98                 "libz",
     99             ],
    100         },
    101         windows: {
    102             enabled: true,
    103         },
    104     },
    105     sanitize: {
    106         blacklist: "libandroidfw_blacklist.txt",
    107     },
    108 }
    109 
    110 common_test_libs = [
    111     "libandroidfw",
    112     "libbase",
    113     "libcutils",
    114     "libutils",
    115     "libziparchive",
    116 ]
    117 
    118 cc_test {
    119     name: "libandroidfw_tests",
    120     host_supported: true,
    121     defaults: ["libandroidfw_defaults"],
    122     cppflags: [
    123         // This is to suppress warnings/errors from gtest
    124         "-Wno-unnamed-type-template-args",
    125     ],
    126     srcs: [
    127         // Helpers/infra for testing.
    128         "tests/CommonHelpers.cpp",
    129         "tests/TestHelpers.cpp",
    130         "tests/TestMain.cpp",
    131 
    132         // Actual tests.
    133         "tests/ApkAssets_test.cpp",
    134         "tests/AppAsLib_test.cpp",
    135         "tests/Asset_test.cpp",
    136         "tests/AssetManager2_test.cpp",
    137         "tests/AttributeFinder_test.cpp",
    138         "tests/AttributeResolution_test.cpp",
    139         "tests/ByteBucketArray_test.cpp",
    140         "tests/Config_test.cpp",
    141         "tests/ConfigDescription_test.cpp",
    142         "tests/ConfigLocale_test.cpp",
    143         "tests/DynamicRefTable_test.cpp",
    144         "tests/Idmap_test.cpp",
    145         "tests/LoadedArsc_test.cpp",
    146         "tests/Locale_test.cpp",
    147         "tests/ResourceUtils_test.cpp",
    148         "tests/ResTable_test.cpp",
    149         "tests/Split_test.cpp",
    150         "tests/StringPiece_test.cpp",
    151         "tests/Theme_test.cpp",
    152         "tests/TypeWrappers_test.cpp",
    153         "tests/ZipUtils_test.cpp",
    154     ],
    155     static_libs: ["libgmock"],
    156     target: {
    157         android: {
    158             srcs: [
    159                 "tests/BackupData_test.cpp",
    160                 "tests/ObbFile_test.cpp",
    161                 "tests/PosixUtils_test.cpp",
    162             ],
    163             shared_libs: common_test_libs + ["libui"],
    164         },
    165         host: {
    166             static_libs: common_test_libs + ["liblog", "libz"],
    167         },
    168     },
    169     data: ["tests/data/**/*.apk"],
    170     test_suites: ["device-tests"],
    171 }
    172 
    173 cc_benchmark {
    174     name: "libandroidfw_benchmarks",
    175     defaults: ["libandroidfw_defaults"],
    176     srcs: [
    177         // Helpers/infra for benchmarking.
    178         "tests/BenchMain.cpp",
    179         "tests/BenchmarkHelpers.cpp",
    180         "tests/CommonHelpers.cpp",
    181 
    182         // Actual benchmarks.
    183         "tests/AssetManager2_bench.cpp",
    184         "tests/AttributeResolution_bench.cpp",
    185         "tests/SparseEntry_bench.cpp",
    186         "tests/Theme_bench.cpp",
    187     ],
    188     shared_libs: common_test_libs,
    189     data: ["tests/data/**/*.apk"],
    190 }
    191 
    192