xref: /aosp_15_r20/external/private-join-and-compute/Android.bp (revision a6aa18fbfbf9cb5cd47356a9d1b057768998488c)
1package {
2    default_visibility : ["//visibility:private"],
3    default_applicable_licenses: ["libpjc_license"],
4}
5
6license {
7    name: "libpjc_license",
8    visibility: [":__subpackages__"],
9    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
10    license_text: ["LICENSE"],
11}
12
13cc_defaults {
14    name: "libpjc_defaults",
15    host_supported: true,
16}
17
18filegroup {
19    name: "private-join-and-compute-proto",
20    srcs: [
21       "**/*.proto",
22    ],
23    visibility: ["//packages/modules/AdServices:__subpackages__"],
24}
25
26cc_library {
27    name: "libpjc_crypto",
28    min_sdk_version: "30",
29    sdk_version: "current",
30    stl: "libc++_static",
31    visibility: [
32    	"//external/anonymous-counting-tokens:__subpackages__",
33    	"//packages/modules/AdServices/adservices/service-core",
34    ],
35    defaults: ["libpjc_defaults"],
36    srcs: [
37      "private_join_and_compute/crypto/big_num.cc",
38      "private_join_and_compute/crypto/camenisch_shoup.cc",
39      "private_join_and_compute/crypto/commutative_elgamal.cc",
40      "private_join_and_compute/crypto/context.cc",
41      "private_join_and_compute/crypto/dodis_yampolskiy_prf/bb_oblivious_signature.cc",
42      "private_join_and_compute/crypto/dodis_yampolskiy_prf/bb_oblivious_signature.proto",
43      "private_join_and_compute/crypto/dodis_yampolskiy_prf/dy_verifiable_random_function.cc",
44      "private_join_and_compute/crypto/dodis_yampolskiy_prf/dy_verifiable_random_function.proto",
45      "private_join_and_compute/crypto/ec_commutative_cipher.cc",
46      "private_join_and_compute/crypto/ec_group.cc",
47      "private_join_and_compute/crypto/ec_key.proto",
48      "private_join_and_compute/crypto/ec_point.cc",
49      "private_join_and_compute/crypto/ec_point_util.cc",
50      "private_join_and_compute/crypto/elgamal.cc",
51      "private_join_and_compute/crypto/elgamal.proto",
52      "private_join_and_compute/crypto/fixed_base_exp.cc",
53      "private_join_and_compute/crypto/mont_mul.cc",
54      "private_join_and_compute/crypto/openssl_init.cc",
55      "private_join_and_compute/crypto/paillier.cc",
56      "private_join_and_compute/crypto/paillier.proto",
57      "private_join_and_compute/crypto/pedersen_over_zn.cc",
58      "private_join_and_compute/crypto/proto/big_num.proto",
59      "private_join_and_compute/crypto/proto/camenisch_shoup.proto",
60      "private_join_and_compute/crypto/proto/ec_point.proto",
61      "private_join_and_compute/crypto/proto/pedersen.proto",
62      "private_join_and_compute/crypto/proto/proto_util.cc",
63      "private_join_and_compute/crypto/shanks_discrete_log.cc",
64      "private_join_and_compute/crypto/simultaneous_fixed_bases_exp.cc",
65      "private_join_and_compute/crypto/two_modulus_crt.cc",
66    ],
67    export_include_dirs: [
68      "private_join_and_compute/crypto/",
69      ".",
70    ],
71    include_dirs: [
72      "external/protobuf",
73    ],
74    shared_libs: [
75      "libcrypto",
76      "liblog",
77    ],
78    static_libs: [
79      "libpjc_third_party_libabsl",
80    ],
81    cflags: ["-Wno-unused-parameter"],
82    proto: {
83      type: "lite",
84      export_proto_headers: true,
85      local_include_dirs: [
86        ".",
87      ],
88      include_dirs: [
89      	"external/protobuf",
90      ],
91    },
92    sanitize: {
93      integer_overflow: true,
94      misc_undefined: ["bounds"],
95    },
96    apex_available: ["com.android.adservices", "com.android.extservices",],
97    target: {
98        host: {
99            static_libs: [
100                "libprotobuf-cpp-lite",
101            ]
102        },
103	android: {
104	    static_libs: [
105	        "libprotobuf-cpp-lite-ndk",
106	    ]
107	}
108    }
109}
110
111cc_test {
112    name: "libpjc_crypto_test",
113    defaults: ["libpjc_defaults"],
114    srcs: [
115      "private_join_and_compute/crypto/proto/proto_util_test.cc",
116      "private_join_and_compute/crypto/dodis_yampolskiy_prf/dy_verifiable_random_function_test.cc",
117      "private_join_and_compute/crypto/camenisch_shoup_test.cc",
118      "private_join_and_compute/crypto/pedersen_over_zn_test.cc",
119      "private_join_and_compute/crypto/simultaneous_fixed_bases_exp_test.cc",
120    ],
121    shared_libs: [
122      "libcrypto",
123      "liblog",
124      "libpjc_crypto",
125    ],
126    static_libs: [
127      "libgmock",
128      "libpjc_third_party_libabsl",
129    ],
130    include_dirs: [
131      "external/protobuf",
132    ],
133    test_suites: ["general-tests"],
134    target: {
135        host: {
136            static_libs: [
137                "libprotobuf-cpp-lite",
138            ]
139        },
140	android: {
141	    static_libs: [
142	        "libprotobuf-cpp-lite-ndk",
143	    ]
144	}
145    },
146}
147
148/* This test takes longer than the bazel timeout atest uses, and there
149   is no option to override (see b/222233444).
150
151cc_test {
152    name: "libpjc_crypto_bb_oblivious_signature_test",
153    defaults: ["libpjc_defaults"],
154    srcs: [
155      "private_join_and_compute/crypto/dodis_yampolskiy_prf/bb_oblivious_signature_test.cc",
156    ],
157    shared_libs: [
158      "libcrypto",
159      "liblog",
160      "libpjc_crypto",
161    ],
162    static_libs: [
163      "libgmock",
164      "libpjc_third_party_libabsl",
165    ],
166    target: {
167        host: {
168            static_libs: [
169                "libprotobuf-cpp-lite",
170            ]
171        },
172	android: {
173	    static_libs: [
174	        "libprotobuf-cpp-lite-ndk",
175	    ]
176	}
177    }
178}
179*/
180
181cc_library_headers {
182    name: "libpjc_third_party_libabsl_headers",
183    min_sdk_version: "30",
184    sdk_version: "current",
185    device_supported: true,
186    host_supported: true,
187    export_include_dirs: [
188      "third_party/abseil-cpp-20230125.2/",
189    ],
190    apex_available: ["com.android.adservices", "com.android.extservices",],
191}
192
193cc_defaults {
194    name: "libpjc_third_party_libabsl_library_defaults",
195    header_libs: ["libpjc_third_party_libabsl_headers"],
196    export_header_lib_headers: ["libpjc_third_party_libabsl_headers"],
197}
198
199cc_library_static {
200    name: "libpjc_third_party_libabsl",
201    min_sdk_version: "30",
202    sdk_version: "current",
203    host_supported: true,
204    stl: "libc++_static",
205    visibility: [
206        "//external/anonymous-counting-tokens:__subpackages__",
207    	"//packages/modules/AdServices/adservices/service-core",
208    ],
209    defaults: ["libpjc_third_party_libabsl_library_defaults"],
210    srcs: [
211        "third_party/abseil-cpp-20230125.2/absl/base/internal/cycleclock.cc",
212        "third_party/abseil-cpp-20230125.2/absl/base/internal/low_level_alloc.cc",
213        "third_party/abseil-cpp-20230125.2/absl/base/internal/raw_logging.cc",
214        "third_party/abseil-cpp-20230125.2/absl/base/internal/scoped_set_env.cc",
215        "third_party/abseil-cpp-20230125.2/absl/base/internal/spinlock.cc",
216        "third_party/abseil-cpp-20230125.2/absl/base/internal/spinlock_wait.cc",
217        "third_party/abseil-cpp-20230125.2/absl/base/internal/strerror.cc",
218        "third_party/abseil-cpp-20230125.2/absl/base/internal/sysinfo.cc",
219        "third_party/abseil-cpp-20230125.2/absl/base/internal/thread_identity.cc",
220        "third_party/abseil-cpp-20230125.2/absl/base/internal/throw_delegate.cc",
221        "third_party/abseil-cpp-20230125.2/absl/base/internal/unscaledcycleclock.cc",
222        "third_party/abseil-cpp-20230125.2/absl/base/log_severity.cc",
223        //"third_party/abseil-cpp-20230125.2/absl/container/btree_benchmark.cc",
224        //"third_party/abseil-cpp-20230125.2/absl/container/fixed_array_benchmark.cc",
225        //"third_party/abseil-cpp-20230125.2/absl/container/inlined_vector_benchmark.cc",
226        "third_party/abseil-cpp-20230125.2/absl/container/internal/hashtablez_sampler.cc",
227        "third_party/abseil-cpp-20230125.2/absl/container/internal/hashtablez_sampler_force_weak_definition.cc",
228        //"third_party/abseil-cpp-20230125.2/absl/container/internal/layout_benchmark.cc",
229        //"third_party/abseil-cpp-20230125.2/absl/container/internal/raw_hash_set_benchmark.cc",
230        "third_party/abseil-cpp-20230125.2/absl/container/internal/raw_hash_set.cc",
231        //"third_party/abseil-cpp-20230125.2/absl/container/internal/raw_hash_set_probe_benchmark.cc",
232        //"third_party/abseil-cpp-20230125.2/absl/crc/crc32c_benchmark.cc",
233        "third_party/abseil-cpp-20230125.2/absl/crc/crc32c.cc",
234        "third_party/abseil-cpp-20230125.2/absl/crc/internal/cpu_detect.cc",
235        "third_party/abseil-cpp-20230125.2/absl/crc/internal/crc.cc",
236        "third_party/abseil-cpp-20230125.2/absl/crc/internal/crc_cord_state.cc",
237        "third_party/abseil-cpp-20230125.2/absl/crc/internal/crc_memcpy_fallback.cc",
238        "third_party/abseil-cpp-20230125.2/absl/crc/internal/crc_memcpy_x86_64.cc",
239        "third_party/abseil-cpp-20230125.2/absl/crc/internal/crc_non_temporal_memcpy.cc",
240        "third_party/abseil-cpp-20230125.2/absl/crc/internal/crc_x86_arm_combined.cc",
241        "third_party/abseil-cpp-20230125.2/absl/debugging/failure_signal_handler.cc",
242        "third_party/abseil-cpp-20230125.2/absl/debugging/internal/address_is_readable.cc",
243        "third_party/abseil-cpp-20230125.2/absl/debugging/internal/demangle.cc",
244        "third_party/abseil-cpp-20230125.2/absl/debugging/internal/elf_mem_image.cc",
245        "third_party/abseil-cpp-20230125.2/absl/debugging/internal/examine_stack.cc",
246        "third_party/abseil-cpp-20230125.2/absl/debugging/internal/stack_consumption.cc",
247        "third_party/abseil-cpp-20230125.2/absl/debugging/internal/vdso_support.cc",
248        "third_party/abseil-cpp-20230125.2/absl/debugging/leak_check.cc",
249        //"third_party/abseil-cpp-20230125.2/absl/debugging/stacktrace_benchmark.cc",
250        "third_party/abseil-cpp-20230125.2/absl/debugging/stacktrace.cc",
251        "third_party/abseil-cpp-20230125.2/absl/debugging/symbolize.cc",
252        "third_party/abseil-cpp-20230125.2/absl/flags/commandlineflag.cc",
253        //"third_party/abseil-cpp-20230125.2/absl/flags/flag_benchmark.cc",
254        "third_party/abseil-cpp-20230125.2/absl/flags/flag.cc",
255        "third_party/abseil-cpp-20230125.2/absl/flags/internal/commandlineflag.cc",
256        "third_party/abseil-cpp-20230125.2/absl/flags/internal/flag.cc",
257        "third_party/abseil-cpp-20230125.2/absl/flags/internal/private_handle_accessor.cc",
258        "third_party/abseil-cpp-20230125.2/absl/flags/internal/program_name.cc",
259        "third_party/abseil-cpp-20230125.2/absl/flags/internal/usage.cc",
260        "third_party/abseil-cpp-20230125.2/absl/flags/marshalling.cc",
261        "third_party/abseil-cpp-20230125.2/absl/flags/parse.cc",
262        "third_party/abseil-cpp-20230125.2/absl/flags/reflection.cc",
263        "third_party/abseil-cpp-20230125.2/absl/flags/usage.cc",
264        "third_party/abseil-cpp-20230125.2/absl/flags/usage_config.cc",
265        //"third_party/abseil-cpp-20230125.2/absl/hash/hash_benchmark.cc",
266        "third_party/abseil-cpp-20230125.2/absl/hash/internal/city.cc",
267        "third_party/abseil-cpp-20230125.2/absl/hash/internal/hash.cc",
268        "third_party/abseil-cpp-20230125.2/absl/hash/internal/low_level_hash.cc",
269        "third_party/abseil-cpp-20230125.2/absl/hash/internal/print_hash_of.cc",
270        "third_party/abseil-cpp-20230125.2/absl/log/die_if_null.cc",
271        "third_party/abseil-cpp-20230125.2/absl/log/flags.cc",
272        "third_party/abseil-cpp-20230125.2/absl/log/globals.cc",
273        "third_party/abseil-cpp-20230125.2/absl/log/initialize.cc",
274        "third_party/abseil-cpp-20230125.2/absl/log/internal/check_op.cc",
275        "third_party/abseil-cpp-20230125.2/absl/log/internal/conditions.cc",
276        "third_party/abseil-cpp-20230125.2/absl/log/internal/globals.cc",
277        "third_party/abseil-cpp-20230125.2/absl/log/internal/log_format.cc",
278        "third_party/abseil-cpp-20230125.2/absl/log/internal/log_message.cc",
279        "third_party/abseil-cpp-20230125.2/absl/log/internal/log_sink_set.cc",
280        "third_party/abseil-cpp-20230125.2/absl/log/internal/nullguard.cc",
281        "third_party/abseil-cpp-20230125.2/absl/log/internal/proto.cc",
282        //"third_party/abseil-cpp-20230125.2/absl/log/log_benchmark.cc",
283        "third_party/abseil-cpp-20230125.2/absl/log/log_entry.cc",
284        "third_party/abseil-cpp-20230125.2/absl/log/log_sink.cc",
285        //"third_party/abseil-cpp-20230125.2/absl/numeric/bits_benchmark.cc",
286        //"third_party/abseil-cpp-20230125.2/absl/numeric/int128_benchmark.cc",
287        "third_party/abseil-cpp-20230125.2/absl/numeric/int128.cc",
288        "third_party/abseil-cpp-20230125.2/absl/profiling/internal/exponential_biased.cc",
289        //"third_party/abseil-cpp-20230125.2/absl/profiling/internal/periodic_sampler_benchmark.cc",
290        "third_party/abseil-cpp-20230125.2/absl/profiling/internal/periodic_sampler.cc",
291        //"third_party/abseil-cpp-20230125.2/absl/random/benchmarks.cc",
292        "third_party/abseil-cpp-20230125.2/absl/random/discrete_distribution.cc",
293        "third_party/abseil-cpp-20230125.2/absl/random/gaussian_distribution.cc",
294        "third_party/abseil-cpp-20230125.2/absl/random/internal/chi_square.cc",
295        "third_party/abseil-cpp-20230125.2/absl/random/internal/gaussian_distribution_gentables.cc",
296        //"third_party/abseil-cpp-20230125.2/absl/random/internal/nanobenchmark.cc",
297        "third_party/abseil-cpp-20230125.2/absl/random/internal/pool_urbg.cc",
298        //"third_party/abseil-cpp-20230125.2/absl/random/internal/randen_benchmarks.cc",
299        "third_party/abseil-cpp-20230125.2/absl/random/internal/randen.cc",
300        "third_party/abseil-cpp-20230125.2/absl/random/internal/randen_detect.cc",
301        "third_party/abseil-cpp-20230125.2/absl/random/internal/randen_hwaes.cc",
302        "third_party/abseil-cpp-20230125.2/absl/random/internal/randen_round_keys.cc",
303        "third_party/abseil-cpp-20230125.2/absl/random/internal/randen_slow.cc",
304        "third_party/abseil-cpp-20230125.2/absl/random/internal/seed_material.cc",
305        "third_party/abseil-cpp-20230125.2/absl/random/seed_gen_exception.cc",
306        "third_party/abseil-cpp-20230125.2/absl/random/seed_sequences.cc",
307        "third_party/abseil-cpp-20230125.2/absl/status/status.cc",
308        "third_party/abseil-cpp-20230125.2/absl/status/statusor.cc",
309        "third_party/abseil-cpp-20230125.2/absl/status/status_payload_printer.cc",
310         //"third_party/abseil-cpp-20230125.2/absl/strings/ascii_benchmark.cc",
311        "third_party/abseil-cpp-20230125.2/absl/strings/ascii.cc",
312        "third_party/abseil-cpp-20230125.2/absl/strings/atod_manual_test.cc",
313        "third_party/abseil-cpp-20230125.2/absl/strings/charconv.cc",
314        //"third_party/abseil-cpp-20230125.2/absl/strings/charconv_benchmark.cc",
315        "third_party/abseil-cpp-20230125.2/absl/strings/cord_analysis.cc",
316        "third_party/abseil-cpp-20230125.2/absl/strings/cord_buffer.cc",
317        "third_party/abseil-cpp-20230125.2/absl/strings/cord.cc",
318        //"third_party/abseil-cpp-20230125.2/absl/strings/escaping_benchmark.cc",
319        "third_party/abseil-cpp-20230125.2/absl/strings/escaping.cc",
320        "third_party/abseil-cpp-20230125.2/absl/strings/internal/charconv_bigint.cc",
321        "third_party/abseil-cpp-20230125.2/absl/strings/internal/charconv_parse.cc",
322        //"third_party/abseil-cpp-20230125.2/absl/strings/internal/char_map_benchmark.cc",
323        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_internal.cc",
324        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_rep_btree.cc",
325        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_rep_btree_navigator.cc",
326        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_rep_btree_reader.cc",
327        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_rep_consume.cc",
328        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_rep_crc.cc",
329        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_rep_ring.cc",
330        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_functions.cc",
331        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_handle.cc",
332        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_info.cc",
333        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_sample_token.cc",
334        "third_party/abseil-cpp-20230125.2/absl/strings/internal/damerau_levenshtein_distance.cc",
335        "third_party/abseil-cpp-20230125.2/absl/strings/internal/escaping.cc",
336        //"third_party/abseil-cpp-20230125.2/absl/strings/internal/memutil_benchmark.cc",
337        "third_party/abseil-cpp-20230125.2/absl/strings/internal/memutil.cc",
338        //"third_party/abseil-cpp-20230125.2/absl/strings/internal/ostringstream_benchmark.cc",
339        "third_party/abseil-cpp-20230125.2/absl/strings/internal/ostringstream.cc",
340        "third_party/abseil-cpp-20230125.2/absl/strings/internal/pow10_helper.cc",
341        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/arg.cc",
342        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/bind.cc",
343        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/extension.cc",
344        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/float_conversion.cc",
345        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/output.cc",
346        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/parser.cc",
347        "third_party/abseil-cpp-20230125.2/absl/strings/internal/stringify_sink.cc",
348        "third_party/abseil-cpp-20230125.2/absl/strings/internal/utf8.cc",
349        "third_party/abseil-cpp-20230125.2/absl/strings/match.cc",
350        //"third_party/abseil-cpp-20230125.2/absl/strings/numbers_benchmark.cc",
351        "third_party/abseil-cpp-20230125.2/absl/strings/numbers.cc",
352        //"third_party/abseil-cpp-20230125.2/absl/strings/str_cat_benchmark.cc",
353        "third_party/abseil-cpp-20230125.2/absl/strings/str_cat.cc",
354        //"third_party/abseil-cpp-20230125.2/absl/strings/string_view_benchmark.cc",
355        "third_party/abseil-cpp-20230125.2/absl/strings/string_view.cc",
356        //"third_party/abseil-cpp-20230125.2/absl/strings/str_join_benchmark.cc",
357        //"third_party/abseil-cpp-20230125.2/absl/strings/str_replace_benchmark.cc",
358        "third_party/abseil-cpp-20230125.2/absl/strings/str_replace.cc",
359        //"third_party/abseil-cpp-20230125.2/absl/strings/str_split_benchmark.cc",
360        "third_party/abseil-cpp-20230125.2/absl/strings/str_split.cc",
361        "third_party/abseil-cpp-20230125.2/absl/strings/substitute.cc",
362        "third_party/abseil-cpp-20230125.2/absl/synchronization/barrier.cc",
363        //"third_party/abseil-cpp-20230125.2/absl/synchronization/blocking_counter_benchmark.cc",
364        "third_party/abseil-cpp-20230125.2/absl/synchronization/blocking_counter.cc",
365        "third_party/abseil-cpp-20230125.2/absl/synchronization/internal/create_thread_identity.cc",
366        //"third_party/abseil-cpp-20230125.2/absl/synchronization/internal/graphcycles_benchmark.cc",
367        "third_party/abseil-cpp-20230125.2/absl/synchronization/internal/graphcycles.cc",
368        "third_party/abseil-cpp-20230125.2/absl/synchronization/internal/per_thread_sem.cc",
369        "third_party/abseil-cpp-20230125.2/absl/synchronization/internal/waiter.cc",
370        //"third_party/abseil-cpp-20230125.2/absl/synchronization/mutex_benchmark.cc",
371        "third_party/abseil-cpp-20230125.2/absl/synchronization/mutex.cc",
372        "third_party/abseil-cpp-20230125.2/absl/synchronization/notification.cc",
373        //"third_party/abseil-cpp-20230125.2/absl/time/civil_time_benchmark.cc",
374        "third_party/abseil-cpp-20230125.2/absl/time/civil_time.cc",
375        //"third_party/abseil-cpp-20230125.2/absl/time/clock_benchmark.cc",
376        "third_party/abseil-cpp-20230125.2/absl/time/clock.cc",
377        //"third_party/abseil-cpp-20230125.2/absl/time/duration_benchmark.cc",
378        "third_party/abseil-cpp-20230125.2/absl/time/duration.cc",
379        //"third_party/abseil-cpp-20230125.2/absl/time/format_benchmark.cc",
380        "third_party/abseil-cpp-20230125.2/absl/time/format.cc",
381        //"third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/cctz_benchmark.cc",
382        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/civil_time_detail.cc",
383        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/time_zone_fixed.cc",
384        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/time_zone_format.cc",
385        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/time_zone_if.cc",
386        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/time_zone_impl.cc",
387        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/time_zone_info.cc",
388        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/time_zone_libc.cc",
389        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/time_zone_lookup.cc",
390        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/time_zone_posix.cc",
391        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/zone_info_source.cc",
392        //"third_party/abseil-cpp-20230125.2/absl/time/time_benchmark.cc",
393        "third_party/abseil-cpp-20230125.2/absl/time/time.cc",
394    ],
395    apex_available: ["com.android.adservices", "com.android.extservices",],
396}
397
398cc_defaults {
399    name: "libpjc_third_party_libabsl_test",
400    defaults: ["libpjc_third_party_libabsl_library_defaults"],
401    host_supported: true,
402    static_libs: [
403      "libgmock",
404      "libpjc_third_party_libabsl",
405    ],
406    rtti: true,
407    cflags: [
408      "-Wno-unused-parameter",
409      "-Wno-unreachable-code-loop-increment",
410      "-Wno-self-move",
411    ],
412}
413
414cc_test {
415    name: "libpjc_third_party_libabsl_container_test",
416    enabled: false,
417    defaults: ["libpjc_third_party_libabsl_test"],
418    srcs: [
419        "third_party/abseil-cpp-20230125.2/absl/container/btree_test.cc",
420        "third_party/abseil-cpp-20230125.2/absl/container/fixed_array_exception_safety_test.cc",
421        "third_party/abseil-cpp-20230125.2/absl/container/fixed_array_test.cc",
422        "third_party/abseil-cpp-20230125.2/absl/container/flat_hash_map_test.cc",
423        "third_party/abseil-cpp-20230125.2/absl/container/flat_hash_set_test.cc",
424        "third_party/abseil-cpp-20230125.2/absl/container/inlined_vector_exception_safety_test.cc",
425        "third_party/abseil-cpp-20230125.2/absl/container/inlined_vector_test.cc",
426        "third_party/abseil-cpp-20230125.2/absl/container/internal/common_policy_traits_test.cc",
427        "third_party/abseil-cpp-20230125.2/absl/container/internal/compressed_tuple_test.cc",
428        "third_party/abseil-cpp-20230125.2/absl/container/internal/container_memory_test.cc",
429        "third_party/abseil-cpp-20230125.2/absl/container/internal/hash_function_defaults_test.cc",
430        "third_party/abseil-cpp-20230125.2/absl/container/internal/hash_generator_testing.cc",
431        "third_party/abseil-cpp-20230125.2/absl/container/internal/hash_policy_testing_test.cc",
432        "third_party/abseil-cpp-20230125.2/absl/container/internal/hash_policy_traits_test.cc",
433        "third_party/abseil-cpp-20230125.2/absl/container/internal/hashtablez_sampler_test.cc",
434        "third_party/abseil-cpp-20230125.2/absl/container/internal/layout_test.cc",
435        "third_party/abseil-cpp-20230125.2/absl/container/internal/node_slot_policy_test.cc",
436        "third_party/abseil-cpp-20230125.2/absl/container/internal/raw_hash_set_allocator_test.cc",
437        "third_party/abseil-cpp-20230125.2/absl/container/internal/raw_hash_set_test.cc",
438        "third_party/abseil-cpp-20230125.2/absl/container/internal/test_instance_tracker.cc",
439        "third_party/abseil-cpp-20230125.2/absl/container/internal/test_instance_tracker_test.cc",
440        "third_party/abseil-cpp-20230125.2/absl/container/internal/unordered_map_test.cc",
441        "third_party/abseil-cpp-20230125.2/absl/container/internal/unordered_set_test.cc",
442        "third_party/abseil-cpp-20230125.2/absl/container/node_hash_map_test.cc",
443        "third_party/abseil-cpp-20230125.2/absl/container/node_hash_set_test.cc",
444        "third_party/abseil-cpp-20230125.2/absl/container/sample_element_size_test.cc",
445    ],
446}
447
448cc_test {
449    name: "libpjc_third_party_libabsl_crc_test",
450    enabled: false,
451    defaults: ["libpjc_third_party_libabsl_test"],
452    srcs: [
453        "third_party/abseil-cpp-20230125.2/absl/crc/crc32c_test.cc",
454        "third_party/abseil-cpp-20230125.2/absl/crc/internal/crc_cord_state_test.cc",
455        "third_party/abseil-cpp-20230125.2/absl/crc/internal/crc_memcpy_test.cc",
456        "third_party/abseil-cpp-20230125.2/absl/crc/internal/non_temporal_memcpy_test.cc",
457    ],
458}
459
460cc_test {
461    name: "libpjc_third_party_libabsl_debugging_test",
462    enabled: false,
463    defaults: ["libpjc_third_party_libabsl_test"],
464    srcs: [
465        "third_party/abseil-cpp-20230125.2/absl/debugging/failure_signal_handler_test.cc",
466        "third_party/abseil-cpp-20230125.2/absl/debugging/internal/demangle_test.cc",
467        "third_party/abseil-cpp-20230125.2/absl/debugging/internal/stack_consumption_test.cc",
468        "third_party/abseil-cpp-20230125.2/absl/debugging/leak_check_fail_test.cc",
469        "third_party/abseil-cpp-20230125.2/absl/debugging/leak_check_test.cc",
470        "third_party/abseil-cpp-20230125.2/absl/debugging/stacktrace_test.cc",
471        "third_party/abseil-cpp-20230125.2/absl/debugging/symbolize_test.cc",
472    ],
473}
474
475cc_test {
476    name: "libpjc_third_party_libabsl_flags_test",
477    enabled: false,
478    defaults: ["libpjc_third_party_libabsl_test"],
479    srcs: [
480        "third_party/abseil-cpp-20230125.2/absl/flags/commandlineflag_test.cc",
481        "third_party/abseil-cpp-20230125.2/absl/flags/config_test.cc",
482        "third_party/abseil-cpp-20230125.2/absl/flags/flag_test.cc",
483        "third_party/abseil-cpp-20230125.2/absl/flags/flag_test_defs.cc",
484        "third_party/abseil-cpp-20230125.2/absl/flags/internal/path_util_test.cc",
485        "third_party/abseil-cpp-20230125.2/absl/flags/internal/program_name_test.cc",
486        "third_party/abseil-cpp-20230125.2/absl/flags/internal/sequence_lock_test.cc",
487        "third_party/abseil-cpp-20230125.2/absl/flags/internal/usage_test.cc",
488        "third_party/abseil-cpp-20230125.2/absl/flags/marshalling_test.cc",
489        "third_party/abseil-cpp-20230125.2/absl/flags/parse_test.cc",
490        "third_party/abseil-cpp-20230125.2/absl/flags/reflection_test.cc",
491        "third_party/abseil-cpp-20230125.2/absl/flags/usage_config_test.cc",
492    ],
493}
494
495cc_test {
496    name: "libpjc_third_party_libabsl_hash_test",
497    enabled: false,
498    defaults: ["libpjc_third_party_libabsl_test"],
499    srcs: [
500        "third_party/abseil-cpp-20230125.2/absl/hash/hash_test.cc",
501        "third_party/abseil-cpp-20230125.2/absl/hash/internal/city_test.cc",
502        "third_party/abseil-cpp-20230125.2/absl/hash/internal/low_level_hash_test.cc",
503    ],
504}
505
506cc_test {
507    name: "libpjc_third_party_libabsl_log_test",
508    enabled: false,
509    defaults: ["libpjc_third_party_libabsl_test"],
510    srcs: [
511        "third_party/abseil-cpp-20230125.2/absl/log/absl_check_test.cc",
512        "third_party/abseil-cpp-20230125.2/absl/log/check_test.cc",
513        "third_party/abseil-cpp-20230125.2/absl/log/die_if_null_test.cc",
514        "third_party/abseil-cpp-20230125.2/absl/log/flags_test.cc",
515        "third_party/abseil-cpp-20230125.2/absl/log/globals_test.cc",
516        "third_party/abseil-cpp-20230125.2/absl/log/internal/stderr_log_sink_test.cc",
517        "third_party/abseil-cpp-20230125.2/absl/log/internal/test_actions.cc",
518        "third_party/abseil-cpp-20230125.2/absl/log/internal/test_helpers.cc",
519        "third_party/abseil-cpp-20230125.2/absl/log/internal/test_matchers.cc",
520        "third_party/abseil-cpp-20230125.2/absl/log/log_basic_test.cc",
521        "third_party/abseil-cpp-20230125.2/absl/log/log_entry_test.cc",
522        "third_party/abseil-cpp-20230125.2/absl/log/log_format_test.cc",
523        "third_party/abseil-cpp-20230125.2/absl/log/log_macro_hygiene_test.cc",
524        "third_party/abseil-cpp-20230125.2/absl/log/log_modifier_methods_test.cc",
525        "third_party/abseil-cpp-20230125.2/absl/log/log_sink_test.cc",
526        "third_party/abseil-cpp-20230125.2/absl/log/log_streamer_test.cc",
527        "third_party/abseil-cpp-20230125.2/absl/log/scoped_mock_log.cc",
528        "third_party/abseil-cpp-20230125.2/absl/log/scoped_mock_log_test.cc",
529        "third_party/abseil-cpp-20230125.2/absl/log/stripping_test.cc",
530        "third_party/abseil-cpp-20230125.2/absl/log/structured_test.cc",
531    ],
532}
533
534cc_test {
535    name: "libpjc_third_party_libabsl_log_test2",
536    enabled: false,
537    defaults: ["libpjc_third_party_libabsl_test"],
538    srcs: [
539        "third_party/abseil-cpp-20230125.2/absl/log/absl_log_basic_test.cc",
540    ],
541}
542
543cc_test {
544    name: "libpjc_third_party_libabsl_numeric_test",
545    defaults: ["libpjc_third_party_libabsl_test"],
546    srcs: [
547        "third_party/abseil-cpp-20230125.2/absl/numeric/bits_test.cc",
548        "third_party/abseil-cpp-20230125.2/absl/numeric/int128_stream_test.cc",
549        "third_party/abseil-cpp-20230125.2/absl/numeric/int128_test.cc",
550    ],
551}
552
553cc_test {
554    name: "libpjc_third_party_libabsl_profiling_test",
555    enabled: false,
556    defaults: ["libpjc_third_party_libabsl_test"],
557    srcs: [
558        "third_party/abseil-cpp-20230125.2/absl/profiling/internal/exponential_biased_test.cc",
559        "third_party/abseil-cpp-20230125.2/absl/profiling/internal/periodic_sampler_test.cc",
560        "third_party/abseil-cpp-20230125.2/absl/profiling/internal/sample_recorder_test.cc",
561    ],
562}
563
564cc_test {
565    name: "libpjc_third_party_libabsl_status_test",
566    defaults: ["libpjc_third_party_libabsl_test"],
567    srcs: [
568        "third_party/abseil-cpp-20230125.2/absl/status/statusor_test.cc",
569        "third_party/abseil-cpp-20230125.2/absl/status/status_test.cc",
570    ],
571}
572
573cc_test {
574    name: "libpjc_third_party_libabsl_strings_test",
575    enabled: false,
576    defaults: ["libpjc_third_party_libabsl_test"],
577    srcs: [
578        "third_party/abseil-cpp-20230125.2/absl/strings/ascii_test.cc",
579        "third_party/abseil-cpp-20230125.2/absl/strings/charconv_test.cc",
580        "third_party/abseil-cpp-20230125.2/absl/strings/cord_buffer_test.cc",
581        "third_party/abseil-cpp-20230125.2/absl/strings/cord_ring_reader_test.cc",
582        "third_party/abseil-cpp-20230125.2/absl/strings/cord_ring_test.cc",
583        "third_party/abseil-cpp-20230125.2/absl/strings/cord_test.cc",
584        "third_party/abseil-cpp-20230125.2/absl/strings/cordz_test.cc",
585        "third_party/abseil-cpp-20230125.2/absl/strings/escaping_test.cc",
586        "third_party/abseil-cpp-20230125.2/absl/strings/internal/charconv_bigint_test.cc",
587        "third_party/abseil-cpp-20230125.2/absl/strings/internal/charconv_parse_test.cc",
588        "third_party/abseil-cpp-20230125.2/absl/strings/internal/char_map_test.cc",
589        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_data_edge_test.cc",
590        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_rep_btree_navigator_test.cc",
591        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_rep_btree_reader_test.cc",
592        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_rep_btree_test.cc",
593        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cord_rep_crc_test.cc",
594        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_functions_test.cc",
595        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_handle_test.cc",
596        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_info_statistics_test.cc",
597        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_info_test.cc",
598        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_sample_token_test.cc",
599        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_update_scope_test.cc",
600        "third_party/abseil-cpp-20230125.2/absl/strings/internal/cordz_update_tracker_test.cc",
601        "third_party/abseil-cpp-20230125.2/absl/strings/internal/damerau_levenshtein_distance_test.cc",
602        "third_party/abseil-cpp-20230125.2/absl/strings/internal/memutil_test.cc",
603        "third_party/abseil-cpp-20230125.2/absl/strings/internal/ostringstream_test.cc",
604        "third_party/abseil-cpp-20230125.2/absl/strings/internal/pow10_helper_test.cc",
605        "third_party/abseil-cpp-20230125.2/absl/strings/internal/resize_uninitialized_test.cc",
606        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/arg_test.cc",
607        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/bind_test.cc",
608        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/checker_test.cc",
609        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/convert_test.cc",
610        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/extension_test.cc",
611        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/output_test.cc",
612        "third_party/abseil-cpp-20230125.2/absl/strings/internal/str_format/parser_test.cc",
613        "third_party/abseil-cpp-20230125.2/absl/strings/internal/string_constant_test.cc",
614        "third_party/abseil-cpp-20230125.2/absl/strings/internal/utf8_test.cc",
615        "third_party/abseil-cpp-20230125.2/absl/strings/match_test.cc",
616        "third_party/abseil-cpp-20230125.2/absl/strings/numbers_test.cc",
617        "third_party/abseil-cpp-20230125.2/absl/strings/str_cat_test.cc",
618        "third_party/abseil-cpp-20230125.2/absl/strings/str_format_test.cc",
619        "third_party/abseil-cpp-20230125.2/absl/strings/string_view_test.cc",
620        "third_party/abseil-cpp-20230125.2/absl/strings/strip_test.cc",
621        "third_party/abseil-cpp-20230125.2/absl/strings/str_join_test.cc",
622        "third_party/abseil-cpp-20230125.2/absl/strings/str_replace_test.cc",
623        "third_party/abseil-cpp-20230125.2/absl/strings/str_split_test.cc",
624        "third_party/abseil-cpp-20230125.2/absl/strings/substitute_test.cc",
625    ],
626}
627
628cc_test {
629    name: "libpjc_third_party_libabsl_synchronization_test",
630    enabled: false,
631    defaults: ["libpjc_third_party_libabsl_test"],
632    srcs: [
633        "third_party/abseil-cpp-20230125.2/absl/synchronization/barrier_test.cc",
634        "third_party/abseil-cpp-20230125.2/absl/synchronization/blocking_counter_test.cc",
635        "third_party/abseil-cpp-20230125.2/absl/synchronization/internal/graphcycles_test.cc",
636        "third_party/abseil-cpp-20230125.2/absl/synchronization/internal/per_thread_sem_test.cc",
637        "third_party/abseil-cpp-20230125.2/absl/synchronization/lifetime_test.cc",
638        "third_party/abseil-cpp-20230125.2/absl/synchronization/mutex_method_pointer_test.cc",
639        "third_party/abseil-cpp-20230125.2/absl/synchronization/mutex_test.cc",
640        "third_party/abseil-cpp-20230125.2/absl/synchronization/notification_test.cc",
641    ],
642}
643
644cc_test {
645    name: "libpjc_third_party_libabsl_random_test",
646    enabled: false,
647    defaults: ["libpjc_third_party_libabsl_test"],
648    srcs: [
649        "third_party/abseil-cpp-20230125.2/absl/random/bernoulli_distribution_test.cc",
650        "third_party/abseil-cpp-20230125.2/absl/random/beta_distribution_test.cc",
651        "third_party/abseil-cpp-20230125.2/absl/random/bit_gen_ref_test.cc",
652        "third_party/abseil-cpp-20230125.2/absl/random/discrete_distribution_test.cc",
653        "third_party/abseil-cpp-20230125.2/absl/random/distributions_test.cc",
654        "third_party/abseil-cpp-20230125.2/absl/random/examples_test.cc",
655        "third_party/abseil-cpp-20230125.2/absl/random/exponential_distribution_test.cc",
656        "third_party/abseil-cpp-20230125.2/absl/random/gaussian_distribution_test.cc",
657        "third_party/abseil-cpp-20230125.2/absl/random/generators_test.cc",
658        "third_party/abseil-cpp-20230125.2/absl/random/log_uniform_int_distribution_test.cc",
659        "third_party/abseil-cpp-20230125.2/absl/random/mock_distributions_test.cc",
660        "third_party/abseil-cpp-20230125.2/absl/random/mocking_bit_gen_test.cc",
661        "third_party/abseil-cpp-20230125.2/absl/random/poisson_distribution_test.cc",
662        "third_party/abseil-cpp-20230125.2/absl/random/seed_sequences_test.cc",
663        "third_party/abseil-cpp-20230125.2/absl/random/uniform_int_distribution_test.cc",
664        "third_party/abseil-cpp-20230125.2/absl/random/uniform_real_distribution_test.cc",
665        "third_party/abseil-cpp-20230125.2/absl/random/zipf_distribution_test.cc",
666        "third_party/abseil-cpp-20230125.2/absl/random/internal/chi_square_test.cc",
667        "third_party/abseil-cpp-20230125.2/absl/random/internal/distribution_test_util.cc",
668        "third_party/abseil-cpp-20230125.2/absl/random/internal/distribution_test_util_test.cc",
669        "third_party/abseil-cpp-20230125.2/absl/random/internal/explicit_seed_seq_test.cc",
670        "third_party/abseil-cpp-20230125.2/absl/random/internal/fastmath_test.cc",
671        "third_party/abseil-cpp-20230125.2/absl/random/internal/fast_uniform_bits_test.cc",
672        "third_party/abseil-cpp-20230125.2/absl/random/internal/generate_real_test.cc",
673        "third_party/abseil-cpp-20230125.2/absl/random/internal/iostream_state_saver_test.cc",
674        //"third_party/abseil-cpp-20230125.2/absl/random/internal/nanobenchmark_test.cc",
675        "third_party/abseil-cpp-20230125.2/absl/random/internal/nonsecure_base_test.cc",
676        "third_party/abseil-cpp-20230125.2/absl/random/internal/pcg_engine_test.cc",
677        "third_party/abseil-cpp-20230125.2/absl/random/internal/pool_urbg_test.cc",
678        "third_party/abseil-cpp-20230125.2/absl/random/internal/randen_engine_test.cc",
679        "third_party/abseil-cpp-20230125.2/absl/random/internal/randen_hwaes_test.cc",
680        "third_party/abseil-cpp-20230125.2/absl/random/internal/randen_slow_test.cc",
681        "third_party/abseil-cpp-20230125.2/absl/random/internal/randen_test.cc",
682        "third_party/abseil-cpp-20230125.2/absl/random/internal/salted_seed_seq_test.cc",
683        "third_party/abseil-cpp-20230125.2/absl/random/internal/seed_material_test.cc",
684        "third_party/abseil-cpp-20230125.2/absl/random/internal/traits_test.cc",
685        "third_party/abseil-cpp-20230125.2/absl/random/internal/uniform_helper_test.cc",
686        "third_party/abseil-cpp-20230125.2/absl/random/internal/wide_multiply_test.cc",
687    ],
688}
689
690cc_test {
691    name: "libpjc_third_party_libabsl_time_test",
692    enabled: false,
693    defaults: ["libpjc_third_party_libabsl_test"],
694    srcs: [
695        "third_party/abseil-cpp-20230125.2/absl/time/civil_time_test.cc",
696        "third_party/abseil-cpp-20230125.2/absl/time/clock_test.cc",
697        "third_party/abseil-cpp-20230125.2/absl/time/duration_test.cc",
698        "third_party/abseil-cpp-20230125.2/absl/time/flag_test.cc",
699        "third_party/abseil-cpp-20230125.2/absl/time/format_test.cc",
700        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/civil_time_test.cc",
701        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/time_zone_format_test.cc",
702        "third_party/abseil-cpp-20230125.2/absl/time/internal/cctz/src/time_zone_lookup_test.cc",
703        "third_party/abseil-cpp-20230125.2/absl/time/internal/test_util.cc",
704        "third_party/abseil-cpp-20230125.2/absl/time/time_test.cc",
705        "third_party/abseil-cpp-20230125.2/absl/time/time_zone_test.cc",
706    ],
707}
708