xref: /aosp_15_r20/development/vndk/tools/header-checker/Android.bp (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker//
2*90c8c64dSAndroid Build Coastguard Worker// Copyright (C) 2016 The Android Open Source Project
3*90c8c64dSAndroid Build Coastguard Worker//
4*90c8c64dSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*90c8c64dSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*90c8c64dSAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*90c8c64dSAndroid Build Coastguard Worker//
8*90c8c64dSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*90c8c64dSAndroid Build Coastguard Worker//
10*90c8c64dSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*90c8c64dSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*90c8c64dSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*90c8c64dSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*90c8c64dSAndroid Build Coastguard Worker// limitations under the License.
15*90c8c64dSAndroid Build Coastguard Worker//
16*90c8c64dSAndroid Build Coastguard Worker
17*90c8c64dSAndroid Build Coastguard Workerpackage {
18*90c8c64dSAndroid Build Coastguard Worker    default_team: "trendy_team_treble",
19*90c8c64dSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
20*90c8c64dSAndroid Build Coastguard Worker}
21*90c8c64dSAndroid Build Coastguard Worker
22*90c8c64dSAndroid Build Coastguard Workercc_defaults {
23*90c8c64dSAndroid Build Coastguard Worker    name: "header-checker-defaults",
24*90c8c64dSAndroid Build Coastguard Worker
25*90c8c64dSAndroid Build Coastguard Worker    defaults: [
26*90c8c64dSAndroid Build Coastguard Worker        "llvm-build-host-tools-defaults",
27*90c8c64dSAndroid Build Coastguard Worker    ],
28*90c8c64dSAndroid Build Coastguard Worker
29*90c8c64dSAndroid Build Coastguard Worker    cflags: [
30*90c8c64dSAndroid Build Coastguard Worker        "-Wall",
31*90c8c64dSAndroid Build Coastguard Worker        "-Werror",
32*90c8c64dSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
33*90c8c64dSAndroid Build Coastguard Worker        "-DGOOGLE_PROTOBUF_NO_RTTI",
34*90c8c64dSAndroid Build Coastguard Worker        "-UNDEBUG",
35*90c8c64dSAndroid Build Coastguard Worker    ],
36*90c8c64dSAndroid Build Coastguard Worker
37*90c8c64dSAndroid Build Coastguard Worker    cppflags: [
38*90c8c64dSAndroid Build Coastguard Worker        "-fno-exceptions",
39*90c8c64dSAndroid Build Coastguard Worker        "-fno-rtti",
40*90c8c64dSAndroid Build Coastguard Worker    ],
41*90c8c64dSAndroid Build Coastguard Worker
42*90c8c64dSAndroid Build Coastguard Worker    target: {
43*90c8c64dSAndroid Build Coastguard Worker        windows: {
44*90c8c64dSAndroid Build Coastguard Worker            enabled: false,
45*90c8c64dSAndroid Build Coastguard Worker        },
46*90c8c64dSAndroid Build Coastguard Worker    },
47*90c8c64dSAndroid Build Coastguard Worker
48*90c8c64dSAndroid Build Coastguard Worker    local_include_dirs: [
49*90c8c64dSAndroid Build Coastguard Worker        "src",
50*90c8c64dSAndroid Build Coastguard Worker    ],
51*90c8c64dSAndroid Build Coastguard Worker
52*90c8c64dSAndroid Build Coastguard Worker    compile_multilib: "64",
53*90c8c64dSAndroid Build Coastguard Worker}
54*90c8c64dSAndroid Build Coastguard Worker
55*90c8c64dSAndroid Build Coastguard Workercc_binary_host {
56*90c8c64dSAndroid Build Coastguard Worker    name: "header-abi-dumper",
57*90c8c64dSAndroid Build Coastguard Worker
58*90c8c64dSAndroid Build Coastguard Worker    defaults: [
59*90c8c64dSAndroid Build Coastguard Worker        "header-checker-defaults",
60*90c8c64dSAndroid Build Coastguard Worker    ],
61*90c8c64dSAndroid Build Coastguard Worker
62*90c8c64dSAndroid Build Coastguard Worker    srcs: [
63*90c8c64dSAndroid Build Coastguard Worker        "src/dumper/abi_wrappers.cpp",
64*90c8c64dSAndroid Build Coastguard Worker        "src/dumper/ast_processing.cpp",
65*90c8c64dSAndroid Build Coastguard Worker        "src/dumper/fixed_argv.cpp",
66*90c8c64dSAndroid Build Coastguard Worker        "src/dumper/frontend_action.cpp",
67*90c8c64dSAndroid Build Coastguard Worker        "src/dumper/frontend_action_factory.cpp",
68*90c8c64dSAndroid Build Coastguard Worker        "src/dumper/header_checker.cpp",
69*90c8c64dSAndroid Build Coastguard Worker    ],
70*90c8c64dSAndroid Build Coastguard Worker
71*90c8c64dSAndroid Build Coastguard Worker    static_libs: [
72*90c8c64dSAndroid Build Coastguard Worker        "libheader-checker",
73*90c8c64dSAndroid Build Coastguard Worker        "libheader-checker-proto",
74*90c8c64dSAndroid Build Coastguard Worker        "libjsoncpp",
75*90c8c64dSAndroid Build Coastguard Worker    ],
76*90c8c64dSAndroid Build Coastguard Worker
77*90c8c64dSAndroid Build Coastguard Worker    shared_libs: [
78*90c8c64dSAndroid Build Coastguard Worker        "libprotobuf-cpp-full",
79*90c8c64dSAndroid Build Coastguard Worker        "libclang-cpp_host",
80*90c8c64dSAndroid Build Coastguard Worker    ],
81*90c8c64dSAndroid Build Coastguard Worker}
82*90c8c64dSAndroid Build Coastguard Worker
83*90c8c64dSAndroid Build Coastguard Workercc_defaults {
84*90c8c64dSAndroid Build Coastguard Worker    name: "header-abi-linker-defaults",
85*90c8c64dSAndroid Build Coastguard Worker
86*90c8c64dSAndroid Build Coastguard Worker    defaults: ["header-checker-defaults"],
87*90c8c64dSAndroid Build Coastguard Worker
88*90c8c64dSAndroid Build Coastguard Worker    static_libs: [
89*90c8c64dSAndroid Build Coastguard Worker        "libheader-checker",
90*90c8c64dSAndroid Build Coastguard Worker        "libheader-checker-proto",
91*90c8c64dSAndroid Build Coastguard Worker        "libjsoncpp",
92*90c8c64dSAndroid Build Coastguard Worker    ],
93*90c8c64dSAndroid Build Coastguard Worker
94*90c8c64dSAndroid Build Coastguard Worker    shared_libs: [
95*90c8c64dSAndroid Build Coastguard Worker        "libprotobuf-cpp-full",
96*90c8c64dSAndroid Build Coastguard Worker        "libclang-cpp_host",
97*90c8c64dSAndroid Build Coastguard Worker    ],
98*90c8c64dSAndroid Build Coastguard Worker}
99*90c8c64dSAndroid Build Coastguard Worker
100*90c8c64dSAndroid Build Coastguard Workercc_binary_host {
101*90c8c64dSAndroid Build Coastguard Worker    name: "header-abi-linker",
102*90c8c64dSAndroid Build Coastguard Worker
103*90c8c64dSAndroid Build Coastguard Worker    defaults: [
104*90c8c64dSAndroid Build Coastguard Worker        "header-checker-defaults",
105*90c8c64dSAndroid Build Coastguard Worker        "header-abi-linker-defaults",
106*90c8c64dSAndroid Build Coastguard Worker    ],
107*90c8c64dSAndroid Build Coastguard Worker
108*90c8c64dSAndroid Build Coastguard Worker    srcs: [
109*90c8c64dSAndroid Build Coastguard Worker        "src/linker/header_abi_linker.cpp",
110*90c8c64dSAndroid Build Coastguard Worker        "src/linker/module_merger.cpp",
111*90c8c64dSAndroid Build Coastguard Worker    ],
112*90c8c64dSAndroid Build Coastguard Worker}
113*90c8c64dSAndroid Build Coastguard Worker
114*90c8c64dSAndroid Build Coastguard Workercc_binary_host {
115*90c8c64dSAndroid Build Coastguard Worker    name: "header-abi-diff",
116*90c8c64dSAndroid Build Coastguard Worker
117*90c8c64dSAndroid Build Coastguard Worker    defaults: [
118*90c8c64dSAndroid Build Coastguard Worker        "header-checker-defaults",
119*90c8c64dSAndroid Build Coastguard Worker        "header-abi-linker-defaults",
120*90c8c64dSAndroid Build Coastguard Worker    ],
121*90c8c64dSAndroid Build Coastguard Worker
122*90c8c64dSAndroid Build Coastguard Worker    srcs: [
123*90c8c64dSAndroid Build Coastguard Worker        "src/diff/abi_diff.cpp",
124*90c8c64dSAndroid Build Coastguard Worker        "src/diff/abi_diff_wrappers.cpp",
125*90c8c64dSAndroid Build Coastguard Worker        "src/diff/header_abi_diff.cpp",
126*90c8c64dSAndroid Build Coastguard Worker    ],
127*90c8c64dSAndroid Build Coastguard Worker
128*90c8c64dSAndroid Build Coastguard Worker    static_libs: [
129*90c8c64dSAndroid Build Coastguard Worker        "libjsoncpp",
130*90c8c64dSAndroid Build Coastguard Worker    ],
131*90c8c64dSAndroid Build Coastguard Worker}
132*90c8c64dSAndroid Build Coastguard Worker
133*90c8c64dSAndroid Build Coastguard Workercc_library_host_static {
134*90c8c64dSAndroid Build Coastguard Worker    name: "libheader-checker",
135*90c8c64dSAndroid Build Coastguard Worker
136*90c8c64dSAndroid Build Coastguard Worker    defaults: [
137*90c8c64dSAndroid Build Coastguard Worker        "header-checker-defaults",
138*90c8c64dSAndroid Build Coastguard Worker    ],
139*90c8c64dSAndroid Build Coastguard Worker
140*90c8c64dSAndroid Build Coastguard Worker    srcs: [
141*90c8c64dSAndroid Build Coastguard Worker        "src/repr/abi_diff_helpers.cpp",
142*90c8c64dSAndroid Build Coastguard Worker        "src/repr/ir_diff_dumper.cpp",
143*90c8c64dSAndroid Build Coastguard Worker        "src/repr/ir_dumper.cpp",
144*90c8c64dSAndroid Build Coastguard Worker        "src/repr/ir_reader.cpp",
145*90c8c64dSAndroid Build Coastguard Worker        "src/repr/ir_representation.cpp",
146*90c8c64dSAndroid Build Coastguard Worker        "src/repr/json/converter.cpp",
147*90c8c64dSAndroid Build Coastguard Worker        "src/repr/json/ir_dumper.cpp",
148*90c8c64dSAndroid Build Coastguard Worker        "src/repr/json/ir_reader.cpp",
149*90c8c64dSAndroid Build Coastguard Worker        "src/repr/protobuf/ir_diff_dumper.cpp",
150*90c8c64dSAndroid Build Coastguard Worker        "src/repr/protobuf/ir_dumper.cpp",
151*90c8c64dSAndroid Build Coastguard Worker        "src/repr/protobuf/ir_reader.cpp",
152*90c8c64dSAndroid Build Coastguard Worker        "src/repr/symbol/exported_symbol_set.cpp",
153*90c8c64dSAndroid Build Coastguard Worker        "src/repr/symbol/so_file_parser.cpp",
154*90c8c64dSAndroid Build Coastguard Worker        "src/repr/symbol/version_script_parser.cpp",
155*90c8c64dSAndroid Build Coastguard Worker        "src/utils/api_level.cpp",
156*90c8c64dSAndroid Build Coastguard Worker        "src/utils/command_line_utils.cpp",
157*90c8c64dSAndroid Build Coastguard Worker        "src/utils/config_file.cpp",
158*90c8c64dSAndroid Build Coastguard Worker        "src/utils/source_path_utils.cpp",
159*90c8c64dSAndroid Build Coastguard Worker        "src/utils/string_utils.cpp",
160*90c8c64dSAndroid Build Coastguard Worker    ],
161*90c8c64dSAndroid Build Coastguard Worker
162*90c8c64dSAndroid Build Coastguard Worker    static_libs: [
163*90c8c64dSAndroid Build Coastguard Worker        "libbase",
164*90c8c64dSAndroid Build Coastguard Worker        "libheader-checker-proto",
165*90c8c64dSAndroid Build Coastguard Worker        "libjsoncpp",
166*90c8c64dSAndroid Build Coastguard Worker    ],
167*90c8c64dSAndroid Build Coastguard Worker
168*90c8c64dSAndroid Build Coastguard Worker    shared_libs: [
169*90c8c64dSAndroid Build Coastguard Worker        "libclang-cpp_host",
170*90c8c64dSAndroid Build Coastguard Worker        "libprotobuf-cpp-full",
171*90c8c64dSAndroid Build Coastguard Worker    ],
172*90c8c64dSAndroid Build Coastguard Worker
173*90c8c64dSAndroid Build Coastguard Worker    cflags: [
174*90c8c64dSAndroid Build Coastguard Worker        "-Wcast-qual",
175*90c8c64dSAndroid Build Coastguard Worker        "-Wno-long-long",
176*90c8c64dSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
177*90c8c64dSAndroid Build Coastguard Worker    ],
178*90c8c64dSAndroid Build Coastguard Worker}
179*90c8c64dSAndroid Build Coastguard Worker
180*90c8c64dSAndroid Build Coastguard Workercc_test_host {
181*90c8c64dSAndroid Build Coastguard Worker    name: "header-checker-unittests",
182*90c8c64dSAndroid Build Coastguard Worker
183*90c8c64dSAndroid Build Coastguard Worker    defaults: [
184*90c8c64dSAndroid Build Coastguard Worker        "header-checker-defaults",
185*90c8c64dSAndroid Build Coastguard Worker    ],
186*90c8c64dSAndroid Build Coastguard Worker
187*90c8c64dSAndroid Build Coastguard Worker    srcs: [
188*90c8c64dSAndroid Build Coastguard Worker        "src/repr/symbol/exported_symbol_set_test.cpp",
189*90c8c64dSAndroid Build Coastguard Worker        "src/repr/symbol/version_script_parser_test.cpp",
190*90c8c64dSAndroid Build Coastguard Worker        "src/utils/api_level_test.cpp",
191*90c8c64dSAndroid Build Coastguard Worker        "src/utils/config_file_test.cpp",
192*90c8c64dSAndroid Build Coastguard Worker        "src/utils/source_path_utils_test.cpp",
193*90c8c64dSAndroid Build Coastguard Worker        "src/utils/string_utils_test.cpp",
194*90c8c64dSAndroid Build Coastguard Worker    ],
195*90c8c64dSAndroid Build Coastguard Worker
196*90c8c64dSAndroid Build Coastguard Worker    static_libs: [
197*90c8c64dSAndroid Build Coastguard Worker        "libbase",
198*90c8c64dSAndroid Build Coastguard Worker        "libgmock",
199*90c8c64dSAndroid Build Coastguard Worker        "libgtest",
200*90c8c64dSAndroid Build Coastguard Worker        "libgtest_main",
201*90c8c64dSAndroid Build Coastguard Worker        "libheader-checker",
202*90c8c64dSAndroid Build Coastguard Worker        "libjsoncpp",
203*90c8c64dSAndroid Build Coastguard Worker        "liblog",
204*90c8c64dSAndroid Build Coastguard Worker    ],
205*90c8c64dSAndroid Build Coastguard Worker
206*90c8c64dSAndroid Build Coastguard Worker    shared_libs: [
207*90c8c64dSAndroid Build Coastguard Worker        "libclang-cpp_host",
208*90c8c64dSAndroid Build Coastguard Worker    ],
209*90c8c64dSAndroid Build Coastguard Worker
210*90c8c64dSAndroid Build Coastguard Worker    test_suites: ["general-tests"],
211*90c8c64dSAndroid Build Coastguard Worker}
212