• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright 2017 The Abseil Authors.
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#      https://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
17absl_cc_library(
18  NAME
19    btree
20  HDRS
21    "btree_map.h"
22    "btree_set.h"
23    "internal/btree.h"
24    "internal/btree_container.h"
25  COPTS
26    ${ABSL_DEFAULT_COPTS}
27  LINKOPTS
28    ${ABSL_DEFAULT_LINKOPTS}
29  DEPS
30    absl::container_common
31    absl::compare
32    absl::compressed_tuple
33    absl::container_memory
34    absl::cord
35    absl::core_headers
36    absl::layout
37    absl::memory
38    absl::raw_logging_internal
39    absl::strings
40    absl::throw_delegate
41    absl::type_traits
42    absl::utility
43)
44
45# Internal-only target, do not depend on directly.
46absl_cc_library(
47  NAME
48    btree_test_common
49  hdrs
50    "btree_test.h"
51  COPTS
52    ${ABSL_TEST_COPTS}
53  LINKOPTS
54    ${ABSL_DEFAULT_LINKOPTS}
55  DEPS
56    absl::btree
57    absl::cord
58    absl::flat_hash_set
59    absl::strings
60    absl::time
61  TESTONLY
62)
63
64absl_cc_test(
65  NAME
66    btree_test
67  SRCS
68    "btree_test.cc"
69  COPTS
70    ${ABSL_TEST_COPTS}
71  LINKOPTS
72    ${ABSL_DEFAULT_LINKOPTS}
73  DEPS
74    absl::btree
75    absl::btree_test_common
76    absl::compare
77    absl::core_headers
78    absl::counting_allocator
79    absl::flags
80    absl::hash_testing
81    absl::raw_logging_internal
82    absl::strings
83    absl::test_instance_tracker
84    absl::type_traits
85    GTest::gmock_main
86)
87
88# Internal-only target, do not depend on directly.
89absl_cc_library(
90  NAME
91    compressed_tuple
92  HDRS
93    "internal/compressed_tuple.h"
94  COPTS
95    ${ABSL_DEFAULT_COPTS}
96  DEPS
97    absl::utility
98  PUBLIC
99)
100
101absl_cc_test(
102  NAME
103    compressed_tuple_test
104  SRCS
105    "internal/compressed_tuple_test.cc"
106  COPTS
107    ${ABSL_TEST_COPTS}
108  DEPS
109    absl::any
110    absl::compressed_tuple
111    absl::memory
112    absl::optional
113    absl::test_instance_tracker
114    absl::utility
115    GTest::gmock_main
116)
117
118absl_cc_library(
119  NAME
120    fixed_array
121  HDRS
122   "fixed_array.h"
123  COPTS
124    ${ABSL_DEFAULT_COPTS}
125  DEPS
126    absl::compressed_tuple
127    absl::algorithm
128    absl::config
129    absl::core_headers
130    absl::dynamic_annotations
131    absl::throw_delegate
132    absl::memory
133  PUBLIC
134)
135
136absl_cc_test(
137  NAME
138    fixed_array_test
139  SRCS
140    "fixed_array_test.cc"
141  COPTS
142    ${ABSL_TEST_COPTS}
143  DEPS
144    absl::fixed_array
145    absl::counting_allocator
146    absl::config
147    absl::exception_testing
148    absl::hash_testing
149    absl::memory
150    GTest::gmock_main
151)
152
153absl_cc_test(
154  NAME
155    fixed_array_exception_safety_test
156  SRCS
157    "fixed_array_exception_safety_test.cc"
158  COPTS
159    ${ABSL_TEST_COPTS}
160  DEPS
161    absl::fixed_array
162    absl::config
163    absl::exception_safety_testing
164    GTest::gmock_main
165)
166
167# Internal-only target, do not depend on directly.
168absl_cc_library(
169  NAME
170    inlined_vector_internal
171  HDRS
172   "internal/inlined_vector.h"
173  COPTS
174    ${ABSL_DEFAULT_COPTS}
175  DEPS
176    absl::compressed_tuple
177    absl::core_headers
178    absl::memory
179    absl::span
180    absl::type_traits
181  PUBLIC
182)
183
184absl_cc_library(
185  NAME
186    inlined_vector
187  HDRS
188   "inlined_vector.h"
189  COPTS
190    ${ABSL_DEFAULT_COPTS}
191  DEPS
192    absl::algorithm
193    absl::core_headers
194    absl::inlined_vector_internal
195    absl::throw_delegate
196    absl::memory
197  PUBLIC
198)
199
200# Internal-only target, do not depend on directly.
201absl_cc_library(
202  NAME
203    counting_allocator
204  HDRS
205    "internal/counting_allocator.h"
206  COPTS
207    ${ABSL_DEFAULT_COPTS}
208  DEPS
209    absl::config
210)
211
212absl_cc_test(
213  NAME
214    inlined_vector_test
215  SRCS
216    "inlined_vector_test.cc"
217  COPTS
218    ${ABSL_TEST_COPTS}
219  DEPS
220    absl::counting_allocator
221    absl::inlined_vector
222    absl::test_instance_tracker
223    absl::config
224    absl::core_headers
225    absl::exception_testing
226    absl::hash_testing
227    absl::memory
228    absl::raw_logging_internal
229    absl::strings
230    GTest::gmock_main
231)
232
233absl_cc_test(
234  NAME
235    inlined_vector_exception_safety_test
236  SRCS
237    "inlined_vector_exception_safety_test.cc"
238  COPTS
239    ${ABSL_TEST_COPTS}
240  DEPS
241    absl::inlined_vector
242    absl::config
243    absl::exception_safety_testing
244    GTest::gmock_main
245)
246
247# Internal-only target, do not depend on directly.
248absl_cc_library(
249  NAME
250    test_instance_tracker
251  HDRS
252    "internal/test_instance_tracker.h"
253  SRCS
254    "internal/test_instance_tracker.cc"
255  COPTS
256    ${ABSL_DEFAULT_COPTS}
257  DEPS
258    absl::compare
259  TESTONLY
260)
261
262absl_cc_test(
263  NAME
264    test_instance_tracker_test
265  SRCS
266    "internal/test_instance_tracker_test.cc"
267  COPTS
268    ${ABSL_TEST_COPTS}
269  DEPS
270    absl::test_instance_tracker
271    GTest::gmock_main
272)
273
274absl_cc_library(
275  NAME
276    flat_hash_map
277  HDRS
278    "flat_hash_map.h"
279  COPTS
280    ${ABSL_DEFAULT_COPTS}
281  DEPS
282    absl::container_memory
283    absl::core_headers
284    absl::hash_function_defaults
285    absl::raw_hash_map
286    absl::algorithm_container
287    absl::memory
288  PUBLIC
289)
290
291absl_cc_test(
292  NAME
293    flat_hash_map_test
294  SRCS
295    "flat_hash_map_test.cc"
296  COPTS
297    ${ABSL_TEST_COPTS}
298  DEPS
299    absl::flat_hash_map
300    absl::hash_generator_testing
301    absl::unordered_map_constructor_test
302    absl::unordered_map_lookup_test
303    absl::unordered_map_members_test
304    absl::unordered_map_modifiers_test
305    absl::any
306    absl::raw_logging_internal
307    GTest::gmock_main
308)
309
310absl_cc_library(
311  NAME
312    flat_hash_set
313  HDRS
314    "flat_hash_set.h"
315  COPTS
316    ${ABSL_DEFAULT_COPTS}
317  DEPS
318    absl::container_memory
319    absl::hash_function_defaults
320    absl::raw_hash_set
321    absl::algorithm_container
322    absl::core_headers
323    absl::memory
324  PUBLIC
325)
326
327absl_cc_test(
328  NAME
329    flat_hash_set_test
330  SRCS
331    "flat_hash_set_test.cc"
332  COPTS
333    ${ABSL_TEST_COPTS}
334    "-DUNORDERED_SET_CXX17"
335  DEPS
336    absl::flat_hash_set
337    absl::hash_generator_testing
338    absl::unordered_set_constructor_test
339    absl::unordered_set_lookup_test
340    absl::unordered_set_members_test
341    absl::unordered_set_modifiers_test
342    absl::memory
343    absl::raw_logging_internal
344    absl::strings
345    GTest::gmock_main
346)
347
348absl_cc_library(
349  NAME
350    node_hash_map
351  HDRS
352    "node_hash_map.h"
353  COPTS
354    ${ABSL_DEFAULT_COPTS}
355  DEPS
356    absl::container_memory
357    absl::core_headers
358    absl::hash_function_defaults
359    absl::node_slot_policy
360    absl::raw_hash_map
361    absl::algorithm_container
362    absl::memory
363  PUBLIC
364)
365
366absl_cc_test(
367  NAME
368    node_hash_map_test
369  SRCS
370    "node_hash_map_test.cc"
371  COPTS
372    ${ABSL_TEST_COPTS}
373  DEPS
374    absl::hash_generator_testing
375    absl::node_hash_map
376    absl::tracked
377    absl::unordered_map_constructor_test
378    absl::unordered_map_lookup_test
379    absl::unordered_map_members_test
380    absl::unordered_map_modifiers_test
381    GTest::gmock_main
382)
383
384absl_cc_library(
385  NAME
386    node_hash_set
387  HDRS
388    "node_hash_set.h"
389  COPTS
390    ${ABSL_DEFAULT_COPTS}
391  DEPS
392    absl::core_headers
393    absl::hash_function_defaults
394    absl::node_slot_policy
395    absl::raw_hash_set
396    absl::algorithm_container
397    absl::memory
398  PUBLIC
399)
400
401absl_cc_test(
402  NAME
403    node_hash_set_test
404  SRCS
405    "node_hash_set_test.cc"
406  COPTS
407    ${ABSL_TEST_COPTS}
408    "-DUNORDERED_SET_CXX17"
409  DEPS
410    absl::hash_generator_testing
411    absl::node_hash_set
412    absl::unordered_set_constructor_test
413    absl::unordered_set_lookup_test
414    absl::unordered_set_members_test
415    absl::unordered_set_modifiers_test
416    GTest::gmock_main
417)
418
419# Internal-only target, do not depend on directly.
420absl_cc_library(
421  NAME
422    container_memory
423  HDRS
424    "internal/container_memory.h"
425  COPTS
426    ${ABSL_DEFAULT_COPTS}
427  DEPS
428    absl::config
429    absl::memory
430    absl::type_traits
431    absl::utility
432  PUBLIC
433)
434
435absl_cc_test(
436  NAME
437    container_memory_test
438  SRCS
439    "internal/container_memory_test.cc"
440  COPTS
441    ${ABSL_TEST_COPTS}
442  DEPS
443    absl::container_memory
444    absl::strings
445    absl::test_instance_tracker
446    GTest::gmock_main
447)
448
449# Internal-only target, do not depend on directly.
450absl_cc_library(
451  NAME
452    hash_function_defaults
453  HDRS
454    "internal/hash_function_defaults.h"
455  COPTS
456    ${ABSL_DEFAULT_COPTS}
457  DEPS
458    absl::config
459    absl::cord
460    absl::hash
461    absl::strings
462  PUBLIC
463)
464
465absl_cc_test(
466  NAME
467    hash_function_defaults_test
468  SRCS
469    "internal/hash_function_defaults_test.cc"
470  COPTS
471    ${ABSL_TEST_COPTS}
472  DEPS
473    absl::cord
474    absl::cord_test_helpers
475    absl::hash_function_defaults
476    absl::hash
477    absl::random_random
478    absl::strings
479    GTest::gmock_main
480)
481
482# Internal-only target, do not depend on directly.
483absl_cc_library(
484  NAME
485    hash_generator_testing
486  HDRS
487    "internal/hash_generator_testing.h"
488  SRCS
489    "internal/hash_generator_testing.cc"
490  COPTS
491    ${ABSL_TEST_COPTS}
492  DEPS
493    absl::hash_policy_testing
494    absl::memory
495    absl::meta
496    absl::strings
497  TESTONLY
498)
499
500# Internal-only target, do not depend on directly.
501absl_cc_library(
502  NAME
503    hash_policy_testing
504  HDRS
505    "internal/hash_policy_testing.h"
506  COPTS
507    ${ABSL_TEST_COPTS}
508  DEPS
509    absl::hash
510    absl::strings
511  TESTONLY
512)
513
514absl_cc_test(
515  NAME
516    hash_policy_testing_test
517  SRCS
518    "internal/hash_policy_testing_test.cc"
519  COPTS
520    ${ABSL_TEST_COPTS}
521  DEPS
522    absl::hash_policy_testing
523    GTest::gmock_main
524)
525
526# Internal-only target, do not depend on directly.
527absl_cc_library(
528  NAME
529    hash_policy_traits
530  HDRS
531    "internal/hash_policy_traits.h"
532  COPTS
533    ${ABSL_DEFAULT_COPTS}
534  DEPS
535    absl::meta
536  PUBLIC
537)
538
539absl_cc_test(
540  NAME
541    hash_policy_traits_test
542  SRCS
543    "internal/hash_policy_traits_test.cc"
544  COPTS
545    ${ABSL_TEST_COPTS}
546  DEPS
547    absl::hash_policy_traits
548    GTest::gmock_main
549)
550
551# Internal-only target, do not depend on directly.
552absl_cc_library(
553  NAME
554    hashtablez_sampler
555  HDRS
556    "internal/hashtablez_sampler.h"
557  SRCS
558    "internal/hashtablez_sampler.cc"
559    "internal/hashtablez_sampler_force_weak_definition.cc"
560  COPTS
561    ${ABSL_DEFAULT_COPTS}
562  DEPS
563    absl::base
564    absl::config
565    absl::exponential_biased
566    absl::sample_recorder
567    absl::synchronization
568)
569
570absl_cc_test(
571  NAME
572    hashtablez_sampler_test
573  SRCS
574    "internal/hashtablez_sampler_test.cc"
575  COPTS
576    ${ABSL_TEST_COPTS}
577  DEPS
578    absl::config
579    absl::hashtablez_sampler
580    GTest::gmock_main
581)
582
583# Internal-only target, do not depend on directly.
584absl_cc_library(
585  NAME
586    hashtable_debug
587  HDRS
588    "internal/hashtable_debug.h"
589  COPTS
590    ${ABSL_DEFAULT_COPTS}
591  DEPS
592    absl::hashtable_debug_hooks
593)
594
595# Internal-only target, do not depend on directly.
596absl_cc_library(
597  NAME
598    hashtable_debug_hooks
599  HDRS
600    "internal/hashtable_debug_hooks.h"
601  COPTS
602    ${ABSL_DEFAULT_COPTS}
603  DEPS
604    absl::config
605  PUBLIC
606)
607
608# Internal-only target, do not depend on directly.
609absl_cc_library(
610  NAME
611    node_slot_policy
612  HDRS
613    "internal/node_slot_policy.h"
614  COPTS
615    ${ABSL_DEFAULT_COPTS}
616  DEPS
617    absl::config
618  PUBLIC
619)
620
621absl_cc_test(
622  NAME
623    node_slot_policy_test
624  SRCS
625    "internal/node_slot_policy_test.cc"
626  COPTS
627    ${ABSL_TEST_COPTS}
628  DEPS
629    absl::hash_policy_traits
630    absl::node_slot_policy
631    GTest::gmock_main
632)
633
634# Internal-only target, do not depend on directly.
635absl_cc_library(
636  NAME
637    raw_hash_map
638  HDRS
639    "internal/raw_hash_map.h"
640  COPTS
641    ${ABSL_DEFAULT_COPTS}
642  DEPS
643    absl::container_memory
644    absl::raw_hash_set
645    absl::throw_delegate
646  PUBLIC
647)
648
649# Internal-only target, do not depend on directly.
650absl_cc_library(
651  NAME
652    container_common
653  HDRS
654    "internal/common.h"
655  COPTS
656    ${ABSL_DEFAULT_COPTS}
657  DEPS
658    absl::type_traits
659)
660
661# Internal-only target, do not depend on directly.
662absl_cc_library(
663  NAME
664    raw_hash_set
665  HDRS
666    "internal/raw_hash_set.h"
667  SRCS
668    "internal/raw_hash_set.cc"
669  COPTS
670    ${ABSL_DEFAULT_COPTS}
671  DEPS
672    absl::bits
673    absl::compressed_tuple
674    absl::config
675    absl::container_common
676    absl::container_memory
677    absl::core_headers
678    absl::endian
679    absl::hash_policy_traits
680    absl::hashtable_debug_hooks
681    absl::memory
682    absl::meta
683    absl::optional
684    absl::prefetch
685    absl::utility
686    absl::hashtablez_sampler
687  PUBLIC
688)
689
690absl_cc_test(
691  NAME
692    raw_hash_set_test
693  SRCS
694    "internal/raw_hash_set_test.cc"
695  COPTS
696    ${ABSL_TEST_COPTS}
697  DEPS
698    absl::container_memory
699    absl::hash_function_defaults
700    absl::hash_policy_testing
701    absl::hashtable_debug
702    absl::raw_hash_set
703    absl::base
704    absl::config
705    absl::core_headers
706    absl::prefetch
707    absl::raw_logging_internal
708    absl::strings
709    GTest::gmock_main
710)
711
712absl_cc_test(
713  NAME
714    raw_hash_set_allocator_test
715  SRCS
716    "internal/raw_hash_set_allocator_test.cc"
717  COPTS
718    ${ABSL_TEST_COPTS}
719  DEPS
720    absl::raw_hash_set
721    absl::tracked
722    absl::core_headers
723    GTest::gmock_main
724)
725
726# Internal-only target, do not depend on directly.
727absl_cc_library(
728  NAME
729    layout
730  HDRS
731    "internal/layout.h"
732  COPTS
733    ${ABSL_DEFAULT_COPTS}
734  DEPS
735    absl::config
736    absl::core_headers
737    absl::meta
738    absl::strings
739    absl::span
740    absl::utility
741  PUBLIC
742)
743
744absl_cc_test(
745  NAME
746    layout_test
747  SRCS
748    "internal/layout_test.cc"
749  COPTS
750    ${ABSL_TEST_COPTS}
751  DEPS
752    absl::layout
753    absl::config
754    absl::core_headers
755    absl::raw_logging_internal
756    absl::span
757    GTest::gmock_main
758)
759
760# Internal-only target, do not depend on directly.
761absl_cc_library(
762  NAME
763    tracked
764  HDRS
765    "internal/tracked.h"
766  COPTS
767    ${ABSL_TEST_COPTS}
768  DEPS
769    absl::config
770  TESTONLY
771)
772
773# Internal-only target, do not depend on directly.
774absl_cc_library(
775  NAME
776    unordered_map_constructor_test
777  HDRS
778    "internal/unordered_map_constructor_test.h"
779  COPTS
780    ${ABSL_TEST_COPTS}
781  DEPS
782    absl::hash_generator_testing
783    absl::hash_policy_testing
784    GTest::gmock
785  TESTONLY
786)
787
788# Internal-only target, do not depend on directly.
789absl_cc_library(
790  NAME
791    unordered_map_lookup_test
792  HDRS
793    "internal/unordered_map_lookup_test.h"
794  COPTS
795    ${ABSL_TEST_COPTS}
796  DEPS
797    absl::hash_generator_testing
798    absl::hash_policy_testing
799    GTest::gmock
800  TESTONLY
801)
802
803# Internal-only target, do not depend on directly.
804absl_cc_library(
805  NAME
806    unordered_map_members_test
807  HDRS
808    "internal/unordered_map_members_test.h"
809  COPTS
810    ${ABSL_TEST_COPTS}
811  DEPS
812    absl::type_traits
813    GTest::gmock
814  TESTONLY
815)
816
817# Internal-only target, do not depend on directly.
818absl_cc_library(
819  NAME
820    unordered_map_modifiers_test
821  HDRS
822    "internal/unordered_map_modifiers_test.h"
823  COPTS
824    ${ABSL_TEST_COPTS}
825  DEPS
826    absl::hash_generator_testing
827    absl::hash_policy_testing
828    GTest::gmock
829  TESTONLY
830)
831
832# Internal-only target, do not depend on directly.
833absl_cc_library(
834  NAME
835    unordered_set_constructor_test
836  HDRS
837    "internal/unordered_set_constructor_test.h"
838  COPTS
839    ${ABSL_TEST_COPTS}
840  DEPS
841    absl::hash_generator_testing
842    absl::hash_policy_testing
843    GTest::gmock
844  TESTONLY
845)
846
847# Internal-only target, do not depend on directly.
848absl_cc_library(
849  NAME
850    unordered_set_lookup_test
851  HDRS
852    "internal/unordered_set_lookup_test.h"
853  COPTS
854    ${ABSL_TEST_COPTS}
855  DEPS
856    absl::hash_generator_testing
857    absl::hash_policy_testing
858    GTest::gmock
859  TESTONLY
860)
861
862# Internal-only target, do not depend on directly.
863absl_cc_library(
864  NAME
865    unordered_set_members_test
866  HDRS
867    "internal/unordered_set_members_test.h"
868  COPTS
869    ${ABSL_TEST_COPTS}
870  DEPS
871    absl::type_traits
872    GTest::gmock
873  TESTONLY
874)
875
876# Internal-only target, do not depend on directly.
877absl_cc_library(
878  NAME
879    unordered_set_modifiers_test
880  HDRS
881    "internal/unordered_set_modifiers_test.h"
882  COPTS
883    ${ABSL_TEST_COPTS}
884  DEPS
885    absl::hash_generator_testing
886    absl::hash_policy_testing
887    GTest::gmock
888  TESTONLY
889)
890
891absl_cc_test(
892  NAME
893    unordered_set_test
894  SRCS
895    "internal/unordered_set_test.cc"
896  COPTS
897    ${ABSL_TEST_COPTS}
898  DEPS
899    absl::unordered_set_constructor_test
900    absl::unordered_set_lookup_test
901    absl::unordered_set_members_test
902    absl::unordered_set_modifiers_test
903    GTest::gmock_main
904)
905
906absl_cc_test(
907  NAME
908    unordered_map_test
909  SRCS
910    "internal/unordered_map_test.cc"
911  COPTS
912    ${ABSL_TEST_COPTS}
913  DEPS
914    absl::unordered_map_constructor_test
915    absl::unordered_map_lookup_test
916    absl::unordered_map_members_test
917    absl::unordered_map_modifiers_test
918    GTest::gmock_main
919)
920
921absl_cc_test(
922  NAME
923    sample_element_size_test
924  SRCS
925    "sample_element_size_test.cc"
926  COPTS
927    ${ABSL_TEST_COPTS}
928  DEPS
929    absl::flat_hash_map
930    absl::flat_hash_set
931    absl::node_hash_map
932    absl::node_hash_set
933    GTest::gmock_main
934)
935