xref: /aosp_15_r20/system/libvintf/Android.bp (revision 70a7ec852fcefd15a4fb57f8f183a8b1c3aacb08)
1*70a7ec85SAndroid Build Coastguard Worker// Copyright (C) 2017 The Android Open Source Project
2*70a7ec85SAndroid Build Coastguard Worker//
3*70a7ec85SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*70a7ec85SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*70a7ec85SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*70a7ec85SAndroid Build Coastguard Worker//
7*70a7ec85SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*70a7ec85SAndroid Build Coastguard Worker//
9*70a7ec85SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*70a7ec85SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*70a7ec85SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*70a7ec85SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*70a7ec85SAndroid Build Coastguard Worker// limitations under the License.
14*70a7ec85SAndroid Build Coastguard Worker
15*70a7ec85SAndroid Build Coastguard Workerpackage {
16*70a7ec85SAndroid Build Coastguard Worker    default_applicable_licenses: ["system_libvintf_license"],
17*70a7ec85SAndroid Build Coastguard Worker}
18*70a7ec85SAndroid Build Coastguard Worker
19*70a7ec85SAndroid Build Coastguard Worker// Added automatically by a large-scale-change
20*70a7ec85SAndroid Build Coastguard Worker// http://go/android-license-faq
21*70a7ec85SAndroid Build Coastguard Workerlicense {
22*70a7ec85SAndroid Build Coastguard Worker    name: "system_libvintf_license",
23*70a7ec85SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
24*70a7ec85SAndroid Build Coastguard Worker    license_kinds: [
25*70a7ec85SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
26*70a7ec85SAndroid Build Coastguard Worker    ],
27*70a7ec85SAndroid Build Coastguard Worker    license_text: [
28*70a7ec85SAndroid Build Coastguard Worker        "NOTICE",
29*70a7ec85SAndroid Build Coastguard Worker    ],
30*70a7ec85SAndroid Build Coastguard Worker}
31*70a7ec85SAndroid Build Coastguard Worker
32*70a7ec85SAndroid Build Coastguard Workercc_defaults {
33*70a7ec85SAndroid Build Coastguard Worker    name: "libvintf-defaults",
34*70a7ec85SAndroid Build Coastguard Worker    cflags: [
35*70a7ec85SAndroid Build Coastguard Worker        "-Wall",
36*70a7ec85SAndroid Build Coastguard Worker        "-Werror",
37*70a7ec85SAndroid Build Coastguard Worker        "-Wextra-semi",
38*70a7ec85SAndroid Build Coastguard Worker        "-Wshadow",
39*70a7ec85SAndroid Build Coastguard Worker    ],
40*70a7ec85SAndroid Build Coastguard Worker
41*70a7ec85SAndroid Build Coastguard Worker    target: {
42*70a7ec85SAndroid Build Coastguard Worker        android: {
43*70a7ec85SAndroid Build Coastguard Worker            cflags: ["-DLIBVINTF_TARGET"],
44*70a7ec85SAndroid Build Coastguard Worker        },
45*70a7ec85SAndroid Build Coastguard Worker    },
46*70a7ec85SAndroid Build Coastguard Worker}
47*70a7ec85SAndroid Build Coastguard Worker
48*70a7ec85SAndroid Build Coastguard Workerlibvintf_private_deps = [
49*70a7ec85SAndroid Build Coastguard Worker    "libbase",
50*70a7ec85SAndroid Build Coastguard Worker    "liblog",
51*70a7ec85SAndroid Build Coastguard Worker    "libselinux",
52*70a7ec85SAndroid Build Coastguard Worker    "libtinyxml2",
53*70a7ec85SAndroid Build Coastguard Worker    "libz",
54*70a7ec85SAndroid Build Coastguard Worker]
55*70a7ec85SAndroid Build Coastguard Worker
56*70a7ec85SAndroid Build Coastguard Workercc_defaults {
57*70a7ec85SAndroid Build Coastguard Worker    name: "libvintf_static_user_defaults",
58*70a7ec85SAndroid Build Coastguard Worker    static_libs: libvintf_private_deps,
59*70a7ec85SAndroid Build Coastguard Worker}
60*70a7ec85SAndroid Build Coastguard Worker
61*70a7ec85SAndroid Build Coastguard Workercc_library {
62*70a7ec85SAndroid Build Coastguard Worker    name: "libvintf",
63*70a7ec85SAndroid Build Coastguard Worker    defaults: ["libvintf-defaults"],
64*70a7ec85SAndroid Build Coastguard Worker    host_supported: true,
65*70a7ec85SAndroid Build Coastguard Worker    recovery_available: true,
66*70a7ec85SAndroid Build Coastguard Worker    srcs: [
67*70a7ec85SAndroid Build Coastguard Worker        "parse_string.cpp",
68*70a7ec85SAndroid Build Coastguard Worker        "parse_xml.cpp",
69*70a7ec85SAndroid Build Coastguard Worker        "Apex.cpp",
70*70a7ec85SAndroid Build Coastguard Worker        "CompatibilityMatrix.cpp",
71*70a7ec85SAndroid Build Coastguard Worker        "FileSystem.cpp",
72*70a7ec85SAndroid Build Coastguard Worker        "FQName.cpp",
73*70a7ec85SAndroid Build Coastguard Worker        "FqInstance.cpp",
74*70a7ec85SAndroid Build Coastguard Worker        "HalManifest.cpp",
75*70a7ec85SAndroid Build Coastguard Worker        "HalInterface.cpp",
76*70a7ec85SAndroid Build Coastguard Worker        "KernelConfigTypedValue.cpp",
77*70a7ec85SAndroid Build Coastguard Worker        "KernelInfo.cpp",
78*70a7ec85SAndroid Build Coastguard Worker        "RuntimeInfo.cpp",
79*70a7ec85SAndroid Build Coastguard Worker        "ManifestHal.cpp",
80*70a7ec85SAndroid Build Coastguard Worker        "ManifestInstance.cpp",
81*70a7ec85SAndroid Build Coastguard Worker        "MatrixHal.cpp",
82*70a7ec85SAndroid Build Coastguard Worker        "MatrixInstance.cpp",
83*70a7ec85SAndroid Build Coastguard Worker        "MatrixKernel.cpp",
84*70a7ec85SAndroid Build Coastguard Worker        "PropertyFetcher.cpp",
85*70a7ec85SAndroid Build Coastguard Worker        "Regex.cpp",
86*70a7ec85SAndroid Build Coastguard Worker        "SystemSdk.cpp",
87*70a7ec85SAndroid Build Coastguard Worker        "TransportArch.cpp",
88*70a7ec85SAndroid Build Coastguard Worker        "VintfObject.cpp",
89*70a7ec85SAndroid Build Coastguard Worker        "XmlFile.cpp",
90*70a7ec85SAndroid Build Coastguard Worker        "utils.cpp",
91*70a7ec85SAndroid Build Coastguard Worker    ],
92*70a7ec85SAndroid Build Coastguard Worker    product_variables: {
93*70a7ec85SAndroid Build Coastguard Worker        release_aidl_use_unfrozen: {
94*70a7ec85SAndroid Build Coastguard Worker            cflags: ["-DAIDL_USE_UNFROZEN"],
95*70a7ec85SAndroid Build Coastguard Worker        },
96*70a7ec85SAndroid Build Coastguard Worker    },
97*70a7ec85SAndroid Build Coastguard Worker    generated_sources: ["apex-info-list-tinyxml"],
98*70a7ec85SAndroid Build Coastguard Worker    shared_libs: libvintf_private_deps,
99*70a7ec85SAndroid Build Coastguard Worker    header_libs: [
100*70a7ec85SAndroid Build Coastguard Worker        "libaidlmetadata_headers",
101*70a7ec85SAndroid Build Coastguard Worker        "libhidlmetadata_headers",
102*70a7ec85SAndroid Build Coastguard Worker    ],
103*70a7ec85SAndroid Build Coastguard Worker    whole_static_libs: [
104*70a7ec85SAndroid Build Coastguard Worker        "libkver",
105*70a7ec85SAndroid Build Coastguard Worker        "libkernelconfigs",
106*70a7ec85SAndroid Build Coastguard Worker    ],
107*70a7ec85SAndroid Build Coastguard Worker    export_include_dirs: [
108*70a7ec85SAndroid Build Coastguard Worker        "include",
109*70a7ec85SAndroid Build Coastguard Worker        ".",
110*70a7ec85SAndroid Build Coastguard Worker    ],
111*70a7ec85SAndroid Build Coastguard Worker    local_include_dirs: ["include/vintf"],
112*70a7ec85SAndroid Build Coastguard Worker
113*70a7ec85SAndroid Build Coastguard Worker    export_shared_lib_headers: [
114*70a7ec85SAndroid Build Coastguard Worker        "libbase",
115*70a7ec85SAndroid Build Coastguard Worker    ],
116*70a7ec85SAndroid Build Coastguard Worker    export_header_lib_headers: [
117*70a7ec85SAndroid Build Coastguard Worker        "libaidlmetadata_headers",
118*70a7ec85SAndroid Build Coastguard Worker        "libhidlmetadata_headers",
119*70a7ec85SAndroid Build Coastguard Worker    ],
120*70a7ec85SAndroid Build Coastguard Worker    target: {
121*70a7ec85SAndroid Build Coastguard Worker        host: {
122*70a7ec85SAndroid Build Coastguard Worker            srcs: [
123*70a7ec85SAndroid Build Coastguard Worker                "RuntimeInfo-host.cpp",
124*70a7ec85SAndroid Build Coastguard Worker                "VintfObjectRecovery.cpp",
125*70a7ec85SAndroid Build Coastguard Worker            ],
126*70a7ec85SAndroid Build Coastguard Worker        },
127*70a7ec85SAndroid Build Coastguard Worker        android: {
128*70a7ec85SAndroid Build Coastguard Worker            srcs: [
129*70a7ec85SAndroid Build Coastguard Worker                "RuntimeInfo-target.cpp",
130*70a7ec85SAndroid Build Coastguard Worker            ],
131*70a7ec85SAndroid Build Coastguard Worker        },
132*70a7ec85SAndroid Build Coastguard Worker        recovery: {
133*70a7ec85SAndroid Build Coastguard Worker            srcs: [
134*70a7ec85SAndroid Build Coastguard Worker                "VintfObjectRecovery.cpp",
135*70a7ec85SAndroid Build Coastguard Worker            ],
136*70a7ec85SAndroid Build Coastguard Worker        },
137*70a7ec85SAndroid Build Coastguard Worker    },
138*70a7ec85SAndroid Build Coastguard Worker}
139*70a7ec85SAndroid Build Coastguard Worker
140*70a7ec85SAndroid Build Coastguard Workercc_library_headers {
141*70a7ec85SAndroid Build Coastguard Worker    name: "libvintf_local_headers",
142*70a7ec85SAndroid Build Coastguard Worker    host_supported: true,
143*70a7ec85SAndroid Build Coastguard Worker    export_include_dirs: ["."],
144*70a7ec85SAndroid Build Coastguard Worker    visibility: [
145*70a7ec85SAndroid Build Coastguard Worker        "//system/libvintf:__subpackages__",
146*70a7ec85SAndroid Build Coastguard Worker    ],
147*70a7ec85SAndroid Build Coastguard Worker}
148*70a7ec85SAndroid Build Coastguard Worker
149*70a7ec85SAndroid Build Coastguard Workercc_binary {
150*70a7ec85SAndroid Build Coastguard Worker    name: "vintf",
151*70a7ec85SAndroid Build Coastguard Worker    defaults: ["libvintf-defaults"],
152*70a7ec85SAndroid Build Coastguard Worker    shared_libs: [
153*70a7ec85SAndroid Build Coastguard Worker        "libbase",
154*70a7ec85SAndroid Build Coastguard Worker        "libjsoncpp",
155*70a7ec85SAndroid Build Coastguard Worker        "libvintf",
156*70a7ec85SAndroid Build Coastguard Worker    ],
157*70a7ec85SAndroid Build Coastguard Worker    srcs: [
158*70a7ec85SAndroid Build Coastguard Worker        "main.cpp",
159*70a7ec85SAndroid Build Coastguard Worker    ],
160*70a7ec85SAndroid Build Coastguard Worker}
161*70a7ec85SAndroid Build Coastguard Worker
162*70a7ec85SAndroid Build Coastguard Workercc_binary_host {
163*70a7ec85SAndroid Build Coastguard Worker    name: "checkvintf",
164*70a7ec85SAndroid Build Coastguard Worker    defaults: ["libvintf-defaults"],
165*70a7ec85SAndroid Build Coastguard Worker    static_libs: [
166*70a7ec85SAndroid Build Coastguard Worker        "libaidlmetadata",
167*70a7ec85SAndroid Build Coastguard Worker        "libbase",
168*70a7ec85SAndroid Build Coastguard Worker        "libhidlmetadata",
169*70a7ec85SAndroid Build Coastguard Worker        "liblog",
170*70a7ec85SAndroid Build Coastguard Worker        "libvintf",
171*70a7ec85SAndroid Build Coastguard Worker        "libvintf_fcm_exclude",
172*70a7ec85SAndroid Build Coastguard Worker        "libutils",
173*70a7ec85SAndroid Build Coastguard Worker        "libtinyxml2",
174*70a7ec85SAndroid Build Coastguard Worker    ],
175*70a7ec85SAndroid Build Coastguard Worker    stl: "libc++_static",
176*70a7ec85SAndroid Build Coastguard Worker    srcs: [
177*70a7ec85SAndroid Build Coastguard Worker        "check_vintf.cpp",
178*70a7ec85SAndroid Build Coastguard Worker        "HostFileSystem.cpp",
179*70a7ec85SAndroid Build Coastguard Worker    ],
180*70a7ec85SAndroid Build Coastguard Worker    local_include_dirs: ["include-host"],
181*70a7ec85SAndroid Build Coastguard Worker    dist: {
182*70a7ec85SAndroid Build Coastguard Worker        targets: ["dist_files"],
183*70a7ec85SAndroid Build Coastguard Worker    },
184*70a7ec85SAndroid Build Coastguard Worker}
185*70a7ec85SAndroid Build Coastguard Worker
186*70a7ec85SAndroid Build Coastguard Workercc_library_static {
187*70a7ec85SAndroid Build Coastguard Worker    name: "libassemblevintf",
188*70a7ec85SAndroid Build Coastguard Worker    host_supported: true,
189*70a7ec85SAndroid Build Coastguard Worker    defaults: ["libvintf-defaults"],
190*70a7ec85SAndroid Build Coastguard Worker    shared_libs: [
191*70a7ec85SAndroid Build Coastguard Worker        "libvintf",
192*70a7ec85SAndroid Build Coastguard Worker        "libbase",
193*70a7ec85SAndroid Build Coastguard Worker    ],
194*70a7ec85SAndroid Build Coastguard Worker    static_libs: [
195*70a7ec85SAndroid Build Coastguard Worker        "libaidlmetadata",
196*70a7ec85SAndroid Build Coastguard Worker        "libvts_vintf_test_common",
197*70a7ec85SAndroid Build Coastguard Worker    ],
198*70a7ec85SAndroid Build Coastguard Worker    product_variables: {
199*70a7ec85SAndroid Build Coastguard Worker        release_aidl_use_unfrozen: {
200*70a7ec85SAndroid Build Coastguard Worker            cflags: ["-DAIDL_USE_UNFROZEN"],
201*70a7ec85SAndroid Build Coastguard Worker        },
202*70a7ec85SAndroid Build Coastguard Worker    },
203*70a7ec85SAndroid Build Coastguard Worker    srcs: [
204*70a7ec85SAndroid Build Coastguard Worker        "AssembleVintf.cpp",
205*70a7ec85SAndroid Build Coastguard Worker    ],
206*70a7ec85SAndroid Build Coastguard Worker    export_include_dirs: ["include-test"],
207*70a7ec85SAndroid Build Coastguard Worker}
208*70a7ec85SAndroid Build Coastguard Worker
209*70a7ec85SAndroid Build Coastguard Workercc_binary_host {
210*70a7ec85SAndroid Build Coastguard Worker    name: "assemble_vintf",
211*70a7ec85SAndroid Build Coastguard Worker    defaults: ["libvintf-defaults"],
212*70a7ec85SAndroid Build Coastguard Worker    shared_libs: [
213*70a7ec85SAndroid Build Coastguard Worker        "libvintf",
214*70a7ec85SAndroid Build Coastguard Worker        "libbase",
215*70a7ec85SAndroid Build Coastguard Worker    ],
216*70a7ec85SAndroid Build Coastguard Worker    static_libs: [
217*70a7ec85SAndroid Build Coastguard Worker        "libaidlmetadata",
218*70a7ec85SAndroid Build Coastguard Worker        "libassemblevintf",
219*70a7ec85SAndroid Build Coastguard Worker        "libvts_vintf_test_common",
220*70a7ec85SAndroid Build Coastguard Worker    ],
221*70a7ec85SAndroid Build Coastguard Worker    srcs: [
222*70a7ec85SAndroid Build Coastguard Worker        "assemble_vintf_main.cpp",
223*70a7ec85SAndroid Build Coastguard Worker    ],
224*70a7ec85SAndroid Build Coastguard Worker}
225*70a7ec85SAndroid Build Coastguard Worker
226*70a7ec85SAndroid Build Coastguard Workercc_defaults {
227*70a7ec85SAndroid Build Coastguard Worker    name: "libvintffm-defaults",
228*70a7ec85SAndroid Build Coastguard Worker    defaults: ["libvintf-defaults"],
229*70a7ec85SAndroid Build Coastguard Worker    host_supported: true,
230*70a7ec85SAndroid Build Coastguard Worker    export_include_dirs: [
231*70a7ec85SAndroid Build Coastguard Worker        "include-host",
232*70a7ec85SAndroid Build Coastguard Worker        "include-test",
233*70a7ec85SAndroid Build Coastguard Worker    ],
234*70a7ec85SAndroid Build Coastguard Worker    target: {
235*70a7ec85SAndroid Build Coastguard Worker        android: {
236*70a7ec85SAndroid Build Coastguard Worker            enabled: false,
237*70a7ec85SAndroid Build Coastguard Worker        },
238*70a7ec85SAndroid Build Coastguard Worker    },
239*70a7ec85SAndroid Build Coastguard Worker    static_libs: [
240*70a7ec85SAndroid Build Coastguard Worker        "libbase",
241*70a7ec85SAndroid Build Coastguard Worker        "liblog",
242*70a7ec85SAndroid Build Coastguard Worker        "libtinyxml2",
243*70a7ec85SAndroid Build Coastguard Worker        "libutils",
244*70a7ec85SAndroid Build Coastguard Worker        "libvintf",
245*70a7ec85SAndroid Build Coastguard Worker    ],
246*70a7ec85SAndroid Build Coastguard Worker}
247*70a7ec85SAndroid Build Coastguard Worker
248*70a7ec85SAndroid Build Coastguard Workercc_library_static {
249*70a7ec85SAndroid Build Coastguard Worker    name: "libvintffm",
250*70a7ec85SAndroid Build Coastguard Worker    defaults: ["libvintffm-defaults"],
251*70a7ec85SAndroid Build Coastguard Worker    srcs: [
252*70a7ec85SAndroid Build Coastguard Worker        "HostFileSystem.cpp",
253*70a7ec85SAndroid Build Coastguard Worker        "VintfFm.cpp",
254*70a7ec85SAndroid Build Coastguard Worker    ],
255*70a7ec85SAndroid Build Coastguard Worker}
256*70a7ec85SAndroid Build Coastguard Worker
257*70a7ec85SAndroid Build Coastguard Workercc_binary_host {
258*70a7ec85SAndroid Build Coastguard Worker    name: "vintffm",
259*70a7ec85SAndroid Build Coastguard Worker    defaults: ["libvintffm-defaults"],
260*70a7ec85SAndroid Build Coastguard Worker    static_libs: [
261*70a7ec85SAndroid Build Coastguard Worker        "libvintffm",
262*70a7ec85SAndroid Build Coastguard Worker    ],
263*70a7ec85SAndroid Build Coastguard Worker    srcs: [
264*70a7ec85SAndroid Build Coastguard Worker        "VintfFmMain.cpp",
265*70a7ec85SAndroid Build Coastguard Worker    ],
266*70a7ec85SAndroid Build Coastguard Worker}
267*70a7ec85SAndroid Build Coastguard Worker
268*70a7ec85SAndroid Build Coastguard Workercc_library_static {
269*70a7ec85SAndroid Build Coastguard Worker    name: "libkernelconfigs",
270*70a7ec85SAndroid Build Coastguard Worker    defaults: ["libvintf-defaults"],
271*70a7ec85SAndroid Build Coastguard Worker    host_supported: true,
272*70a7ec85SAndroid Build Coastguard Worker    recovery_available: true,
273*70a7ec85SAndroid Build Coastguard Worker    srcs: [
274*70a7ec85SAndroid Build Coastguard Worker        "KernelConfigs.cpp",
275*70a7ec85SAndroid Build Coastguard Worker        "KernelConfigParser.cpp",
276*70a7ec85SAndroid Build Coastguard Worker    ],
277*70a7ec85SAndroid Build Coastguard Worker    header_libs: [
278*70a7ec85SAndroid Build Coastguard Worker        "libutils_headers",
279*70a7ec85SAndroid Build Coastguard Worker    ],
280*70a7ec85SAndroid Build Coastguard Worker    shared_libs: [
281*70a7ec85SAndroid Build Coastguard Worker        "libbase",
282*70a7ec85SAndroid Build Coastguard Worker        "libz",
283*70a7ec85SAndroid Build Coastguard Worker    ],
284*70a7ec85SAndroid Build Coastguard Worker    export_include_dirs: [
285*70a7ec85SAndroid Build Coastguard Worker        "include",
286*70a7ec85SAndroid Build Coastguard Worker    ],
287*70a7ec85SAndroid Build Coastguard Worker    local_include_dirs: [
288*70a7ec85SAndroid Build Coastguard Worker        "include/vintf",
289*70a7ec85SAndroid Build Coastguard Worker    ],
290*70a7ec85SAndroid Build Coastguard Worker}
291