blob: f15defdac0ad58d3e7c750d7bd20ba17bd636652 [file] [log] [blame]
Bob Badour4e060082021-02-16 18:59:28 -08001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
Pirama Arumuga Nainar0d252222018-05-22 15:40:49 -07005cc_defaults {
6 name: "libprofile-defaults",
7 srcs: [
8 "profile-extras.cpp",
Pirama Arumuga Nainara277ce92019-07-01 22:13:10 -07009 "profile-globals.c",
Pirama Arumuga Nainar0d252222018-05-22 15:40:49 -070010 ],
11 native_coverage: false,
12}
13
14cc_library_static {
15 name: "libprofile-extras",
Thiébaud Weksteen21a99322020-10-23 10:20:33 +020016 defaults: ["libprofile-defaults"],
Pirama Arumuga Nainar0d252222018-05-22 15:40:49 -070017
dimitry16d54922019-06-28 11:24:09 +020018 native_bridge_supported: true,
Pirama Arumuga Nainar0d252222018-05-22 15:40:49 -070019 vendor_available: true,
Justin Yun92e48b02020-12-24 16:46:40 +090020 product_available: true,
Pirama Arumuga Nainar0d252222018-05-22 15:40:49 -070021 vndk: {
22 enabled: true,
23 },
Yifan Hongb8904d02020-01-24 18:53:53 -080024 ramdisk_available: true,
Yifan Hong8c516d02020-10-29 15:25:23 -070025 vendor_ramdisk_available: true,
Pirama Arumuga Nainar0d252222018-05-22 15:40:49 -070026 recovery_available: true,
27
28 stl: "none",
29 system_shared_libs: [],
30 header_libs: ["libc_headers"],
31}
32
33cc_library_static {
34 name: "libprofile-extras_ndk",
Thiébaud Weksteen21a99322020-10-23 10:20:33 +020035 defaults: ["libprofile-defaults"],
dimitry16d54922019-06-28 11:24:09 +020036 native_bridge_supported: true,
Pirama Arumuga Nainara277ce92019-07-01 22:13:10 -070037 vendor_available: true,
Justin Yun92e48b02020-12-24 16:46:40 +090038 product_available: true,
Pirama Arumuga Nainara277ce92019-07-01 22:13:10 -070039 vndk: {
40 enabled: true,
41 },
Pirama Arumuga Nainar0d252222018-05-22 15:40:49 -070042
43 sdk_version: "minimum",
44}
45
Oliver Nguyena0d4f062019-12-09 16:36:08 -080046cc_defaults {
47 name: "libprofile-clang-defaults",
48 srcs: [
Pirama Arumuga Nainar13bc99f2022-01-18 13:05:21 -080049 "profile-clang-extras.cpp",
Pirama Arumuga Nainar04195c52020-12-10 10:19:48 -080050 "profile-clang-openat.cpp",
Oliver Nguyena0d4f062019-12-09 16:36:08 -080051 ],
52 native_coverage: false,
Pirama Arumuga Nainarcf664612021-01-26 21:50:04 -080053 sanitize: {
54 blocklist: "libprofile_clang_extras_blocklist.txt",
55 },
Oliver Nguyena0d4f062019-12-09 16:36:08 -080056 native_bridge_supported: true,
57 vendor_available: true,
Justin Yun92e48b02020-12-24 16:46:40 +090058 product_available: true,
Oliver Nguyena0d4f062019-12-09 16:36:08 -080059 vndk: {
60 enabled: true,
61 },
Pirama Arumuga Nainar6dba1c52022-01-26 22:37:59 -080062}
63
64cc_defaults {
65 name: "libprofile-clang-platform-defaults",
66 defaults: ["libprofile-clang-defaults"],
67
Yifan Hongb8904d02020-01-24 18:53:53 -080068 ramdisk_available: true,
Yifan Hong8c516d02020-10-29 15:25:23 -070069 vendor_ramdisk_available: true,
Oliver Nguyena0d4f062019-12-09 16:36:08 -080070 recovery_available: true,
71
72 stl: "none",
73 system_shared_libs: [],
74 header_libs: ["libc_headers"],
75}
76
Pirama Arumuga Nainar1d088272022-01-27 10:32:09 -080077// -----------------------------------------------------------------------------
78// libprofile-clang libraries for regular coverage. They also install a signal
79// handler that writes coverage data to disk.
80// -----------------------------------------------------------------------------
81
Oliver Nguyena0d4f062019-12-09 16:36:08 -080082cc_library_static {
Pirama Arumuga Nainar6dba1c52022-01-26 22:37:59 -080083 name: "libprofile-clang-extras",
84 defaults: ["libprofile-clang-platform-defaults"],
Yu Liu86f007b2023-01-10 10:44:04 -080085 apex_available: [
86 "//apex_available:platform",
87 "//apex_available:anyapex",
88 ],
Pirama Arumuga Nainar6dba1c52022-01-26 22:37:59 -080089}
90
91cc_library_static {
Oliver Nguyena0d4f062019-12-09 16:36:08 -080092 name: "libprofile-clang-extras_ndk",
93 defaults: ["libprofile-clang-defaults"],
Oliver Nguyena0d4f062019-12-09 16:36:08 -080094
95 sdk_version: "minimum",
96}
97
Cindy Zhou361c34a2021-01-09 05:45:54 -080098cc_library_static {
99 name: "libprofile-clang-extras_cfi_support",
Pirama Arumuga Nainar6dba1c52022-01-26 22:37:59 -0800100 defaults: ["libprofile-clang-platform-defaults"],
Cindy Zhou361c34a2021-01-09 05:45:54 -0800101
Cindy Zhou361c34a2021-01-09 05:45:54 -0800102 sanitize: {
103 cfi: true,
104 config: {
105 cfi_assembly_support: true,
106 },
107 },
108}
109
Pirama Arumuga Nainar1d088272022-01-27 10:32:09 -0800110// -----------------------------------------------------------------------------
111// libprofile-clang libraries for continuous coverage. They install a no-op
112// signal handler.
113// -----------------------------------------------------------------------------
114
115cc_defaults {
116 name: "profile-extras-continuous-mode",
117 cflags: ["-D__CONTINUOUS_COVERAGE_MODE__"],
118}
119
120cc_library_static {
121 name: "libprofile-clang-extras_continuous",
122 defaults: [
123 "libprofile-clang-platform-defaults",
124 "profile-extras-continuous-mode",
125 ],
126}
127
128cc_library_static {
129 name: "libprofile-clang-extras_ndk_continuous",
130 defaults: [
131 "libprofile-clang-platform-defaults",
132 "profile-extras-continuous-mode",
133 ],
134
135 sdk_version: "minimum",
136}
137
138cc_library_static {
139 name: "libprofile-clang-extras_cfi_support_continuous",
140 defaults: [
141 "libprofile-clang-platform-defaults",
142 "profile-extras-continuous-mode",
143 ],
144
145 sanitize: {
146 cfi: true,
147 config: {
148 cfi_assembly_support: true,
149 },
150 },
151}
152
153// -----------------------------------------------------------------------------
154// tests
155// -----------------------------------------------------------------------------
Pirama Arumuga Nainar0d252222018-05-22 15:40:49 -0700156cc_test {
157 name: "libprofile-extras-test",
158 srcs: [
Thiébaud Weksteen21a99322020-10-23 10:20:33 +0200159 "profile-extras-test.cpp",
Pirama Arumuga Nainar0d252222018-05-22 15:40:49 -0700160 ],
161 static_libs: [
162 "libprofile-extras",
163 ],
164 ldflags: ["-uinit_profile_extras"],
165 native_coverage: false,
166}
Pirama Arumuga Nainar04195c52020-12-10 10:19:48 -0800167
168cc_test {
169 name: "libprofile-clang-extras-test",
170 srcs: [
171 "profile-clang-extras-test.cpp",
172 ],
Pirama Arumuga Nainar134fe222021-06-21 21:22:38 -0700173 whole_static_libs: [
Pirama Arumuga Nainar04195c52020-12-10 10:19:48 -0800174 "libprofile-clang-extras",
175 ],
176 ldflags: [
Pirama Arumuga Nainar04195c52020-12-10 10:19:48 -0800177 "-Wl,--wrap,open",
178 ],
179 native_coverage: false,
180}