blob: aff2d05543e51eca0cb5dd7fe10cbfbf47a4c736 [file] [log] [blame]
Logan Chien03ac4a72016-12-19 17:34:35 +08001//
2// Copyright (C) 2016 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17cc_defaults {
18 name: "header-checker-defaults",
19
20 defaults: [
Logan Chienac8d2f22018-10-12 16:01:38 +080021 "llvm-build-host-tools-defaults",
Logan Chien03ac4a72016-12-19 17:34:35 +080022 ],
23
24 cflags: [
25 "-Wall",
26 "-Werror",
Logan Chienac8d2f22018-10-12 16:01:38 +080027 "-Wno-unused-parameter",
Jayant Chowdhary8fe4a152017-01-13 15:41:48 -080028 "-DGOOGLE_PROTOBUF_NO_RTTI",
Logan Chienfa90c592018-08-14 11:11:45 +080029 "-UNDEBUG",
Logan Chien03ac4a72016-12-19 17:34:35 +080030 ],
Jayant Chowdhary8fe4a152017-01-13 15:41:48 -080031
Jayant Chowdhary83fc92b2017-07-05 17:56:33 -070032 cppflags: [
Logan Chienac8d2f22018-10-12 16:01:38 +080033 "-fno-exceptions",
34 "-fno-rtti",
Logan Chieneb308b62019-01-17 00:23:51 +080035 "-std=c++17",
Jayant Chowdhary83fc92b2017-07-05 17:56:33 -070036 ],
37
Jayant Chowdhary8fe4a152017-01-13 15:41:48 -080038 target: {
39 windows: {
Logan Chienfa90c592018-08-14 11:11:45 +080040 enabled: false,
41 },
42 },
Logan Chienac8d2f22018-10-12 16:01:38 +080043
Logan Chienb229c4e2019-03-12 16:36:00 +080044 local_include_dirs: [
45 "src",
46 ],
47
Logan Chienac8d2f22018-10-12 16:01:38 +080048 compile_multilib: "64",
49 stl: "none",
Logan Chien03ac4a72016-12-19 17:34:35 +080050}
51
Logan Chien03ac4a72016-12-19 17:34:35 +080052cc_binary_host {
Jayant Chowdhary46673562017-01-13 10:23:02 -080053 name: "header-abi-dumper",
Logan Chien03ac4a72016-12-19 17:34:35 +080054
55 defaults: [
56 "header-checker-defaults",
Logan Chien03ac4a72016-12-19 17:34:35 +080057 ],
58
Jayant Chowdhary8fe4a152017-01-13 15:41:48 -080059 srcs: [
Logan Chienb229c4e2019-03-12 16:36:00 +080060 "src/dumper/abi_wrappers.cpp",
61 "src/dumper/ast_processing.cpp",
62 "src/dumper/diagnostic_consumer.cpp",
63 "src/dumper/fake_decl_source.cpp",
64 "src/dumper/fixed_argv.cpp",
65 "src/dumper/frontend_action.cpp",
66 "src/dumper/frontend_action_factory.cpp",
67 "src/dumper/header_checker.cpp",
Jayant Chowdhary8fe4a152017-01-13 15:41:48 -080068 ],
69
70 static_libs: [
Logan Chienb229c4e2019-03-12 16:36:00 +080071 "libheader-checker",
Jayant Chowdhary83fc92b2017-07-05 17:56:33 -070072 "libheader-checker-proto",
Hsin-Yi Chen5a829cb2018-08-21 01:33:41 +080073 "libjsoncpp",
Logan Chienfa90c592018-08-14 11:11:45 +080074 ],
75
76 shared_libs: [
77 "libprotobuf-cpp-full",
Logan Chienac8d2f22018-10-12 16:01:38 +080078 "libLLVM_host",
79 "libclang_cxx_host",
80 "libc++_host",
Logan Chienfa90c592018-08-14 11:11:45 +080081 ],
82}
83
84cc_defaults {
85 name: "header-abi-linker-defaults",
86
Logan Chienac8d2f22018-10-12 16:01:38 +080087 defaults: ["header-checker-defaults"],
88
Logan Chienfa90c592018-08-14 11:11:45 +080089 static_libs: [
Logan Chienb229c4e2019-03-12 16:36:00 +080090 "libheader-checker",
Logan Chienfa90c592018-08-14 11:11:45 +080091 "libheader-checker-proto",
Hsin-Yi Chen5a829cb2018-08-21 01:33:41 +080092 "libjsoncpp",
Logan Chienfa90c592018-08-14 11:11:45 +080093 ],
94
95 shared_libs: [
96 "libprotobuf-cpp-full",
Logan Chienac8d2f22018-10-12 16:01:38 +080097 "libLLVM_host",
98 "libclang_cxx_host",
99 "libc++_host",
Jayant Chowdhary0f82afe2017-04-03 14:33:43 -0700100 ],
Logan Chien03ac4a72016-12-19 17:34:35 +0800101}
Jayant Chowdhary75c61f02017-01-25 18:01:00 -0800102
103cc_binary_host {
104 name: "header-abi-linker",
105
106 defaults: [
107 "header-checker-defaults",
Logan Chienfa90c592018-08-14 11:11:45 +0800108 "header-abi-linker-defaults",
Jayant Chowdhary75c61f02017-01-25 18:01:00 -0800109 ],
110
111 srcs: [
Logan Chienb229c4e2019-03-12 16:36:00 +0800112 "src/linker/header_abi_linker.cpp",
Jayant Chowdhary75c61f02017-01-25 18:01:00 -0800113 ],
Jayant Chowdhary75c61f02017-01-25 18:01:00 -0800114}
Jayant Chowdhary064e7d82017-02-10 16:04:21 -0800115
116cc_binary_host {
117 name: "header-abi-diff",
118
119 defaults: [
120 "header-checker-defaults",
Logan Chienfa90c592018-08-14 11:11:45 +0800121 "header-abi-linker-defaults",
Jayant Chowdhary064e7d82017-02-10 16:04:21 -0800122 ],
123
124 srcs: [
Logan Chienb229c4e2019-03-12 16:36:00 +0800125 "src/diff/abi_diff.cpp",
126 "src/diff/abi_diff_wrappers.cpp",
127 "src/diff/header_abi_diff.cpp",
Jayant Chowdhary064e7d82017-02-10 16:04:21 -0800128 ],
Jayant Chowdhary064e7d82017-02-10 16:04:21 -0800129}
Jayant Chowdhary0f82afe2017-04-03 14:33:43 -0700130
Jayant Chowdharyeb755c12017-05-08 15:03:10 -0700131cc_binary_host {
132 name: "merge-abi-diff",
133
134 defaults: [
135 "header-checker-defaults",
Logan Chienfa90c592018-08-14 11:11:45 +0800136 "header-abi-linker-defaults",
Jayant Chowdharyeb755c12017-05-08 15:03:10 -0700137 ],
138
139 srcs: [
Logan Chienb229c4e2019-03-12 16:36:00 +0800140 "src/diff_merge/merge_abi_diff.cpp",
Jayant Chowdharyeb755c12017-05-08 15:03:10 -0700141 ],
Jayant Chowdharyeb755c12017-05-08 15:03:10 -0700142}
143
Logan Chienfa90c592018-08-14 11:11:45 +0800144cc_library_host_static {
Logan Chienb229c4e2019-03-12 16:36:00 +0800145 name: "libheader-checker",
Logan Chienfa90c592018-08-14 11:11:45 +0800146
Jayant Chowdhary0f82afe2017-04-03 14:33:43 -0700147 defaults: [
148 "header-checker-defaults",
149 ],
Jayant Chowdhary0f82afe2017-04-03 14:33:43 -0700150
151 srcs: [
Logan Chienb229c4e2019-03-12 16:36:00 +0800152 "src/repr/abi_diff_helpers.cpp",
Logan Chienfb0213f2019-03-14 15:48:35 +0800153 "src/repr/ir_diff_dumper.cpp",
154 "src/repr/ir_dumper.cpp",
155 "src/repr/ir_reader.cpp",
Logan Chien37531352019-03-18 17:39:33 +0800156 "src/repr/ir_representation.cpp",
Logan Chienfb0213f2019-03-14 15:48:35 +0800157 "src/repr/json/converter.cpp",
158 "src/repr/json/ir_dumper.cpp",
159 "src/repr/json/ir_reader.cpp",
160 "src/repr/protobuf/converter.cpp",
161 "src/repr/protobuf/ir_diff_dumper.cpp",
162 "src/repr/protobuf/ir_dumper.cpp",
163 "src/repr/protobuf/ir_reader.cpp",
Logan Chienb229c4e2019-03-12 16:36:00 +0800164 "src/repr/symbol/exported_symbol_set.cpp",
165 "src/repr/symbol/so_file_parser.cpp",
166 "src/repr/symbol/version_script_parser.cpp",
167 "src/utils/api_level.cpp",
Logan Chiena2ea9eb2019-05-09 12:12:07 -0700168 "src/utils/config_file.cpp",
Logan Chienb229c4e2019-03-12 16:36:00 +0800169 "src/utils/collect_exported_headers.cpp",
170 "src/utils/string_utils.cpp",
Jayant Chowdhary0f82afe2017-04-03 14:33:43 -0700171 ],
Logan Chienfa90c592018-08-14 11:11:45 +0800172
Jayant Chowdhary0f82afe2017-04-03 14:33:43 -0700173 static_libs: [
Jayant Chowdhary83fc92b2017-07-05 17:56:33 -0700174 "libheader-checker-proto",
Hsin-Yi Chen5a829cb2018-08-21 01:33:41 +0800175 "libjsoncpp",
Jayant Chowdhary0f82afe2017-04-03 14:33:43 -0700176 ],
Jayant Chowdharyb88146b2017-06-16 12:08:38 -0700177
Jayant Chowdhary83fc92b2017-07-05 17:56:33 -0700178 shared_libs: [
Logan Chienac8d2f22018-10-12 16:01:38 +0800179 "libLLVM_host",
180 "libc++_host",
Jayant Chowdhary83fc92b2017-07-05 17:56:33 -0700181 "libprotobuf-cpp-full",
182 ],
183
Jayant Chowdhary0f82afe2017-04-03 14:33:43 -0700184 cflags: [
185 "-Wcast-qual",
186 "-Wno-long-long",
187 "-Wno-unused-parameter",
188 ],
189}
Logan Chieneb308b62019-01-17 00:23:51 +0800190
191cc_test_host {
Logan Chienb229c4e2019-03-12 16:36:00 +0800192 name: "header-checker-unittests",
Logan Chieneb308b62019-01-17 00:23:51 +0800193
194 defaults: [
195 "header-checker-defaults",
196 ],
197
198 srcs: [
Logan Chienb229c4e2019-03-12 16:36:00 +0800199 "src/repr/symbol/exported_symbol_set_test.cpp",
200 "src/repr/symbol/version_script_parser_test.cpp",
201 "src/utils/api_level_test.cpp",
Logan Chiena2ea9eb2019-05-09 12:12:07 -0700202 "src/utils/config_file_test.cpp",
Logan Chienb229c4e2019-03-12 16:36:00 +0800203 "src/utils/string_utils_test.cpp",
Logan Chieneb308b62019-01-17 00:23:51 +0800204 ],
205
206 static_libs: [
207 "libgtest",
208 "libgtest_main",
Logan Chienb229c4e2019-03-12 16:36:00 +0800209 "libheader-checker",
Logan Chieneb308b62019-01-17 00:23:51 +0800210 ],
211
212 shared_libs: [
213 "libc++_host",
214 ],
215
216 test_suites: ["general-tests"],
217}