• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2018 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//third_party/abseil-cpp/absl.gni")
6
7absl_source_set("compressed_tuple") {
8  public = [ "internal/compressed_tuple.h" ]
9  deps = [ "//third_party/abseil-cpp/absl/utility" ]
10}
11
12absl_source_set("fixed_array") {
13  public = [ "fixed_array.h" ]
14  deps = [
15    ":compressed_tuple",
16    "//third_party/abseil-cpp/absl/algorithm",
17    "//third_party/abseil-cpp/absl/base:config",
18    "//third_party/abseil-cpp/absl/base:core_headers",
19    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
20    "//third_party/abseil-cpp/absl/base:throw_delegate",
21    "//third_party/abseil-cpp/absl/memory",
22  ]
23}
24
25absl_test("fixed_array_test") {
26  sources = [ "fixed_array_test.cc" ]
27  deps = [
28    ":fixed_array",
29    ":test_allocator",
30    ":test_instance_tracker",
31    "//third_party/abseil-cpp/absl/base:config",
32    "//third_party/abseil-cpp/absl/base:exception_testing",
33    "//third_party/abseil-cpp/absl/hash:hash_testing",
34    "//third_party/abseil-cpp/absl/memory",
35  ]
36}
37
38absl_source_set("inlined_vector_internal") {
39  public = [ "internal/inlined_vector.h" ]
40  deps = [
41    ":compressed_tuple",
42    "//third_party/abseil-cpp/absl/base:core_headers",
43    "//third_party/abseil-cpp/absl/memory",
44    "//third_party/abseil-cpp/absl/meta:type_traits",
45    "//third_party/abseil-cpp/absl/types:span",
46  ]
47}
48
49absl_source_set("inlined_vector") {
50  public = [ "inlined_vector.h" ]
51  deps = [
52    ":inlined_vector_internal",
53    "//third_party/abseil-cpp/absl/algorithm",
54    "//third_party/abseil-cpp/absl/base:core_headers",
55    "//third_party/abseil-cpp/absl/base:throw_delegate",
56    "//third_party/abseil-cpp/absl/memory",
57    "//third_party/abseil-cpp/absl/meta:type_traits",
58  ]
59}
60
61absl_source_set("test_allocator") {
62  testonly = true
63  public = [ "internal/test_allocator.h" ]
64  deps = [
65    "//third_party/abseil-cpp/absl/base:config",
66    "//third_party/googletest:gtest",
67  ]
68  visibility = [ ":*" ]
69}
70
71absl_test("inlined_vector_test") {
72  sources = [ "inlined_vector_test.cc" ]
73  deps = [
74    ":inlined_vector",
75    ":test_allocator",
76    ":test_instance_tracker",
77    "//third_party/abseil-cpp/absl/base:config",
78    "//third_party/abseil-cpp/absl/base:core_headers",
79    "//third_party/abseil-cpp/absl/base:exception_testing",
80    "//third_party/abseil-cpp/absl/hash:hash_testing",
81    "//third_party/abseil-cpp/absl/log:check",
82    "//third_party/abseil-cpp/absl/memory",
83    "//third_party/abseil-cpp/absl/strings",
84  ]
85}
86
87absl_source_set("test_instance_tracker") {
88  testonly = true
89  sources = [ "internal/test_instance_tracker.cc" ]
90  public = [ "internal/test_instance_tracker.h" ]
91  deps = [ "//third_party/abseil-cpp/absl/types:compare" ]
92  visibility = [ "//third_party/abseil-cpp/absl/*" ]
93}
94
95absl_source_set("flat_hash_map") {
96  public = [ "flat_hash_map.h" ]
97  deps = [
98    ":container_memory",
99    ":hash_function_defaults",
100    ":raw_hash_map",
101    "//third_party/abseil-cpp/absl/algorithm:container",
102    "//third_party/abseil-cpp/absl/base:core_headers",
103    "//third_party/abseil-cpp/absl/memory",
104  ]
105}
106
107absl_test("flat_hash_map_test") {
108  sources = [ "flat_hash_map_test.cc" ]
109  deps = [
110    ":flat_hash_map",
111    ":hash_generator_testing",
112    ":unordered_map_constructor_test",
113    ":unordered_map_lookup_test",
114    ":unordered_map_members_test",
115    ":unordered_map_modifiers_test",
116    "//third_party/abseil-cpp/absl/log:check",
117    "//third_party/abseil-cpp/absl/meta:type_traits",
118    "//third_party/abseil-cpp/absl/types:any",
119  ]
120}
121
122absl_source_set("flat_hash_set") {
123  public = [ "flat_hash_set.h" ]
124  deps = [
125    ":container_memory",
126    ":hash_function_defaults",
127    ":raw_hash_set",
128    "//third_party/abseil-cpp/absl/algorithm:container",
129    "//third_party/abseil-cpp/absl/base:core_headers",
130    "//third_party/abseil-cpp/absl/memory",
131  ]
132}
133
134absl_test("flat_hash_set_test") {
135  sources = [ "flat_hash_set_test.cc" ]
136  deps = [
137    ":container_memory",
138    ":flat_hash_set",
139    ":hash_generator_testing",
140    ":unordered_set_constructor_test",
141    ":unordered_set_lookup_test",
142    ":unordered_set_members_test",
143    ":unordered_set_modifiers_test",
144    "//third_party/abseil-cpp/absl/base:config",
145    "//third_party/abseil-cpp/absl/log:check",
146    "//third_party/abseil-cpp/absl/memory",
147    "//third_party/abseil-cpp/absl/strings",
148  ]
149}
150
151absl_source_set("node_hash_map") {
152  public = [ "node_hash_map.h" ]
153  deps = [
154    ":container_memory",
155    ":hash_function_defaults",
156    ":node_slot_policy",
157    ":raw_hash_map",
158    "//third_party/abseil-cpp/absl/algorithm:container",
159    "//third_party/abseil-cpp/absl/base:core_headers",
160    "//third_party/abseil-cpp/absl/memory",
161  ]
162}
163
164absl_source_set("node_hash_set") {
165  public = [ "node_hash_set.h" ]
166  deps = [
167    ":container_memory",
168    ":hash_function_defaults",
169    ":node_slot_policy",
170    ":raw_hash_set",
171    "//third_party/abseil-cpp/absl/algorithm:container",
172    "//third_party/abseil-cpp/absl/base:core_headers",
173    "//third_party/abseil-cpp/absl/memory",
174  ]
175}
176
177absl_source_set("container_memory") {
178  public = [ "internal/container_memory.h" ]
179  deps = [
180    "//third_party/abseil-cpp/absl/base:config",
181    "//third_party/abseil-cpp/absl/memory",
182    "//third_party/abseil-cpp/absl/meta:type_traits",
183    "//third_party/abseil-cpp/absl/utility",
184  ]
185}
186
187# Disabled because container_memory_test requires -frtti
188# absl_test("container_memory_test") {
189#  sources = [ "internal/container_memory_test.cc" ]
190#  deps = [
191#    ":container_memory",
192#    ":test_instance_tracker",
193#    "//third_party/abseil-cpp/absl/meta:type_traits",
194#    "//third_party/abseil-cpp/absl/strings",
195#  ]
196# }
197
198absl_source_set("hash_function_defaults") {
199  public = [ "internal/hash_function_defaults.h" ]
200  visibility = [ "//third_party/abseil-cpp/absl/container:*" ]
201  deps = [
202    "//third_party/abseil-cpp/absl/base:config",
203    "//third_party/abseil-cpp/absl/hash",
204    "//third_party/abseil-cpp/absl/strings",
205    "//third_party/abseil-cpp/absl/strings:cord",
206    "//third_party/abseil-cpp/absl/strings:string_view",
207  ]
208}
209
210absl_source_set("hash_generator_testing") {
211  testonly = true
212  sources = [ "internal/hash_generator_testing.cc" ]
213  public = [ "internal/hash_generator_testing.h" ]
214  deps = [
215    ":hash_policy_testing",
216    "//third_party/abseil-cpp/absl/memory",
217    "//third_party/abseil-cpp/absl/meta:type_traits",
218    "//third_party/abseil-cpp/absl/strings:string_view",
219  ]
220}
221
222absl_source_set("hash_policy_testing") {
223  testonly = true
224  public = [ "internal/hash_policy_testing.h" ]
225  deps = [
226    "//third_party/abseil-cpp/absl/hash",
227    "//third_party/abseil-cpp/absl/strings:string_view",
228  ]
229}
230
231absl_source_set("hash_policy_traits") {
232  public = [ "internal/hash_policy_traits.h" ]
233  deps = [
234    ":common_policy_traits",
235    "//third_party/abseil-cpp/absl/meta:type_traits",
236  ]
237}
238
239absl_source_set("common_policy_traits") {
240  public = [ "internal/common_policy_traits.h" ]
241  visibility = [ "//third_party/abseil-cpp/absl/container:*" ]
242  deps = [ "//third_party/abseil-cpp/absl/meta:type_traits" ]
243}
244
245absl_test("common_policy_traits_test") {
246  sources = [ "internal/common_policy_traits_test.cc" ]
247  deps = [
248    ":common_policy_traits",
249    "//third_party/abseil-cpp/absl/base:config",
250  ]
251}
252
253absl_source_set("hashtable_debug") {
254  public = [ "internal/hashtable_debug.h" ]
255  deps = [ ":hashtable_debug_hooks" ]
256}
257
258absl_source_set("hashtable_debug_hooks") {
259  public = [ "internal/hashtable_debug_hooks.h" ]
260  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
261}
262
263absl_source_set("hashtablez_sampler") {
264  public = [ "internal/hashtablez_sampler.h" ]
265  sources = [
266    "internal/hashtablez_sampler.cc",
267    "internal/hashtablez_sampler_force_weak_definition.cc",
268  ]
269  deps = [
270    "//third_party/abseil-cpp/absl/base",
271    "//third_party/abseil-cpp/absl/base:config",
272    "//third_party/abseil-cpp/absl/base:core_headers",
273    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
274    "//third_party/abseil-cpp/absl/debugging:stacktrace",
275    "//third_party/abseil-cpp/absl/memory",
276    "//third_party/abseil-cpp/absl/profiling:exponential_biased",
277    "//third_party/abseil-cpp/absl/profiling:sample_recorder",
278    "//third_party/abseil-cpp/absl/synchronization",
279    "//third_party/abseil-cpp/absl/time",
280    "//third_party/abseil-cpp/absl/utility",
281  ]
282}
283
284absl_source_set("node_slot_policy") {
285  public = [ "internal/node_slot_policy.h" ]
286  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
287}
288
289absl_test("node_slot_policy_test") {
290  sources = [ "internal/node_slot_policy_test.cc" ]
291  deps = [
292    ":hash_policy_traits",
293    ":node_slot_policy",
294    "//third_party/abseil-cpp/absl/base:config",
295  ]
296}
297
298absl_source_set("raw_hash_map") {
299  public = [ "internal/raw_hash_map.h" ]
300  deps = [
301    ":container_memory",
302    ":raw_hash_set",
303    "//third_party/abseil-cpp/absl/base:config",
304    "//third_party/abseil-cpp/absl/base:core_headers",
305    "//third_party/abseil-cpp/absl/base:throw_delegate",
306  ]
307}
308
309absl_source_set("common") {
310  public = [ "internal/common.h" ]
311  deps = [
312    "//third_party/abseil-cpp/absl/meta:type_traits",
313    "//third_party/abseil-cpp/absl/types:optional",
314  ]
315}
316
317absl_source_set("raw_hash_set") {
318  sources = [ "internal/raw_hash_set.cc" ]
319  public = [ "internal/raw_hash_set.h" ]
320  deps = [
321    ":common",
322    ":compressed_tuple",
323    ":container_memory",
324    ":hash_policy_traits",
325    ":hashtable_debug_hooks",
326    ":hashtablez_sampler",
327    "//third_party/abseil-cpp/absl/base:config",
328    "//third_party/abseil-cpp/absl/base:core_headers",
329    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
330    "//third_party/abseil-cpp/absl/base:endian",
331    "//third_party/abseil-cpp/absl/base:prefetch",
332    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
333    "//third_party/abseil-cpp/absl/hash",
334    "//third_party/abseil-cpp/absl/memory",
335    "//third_party/abseil-cpp/absl/meta:type_traits",
336    "//third_party/abseil-cpp/absl/numeric:bits",
337    "//third_party/abseil-cpp/absl/utility",
338  ]
339}
340
341absl_test("raw_hash_set_test") {
342  sources = [ "internal/raw_hash_set_test.cc" ]
343  deps = [
344    ":container_memory",
345    ":flat_hash_map",
346    ":flat_hash_set",
347    ":hash_function_defaults",
348    ":hash_policy_testing",
349    ":hashtable_debug",
350    ":raw_hash_set",
351    ":test_allocator",
352    "//third_party/abseil-cpp/absl/base",
353    "//third_party/abseil-cpp/absl/base:config",
354    "//third_party/abseil-cpp/absl/base:core_headers",
355    "//third_party/abseil-cpp/absl/base:prefetch",
356    "//third_party/abseil-cpp/absl/log",
357    "//third_party/abseil-cpp/absl/strings",
358  ]
359}
360
361absl_test("raw_hash_set_allocator_test") {
362  sources = [ "internal/raw_hash_set_allocator_test.cc" ]
363  deps = [
364    ":raw_hash_set",
365    ":tracked",
366    "//third_party/abseil-cpp/absl/base:config",
367  ]
368}
369
370absl_source_set("layout") {
371  public = [ "internal/layout.h" ]
372  deps = [
373    "//third_party/abseil-cpp/absl/base:config",
374    "//third_party/abseil-cpp/absl/base:core_headers",
375    "//third_party/abseil-cpp/absl/debugging:demangle_internal",
376    "//third_party/abseil-cpp/absl/meta:type_traits",
377    "//third_party/abseil-cpp/absl/strings",
378    "//third_party/abseil-cpp/absl/types:span",
379    "//third_party/abseil-cpp/absl/utility",
380  ]
381}
382
383absl_test("layout_test") {
384  sources = [ "internal/layout_test.cc" ]
385  deps = [
386    ":layout",
387    "//third_party/abseil-cpp/absl/base:config",
388    "//third_party/abseil-cpp/absl/log:check",
389    "//third_party/abseil-cpp/absl/types:span",
390    "//third_party/abseil-cpp/absl/utility",
391  ]
392}
393
394absl_source_set("tracked") {
395  testonly = true
396  public = [ "internal/tracked.h" ]
397  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
398}
399
400absl_source_set("unordered_map_constructor_test") {
401  testonly = true
402  public = [ "internal/unordered_map_constructor_test.h" ]
403  deps = [
404    ":hash_generator_testing",
405    ":hash_policy_testing",
406    "//third_party/googletest:gtest",
407  ]
408}
409
410absl_source_set("unordered_map_lookup_test") {
411  testonly = true
412  public = [ "internal/unordered_map_lookup_test.h" ]
413  deps = [
414    ":hash_generator_testing",
415    ":hash_policy_testing",
416    "//third_party/googletest:gtest",
417  ]
418}
419
420absl_source_set("unordered_map_modifiers_test") {
421  testonly = true
422  public = [ "internal/unordered_map_modifiers_test.h" ]
423  deps = [
424    ":hash_generator_testing",
425    ":hash_policy_testing",
426    "//third_party/googletest:gtest",
427  ]
428}
429
430absl_source_set("unordered_set_constructor_test") {
431  testonly = true
432  public = [ "internal/unordered_set_constructor_test.h" ]
433  deps = [
434    ":hash_generator_testing",
435    ":hash_policy_testing",
436    "//third_party/abseil-cpp/absl/meta:type_traits",
437    "//third_party/googletest:gtest",
438  ]
439}
440
441absl_source_set("unordered_set_members_test") {
442  testonly = true
443  public = [ "internal/unordered_set_members_test.h" ]
444  deps = [
445    "//third_party/abseil-cpp/absl/meta:type_traits",
446    "//third_party/googletest:gtest",
447  ]
448}
449
450absl_source_set("unordered_map_members_test") {
451  testonly = true
452  public = [ "internal/unordered_map_members_test.h" ]
453  deps = [
454    "//third_party/abseil-cpp/absl/meta:type_traits",
455    "//third_party/googletest:gtest",
456  ]
457}
458
459absl_source_set("unordered_set_lookup_test") {
460  testonly = true
461  public = [ "internal/unordered_set_lookup_test.h" ]
462  deps = [
463    ":hash_generator_testing",
464    ":hash_policy_testing",
465    "//third_party/googletest:gtest",
466  ]
467}
468
469absl_source_set("unordered_set_modifiers_test") {
470  testonly = true
471  public = [ "internal/unordered_set_modifiers_test.h" ]
472  deps = [
473    ":hash_generator_testing",
474    ":hash_policy_testing",
475    "//third_party/googletest:gtest",
476  ]
477}
478
479absl_test("sample_element_size_test") {
480  public = [ "sample_element_size_test.cc" ]
481  deps = [
482    ":flat_hash_map",
483    ":flat_hash_set",
484    ":node_hash_map",
485    ":node_hash_set",
486  ]
487}
488
489absl_source_set("btree") {
490  sources = [
491    "internal/btree.h",
492    "internal/btree_container.h",
493  ]
494  public = [
495    "btree_map.h",
496    "btree_set.h",
497  ]
498  deps = [
499    ":common",
500    ":common_policy_traits",
501    ":compressed_tuple",
502    ":container_memory",
503    ":layout",
504    "//third_party/abseil-cpp/absl/base:core_headers",
505    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
506    "//third_party/abseil-cpp/absl/base:throw_delegate",
507    "//third_party/abseil-cpp/absl/memory",
508    "//third_party/abseil-cpp/absl/meta:type_traits",
509    "//third_party/abseil-cpp/absl/strings:cord",
510    "//third_party/abseil-cpp/absl/strings:string_view",
511    "//third_party/abseil-cpp/absl/types:compare",
512    "//third_party/abseil-cpp/absl/utility",
513  ]
514}
515
516absl_source_set("btree_test_common") {
517  testonly = true
518  public = [ "btree_test.h" ]
519  deps = [
520    ":btree",
521    ":flat_hash_set",
522    "//third_party/abseil-cpp/absl/strings",
523    "//third_party/abseil-cpp/absl/strings:cord",
524    "//third_party/abseil-cpp/absl/time",
525  ]
526}
527# TODO(mbonadei): Fix issue with EXPECT_DEATH and uncomment.
528# absl_test("btree_test") {
529#   sources = [ "btree_test.cc" ]
530#   deps = [
531#     ":btree",
532#     ":btree_test_common",
533#     ":test_allocator",
534#     ":test_instance_tracker",
535#     "//third_party/abseil-cpp/absl/algorithm:container",
536#     "//third_party/abseil-cpp/absl/base:core_headers",
537#     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
538#     "//third_party/abseil-cpp/absl/flags:flag",
539#     "//third_party/abseil-cpp/absl/hash:hash_testing",
540#     "//third_party/abseil-cpp/absl/memory",
541#     "//third_party/abseil-cpp/absl/random",
542#     "//third_party/abseil-cpp/absl/strings",
543#     "//third_party/abseil-cpp/absl/types:compare",
544#     "//third_party/abseil-cpp/absl/types:optional",
545#   ]
546# }
547