xref: /aosp_15_r20/frameworks/base/tools/aapt/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker//
2*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2014 The Android Open Source Project
3*d57664e9SAndroid Build Coastguard Worker//
4*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*d57664e9SAndroid Build Coastguard Worker//
8*d57664e9SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*d57664e9SAndroid Build Coastguard Worker//
10*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*d57664e9SAndroid Build Coastguard Worker// limitations under the License.
15*d57664e9SAndroid Build Coastguard Worker//
16*d57664e9SAndroid Build Coastguard Worker
17*d57664e9SAndroid Build Coastguard Worker// ==========================================================
18*d57664e9SAndroid Build Coastguard Worker// Setup some common variables for the different build
19*d57664e9SAndroid Build Coastguard Worker// targets here.
20*d57664e9SAndroid Build Coastguard Worker// ==========================================================
21*d57664e9SAndroid Build Coastguard Worker
22*d57664e9SAndroid Build Coastguard Workerpackage {
23*d57664e9SAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_base_tools_aapt_license"],
24*d57664e9SAndroid Build Coastguard Worker}
25*d57664e9SAndroid Build Coastguard Worker
26*d57664e9SAndroid Build Coastguard Worker// Added automatically by a large-scale-change
27*d57664e9SAndroid Build Coastguard Worker// See: http://go/android-license-faq
28*d57664e9SAndroid Build Coastguard Workerlicense {
29*d57664e9SAndroid Build Coastguard Worker    name: "frameworks_base_tools_aapt_license",
30*d57664e9SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
31*d57664e9SAndroid Build Coastguard Worker    license_kinds: [
32*d57664e9SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
33*d57664e9SAndroid Build Coastguard Worker    ],
34*d57664e9SAndroid Build Coastguard Worker    license_text: [
35*d57664e9SAndroid Build Coastguard Worker        "NOTICE",
36*d57664e9SAndroid Build Coastguard Worker    ],
37*d57664e9SAndroid Build Coastguard Worker}
38*d57664e9SAndroid Build Coastguard Worker
39*d57664e9SAndroid Build Coastguard Workercc_defaults {
40*d57664e9SAndroid Build Coastguard Worker    name: "aapt_defaults",
41*d57664e9SAndroid Build Coastguard Worker
42*d57664e9SAndroid Build Coastguard Worker    static_libs: [
43*d57664e9SAndroid Build Coastguard Worker        "libandroidfw",
44*d57664e9SAndroid Build Coastguard Worker        "libpng",
45*d57664e9SAndroid Build Coastguard Worker        "libutils",
46*d57664e9SAndroid Build Coastguard Worker        "liblog",
47*d57664e9SAndroid Build Coastguard Worker        "libcutils",
48*d57664e9SAndroid Build Coastguard Worker        "libexpat",
49*d57664e9SAndroid Build Coastguard Worker        "libziparchive",
50*d57664e9SAndroid Build Coastguard Worker        "libbase",
51*d57664e9SAndroid Build Coastguard Worker        "libz",
52*d57664e9SAndroid Build Coastguard Worker    ],
53*d57664e9SAndroid Build Coastguard Worker
54*d57664e9SAndroid Build Coastguard Worker    whole_static_libs: [
55*d57664e9SAndroid Build Coastguard Worker        "libandroidfw_pathutils",
56*d57664e9SAndroid Build Coastguard Worker    ],
57*d57664e9SAndroid Build Coastguard Worker
58*d57664e9SAndroid Build Coastguard Worker    cflags: [
59*d57664e9SAndroid Build Coastguard Worker        "-Wall",
60*d57664e9SAndroid Build Coastguard Worker        "-Werror",
61*d57664e9SAndroid Build Coastguard Worker    ],
62*d57664e9SAndroid Build Coastguard Worker
63*d57664e9SAndroid Build Coastguard Worker    target: {
64*d57664e9SAndroid Build Coastguard Worker        windows: {
65*d57664e9SAndroid Build Coastguard Worker            enabled: true,
66*d57664e9SAndroid Build Coastguard Worker        },
67*d57664e9SAndroid Build Coastguard Worker    },
68*d57664e9SAndroid Build Coastguard Worker}
69*d57664e9SAndroid Build Coastguard Worker
70*d57664e9SAndroid Build Coastguard Worker// ==========================================================
71*d57664e9SAndroid Build Coastguard Worker// Build the host static library: libaapt
72*d57664e9SAndroid Build Coastguard Worker// ==========================================================
73*d57664e9SAndroid Build Coastguard Workercc_library_host_static {
74*d57664e9SAndroid Build Coastguard Worker    name: "libaapt",
75*d57664e9SAndroid Build Coastguard Worker    defaults: ["aapt_defaults"],
76*d57664e9SAndroid Build Coastguard Worker    target: {
77*d57664e9SAndroid Build Coastguard Worker        darwin: {
78*d57664e9SAndroid Build Coastguard Worker            cflags: ["-D_DARWIN_UNLIMITED_STREAMS"],
79*d57664e9SAndroid Build Coastguard Worker        },
80*d57664e9SAndroid Build Coastguard Worker    },
81*d57664e9SAndroid Build Coastguard Worker    cflags: [
82*d57664e9SAndroid Build Coastguard Worker        "-Wno-format-y2k",
83*d57664e9SAndroid Build Coastguard Worker        "-DSTATIC_ANDROIDFW_FOR_TOOLS",
84*d57664e9SAndroid Build Coastguard Worker    ],
85*d57664e9SAndroid Build Coastguard Worker
86*d57664e9SAndroid Build Coastguard Worker    srcs: [
87*d57664e9SAndroid Build Coastguard Worker        "AaptAssets.cpp",
88*d57664e9SAndroid Build Coastguard Worker        "AaptConfig.cpp",
89*d57664e9SAndroid Build Coastguard Worker        "AaptUtil.cpp",
90*d57664e9SAndroid Build Coastguard Worker        "AaptXml.cpp",
91*d57664e9SAndroid Build Coastguard Worker        "ApkBuilder.cpp",
92*d57664e9SAndroid Build Coastguard Worker        "Command.cpp",
93*d57664e9SAndroid Build Coastguard Worker        "CrunchCache.cpp",
94*d57664e9SAndroid Build Coastguard Worker        "FileFinder.cpp",
95*d57664e9SAndroid Build Coastguard Worker        "Images.cpp",
96*d57664e9SAndroid Build Coastguard Worker        "Package.cpp",
97*d57664e9SAndroid Build Coastguard Worker        "pseudolocalize.cpp",
98*d57664e9SAndroid Build Coastguard Worker        "Resource.cpp",
99*d57664e9SAndroid Build Coastguard Worker        "ResourceFilter.cpp",
100*d57664e9SAndroid Build Coastguard Worker        "ResourceIdCache.cpp",
101*d57664e9SAndroid Build Coastguard Worker        "ResourceTable.cpp",
102*d57664e9SAndroid Build Coastguard Worker        "SourcePos.cpp",
103*d57664e9SAndroid Build Coastguard Worker        "StringPool.cpp",
104*d57664e9SAndroid Build Coastguard Worker        "Utils.cpp",
105*d57664e9SAndroid Build Coastguard Worker        "WorkQueue.cpp",
106*d57664e9SAndroid Build Coastguard Worker        "XMLNode.cpp",
107*d57664e9SAndroid Build Coastguard Worker        "ZipEntry.cpp",
108*d57664e9SAndroid Build Coastguard Worker        "ZipFile.cpp",
109*d57664e9SAndroid Build Coastguard Worker    ],
110*d57664e9SAndroid Build Coastguard Worker}
111*d57664e9SAndroid Build Coastguard Worker
112*d57664e9SAndroid Build Coastguard Worker// ==========================================================
113*d57664e9SAndroid Build Coastguard Worker// Build the host executable: aapt
114*d57664e9SAndroid Build Coastguard Worker// ==========================================================
115*d57664e9SAndroid Build Coastguard Workercc_binary_host {
116*d57664e9SAndroid Build Coastguard Worker    name: "aapt",
117*d57664e9SAndroid Build Coastguard Worker    defaults: ["aapt_defaults"],
118*d57664e9SAndroid Build Coastguard Worker    srcs: ["Main.cpp"],
119*d57664e9SAndroid Build Coastguard Worker    use_version_lib: true,
120*d57664e9SAndroid Build Coastguard Worker    static_libs: ["libaapt"],
121*d57664e9SAndroid Build Coastguard Worker    dist: {
122*d57664e9SAndroid Build Coastguard Worker        targets: ["aapt2_artifacts"],
123*d57664e9SAndroid Build Coastguard Worker    },
124*d57664e9SAndroid Build Coastguard Worker}
125*d57664e9SAndroid Build Coastguard Worker
126*d57664e9SAndroid Build Coastguard Worker// ==========================================================
127*d57664e9SAndroid Build Coastguard Worker// Build the host tests: libaapt_tests
128*d57664e9SAndroid Build Coastguard Worker// ==========================================================
129*d57664e9SAndroid Build Coastguard Workercc_test_host {
130*d57664e9SAndroid Build Coastguard Worker    name: "libaapt_tests",
131*d57664e9SAndroid Build Coastguard Worker    defaults: ["aapt_defaults"],
132*d57664e9SAndroid Build Coastguard Worker    srcs: [
133*d57664e9SAndroid Build Coastguard Worker        "tests/AaptConfig_test.cpp",
134*d57664e9SAndroid Build Coastguard Worker        "tests/AaptGroupEntry_test.cpp",
135*d57664e9SAndroid Build Coastguard Worker        "tests/Pseudolocales_test.cpp",
136*d57664e9SAndroid Build Coastguard Worker        "tests/ResourceFilter_test.cpp",
137*d57664e9SAndroid Build Coastguard Worker        "tests/ResourceTable_test.cpp",
138*d57664e9SAndroid Build Coastguard Worker    ],
139*d57664e9SAndroid Build Coastguard Worker    static_libs: ["libaapt"],
140*d57664e9SAndroid Build Coastguard Worker}
141