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