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