• 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
17find_library(LIBRT rt)
18
19# Internal-only target, do not depend on directly.
20absl_cc_library(
21  NAME
22    atomic_hook
23  HDRS
24    "internal/atomic_hook.h"
25  DEPS
26    absl::config
27    absl::core_headers
28  COPTS
29    ${ABSL_DEFAULT_COPTS}
30)
31
32# Internal-only target, do not depend on directly.
33absl_cc_library(
34  NAME
35    errno_saver
36  HDRS
37    "internal/errno_saver.h"
38  DEPS
39    absl::config
40  COPTS
41    ${ABSL_DEFAULT_COPTS}
42)
43
44absl_cc_library(
45  NAME
46    log_severity
47  HDRS
48    "log_severity.h"
49  SRCS
50    "log_severity.cc"
51  DEPS
52    absl::config
53    absl::core_headers
54  COPTS
55    ${ABSL_DEFAULT_COPTS}
56)
57
58absl_cc_library(
59  NAME
60    no_destructor
61  HDRS
62    "no_destructor.h"
63  DEPS
64    absl::config
65    absl::nullability
66  COPTS
67    ${ABSL_DEFAULT_COPTS}
68)
69
70absl_cc_library(
71  NAME
72    nullability
73  HDRS
74    "nullability.h"
75  SRCS
76    "internal/nullability_impl.h"
77  DEPS
78    absl::config
79    absl::core_headers
80    absl::type_traits
81  COPTS
82    ${ABSL_DEFAULT_COPTS}
83)
84
85absl_cc_test(
86  NAME
87    nullability_test
88  SRCS
89    "nullability_test.cc"
90  COPTS
91    ${ABSL_TEST_COPTS}
92  DEPS
93    absl::core_headers
94    absl::nullability
95    GTest::gtest_main
96)
97
98absl_cc_test(
99  NAME
100    nullability_default_nonnull_test
101  SRCS
102    "nullability_default_nonnull_test.cc"
103  COPTS
104    ${ABSL_TEST_COPTS}
105  DEPS
106    absl::nullability
107    GTest::gtest_main
108)
109
110# Internal-only target, do not depend on directly.
111absl_cc_library(
112  NAME
113    raw_logging_internal
114  HDRS
115    "internal/raw_logging.h"
116  SRCS
117    "internal/raw_logging.cc"
118  DEPS
119    absl::atomic_hook
120    absl::config
121    absl::core_headers
122    absl::errno_saver
123    absl::log_severity
124  COPTS
125    ${ABSL_DEFAULT_COPTS}
126)
127
128# Internal-only target, do not depend on directly.
129absl_cc_library(
130  NAME
131    spinlock_wait
132  HDRS
133    "internal/spinlock_wait.h"
134  SRCS
135    "internal/spinlock_akaros.inc"
136    "internal/spinlock_linux.inc"
137    "internal/spinlock_posix.inc"
138    "internal/spinlock_wait.cc"
139    "internal/spinlock_win32.inc"
140  COPTS
141    ${ABSL_DEFAULT_COPTS}
142  DEPS
143    absl::base_internal
144    absl::core_headers
145    absl::errno_saver
146)
147
148absl_cc_library(
149  NAME
150    config
151  HDRS
152    "config.h"
153    "options.h"
154    "policy_checks.h"
155  COPTS
156    ${ABSL_DEFAULT_COPTS}
157  PUBLIC
158)
159
160absl_cc_library(
161  NAME
162    dynamic_annotations
163  HDRS
164    "dynamic_annotations.h"
165  COPTS
166    ${ABSL_DEFAULT_COPTS}
167  DEPS
168    absl::config
169  PUBLIC
170)
171
172absl_cc_library(
173  NAME
174    core_headers
175  HDRS
176    "attributes.h"
177    "const_init.h"
178    "macros.h"
179    "optimization.h"
180    "port.h"
181    "thread_annotations.h"
182  COPTS
183    ${ABSL_DEFAULT_COPTS}
184  DEPS
185    absl::config
186  PUBLIC
187)
188
189# Internal-only target, do not depend on directly.
190absl_cc_library(
191  NAME
192    malloc_internal
193  HDRS
194    "internal/direct_mmap.h"
195    "internal/low_level_alloc.h"
196  SRCS
197    "internal/low_level_alloc.cc"
198  COPTS
199    ${ABSL_DEFAULT_COPTS}
200  DEPS
201    absl::base
202    absl::base_internal
203    absl::config
204    absl::core_headers
205    absl::dynamic_annotations
206    absl::raw_logging_internal
207    Threads::Threads
208)
209
210# Internal-only target, do not depend on directly.
211absl_cc_library(
212  NAME
213    base_internal
214  HDRS
215    "internal/hide_ptr.h"
216    "internal/identity.h"
217    "internal/inline_variable.h"
218    "internal/invoke.h"
219    "internal/scheduling_mode.h"
220  COPTS
221    ${ABSL_DEFAULT_COPTS}
222  DEPS
223    absl::config
224    absl::type_traits
225)
226
227absl_cc_library(
228  NAME
229    base
230  HDRS
231    "call_once.h"
232    "casts.h"
233    "internal/cycleclock.h"
234    "internal/cycleclock_config.h"
235    "internal/low_level_scheduling.h"
236    "internal/per_thread_tls.h"
237    "internal/spinlock.h"
238    "internal/sysinfo.h"
239    "internal/thread_identity.h"
240    "internal/tsan_mutex_interface.h"
241    "internal/unscaledcycleclock.h"
242    "internal/unscaledcycleclock_config.h"
243  SRCS
244    "internal/cycleclock.cc"
245    "internal/spinlock.cc"
246    "internal/sysinfo.cc"
247    "internal/thread_identity.cc"
248    "internal/unscaledcycleclock.cc"
249  COPTS
250    ${ABSL_DEFAULT_COPTS}
251  LINKOPTS
252    ${ABSL_DEFAULT_LINKOPTS}
253    $<$<BOOL:${LIBRT}>:-lrt>
254    $<$<BOOL:${MINGW}>:-ladvapi32>
255  DEPS
256    absl::atomic_hook
257    absl::base_internal
258    absl::config
259    absl::core_headers
260    absl::dynamic_annotations
261    absl::log_severity
262    absl::nullability
263    absl::raw_logging_internal
264    absl::spinlock_wait
265    absl::type_traits
266    Threads::Threads
267  PUBLIC
268)
269
270# Internal-only target, do not depend on directly.
271absl_cc_library(
272  NAME
273    throw_delegate
274  HDRS
275    "internal/throw_delegate.h"
276  SRCS
277    "internal/throw_delegate.cc"
278  COPTS
279    ${ABSL_DEFAULT_COPTS}
280  DEPS
281    absl::config
282    absl::raw_logging_internal
283)
284
285# Internal-only target, do not depend on directly.
286absl_cc_library(
287  NAME
288    exception_testing
289  HDRS
290    "internal/exception_testing.h"
291  COPTS
292    ${ABSL_DEFAULT_COPTS}
293  DEPS
294    absl::config
295    GTest::gtest
296  TESTONLY
297)
298
299# Internal-only target, do not depend on directly.
300absl_cc_library(
301  NAME
302    pretty_function
303  HDRS
304    "internal/pretty_function.h"
305  COPTS
306    ${ABSL_DEFAULT_COPTS}
307)
308
309# Internal-only target, do not depend on directly.
310absl_cc_library(
311  NAME
312    exception_safety_testing
313  HDRS
314    "internal/exception_safety_testing.h"
315  SRCS
316    "internal/exception_safety_testing.cc"
317  COPTS
318    ${ABSL_TEST_COPTS}
319  DEPS
320    absl::config
321    absl::pretty_function
322    absl::memory
323    absl::meta
324    absl::strings
325    absl::utility
326    GTest::gtest
327  TESTONLY
328)
329
330absl_cc_test(
331  NAME
332    absl_exception_safety_testing_test
333  SRCS
334    "exception_safety_testing_test.cc"
335  COPTS
336    ${ABSL_TEST_COPTS}
337  DEPS
338    absl::exception_safety_testing
339    absl::memory
340    GTest::gtest_main
341)
342
343# Internal-only target, do not depend on directly.
344absl_cc_library(
345  NAME
346    atomic_hook_test_helper
347  SRCS
348    "internal/atomic_hook_test_helper.cc"
349  COPTS
350    ${ABSL_TEST_COPTS}
351  DEPS
352    absl::atomic_hook
353    absl::core_headers
354  TESTONLY
355)
356
357absl_cc_test(
358  NAME
359    atomic_hook_test
360  SRCS
361    "internal/atomic_hook_test.cc"
362  COPTS
363    ${ABSL_TEST_COPTS}
364  DEPS
365    absl::atomic_hook_test_helper
366    absl::atomic_hook
367    absl::core_headers
368    GTest::gmock
369    GTest::gtest_main
370)
371
372absl_cc_test(
373  NAME
374    bit_cast_test
375  SRCS
376    "bit_cast_test.cc"
377  COPTS
378    ${ABSL_TEST_COPTS}
379  DEPS
380    absl::base
381    absl::core_headers
382    GTest::gtest_main
383)
384
385absl_cc_test(
386  NAME
387    errno_saver_test
388  SRCS
389    "internal/errno_saver_test.cc"
390  COPTS
391    ${ABSL_TEST_COPTS}
392  DEPS
393    absl::errno_saver
394    absl::strerror
395    GTest::gmock
396    GTest::gtest_main
397)
398
399absl_cc_test(
400  NAME
401    throw_delegate_test
402  SRCS
403    "throw_delegate_test.cc"
404  COPTS
405    ${ABSL_TEST_COPTS}
406  DEPS
407    absl::base
408    absl::config
409    absl::throw_delegate
410    GTest::gtest_main
411)
412
413absl_cc_test(
414  NAME
415    inline_variable_test
416  SRCS
417    "internal/inline_variable_testing.h"
418    "inline_variable_test.cc"
419    "inline_variable_test_a.cc"
420    "inline_variable_test_b.cc"
421  COPTS
422    ${ABSL_TEST_COPTS}
423  DEPS
424    absl::base_internal
425    GTest::gtest_main
426)
427
428absl_cc_test(
429  NAME
430    invoke_test
431  SRCS
432    "invoke_test.cc"
433  COPTS
434    ${ABSL_TEST_COPTS}
435  DEPS
436    absl::base_internal
437    absl::memory
438    absl::strings
439    GTest::gmock
440    GTest::gtest_main
441)
442
443# Internal-only target, do not depend on directly.
444absl_cc_library(
445  NAME
446    spinlock_test_common
447  SRCS
448    "spinlock_test_common.cc"
449  COPTS
450    ${ABSL_TEST_COPTS}
451  DEPS
452    absl::base
453    absl::config
454    absl::base_internal
455    absl::core_headers
456    absl::synchronization
457    GTest::gtest
458  TESTONLY
459)
460
461# On bazel BUILD this target use "alwayslink = 1" which is not implemented here
462absl_cc_test(
463  NAME
464    spinlock_test
465  SRCS
466    "spinlock_test_common.cc"
467  COPTS
468    ${ABSL_TEST_COPTS}
469  DEPS
470    absl::base
471    absl::base_internal
472    absl::config
473    absl::core_headers
474    absl::synchronization
475    GTest::gtest_main
476)
477
478# Internal-only target, do not depend on directly.
479absl_cc_library(
480  NAME
481    endian
482  HDRS
483    "internal/endian.h"
484    "internal/unaligned_access.h"
485  COPTS
486    ${ABSL_DEFAULT_COPTS}
487  DEPS
488    absl::base
489    absl::config
490    absl::core_headers
491    absl::nullability
492  PUBLIC
493)
494
495absl_cc_test(
496  NAME
497    endian_test
498  SRCS
499    "internal/endian_test.cc"
500  COPTS
501    ${ABSL_TEST_COPTS}
502  DEPS
503    absl::base
504    absl::config
505    absl::endian
506    GTest::gtest_main
507)
508
509absl_cc_test(
510  NAME
511    config_test
512  SRCS
513    "config_test.cc"
514  COPTS
515    ${ABSL_TEST_COPTS}
516  DEPS
517    absl::config
518    absl::synchronization
519    GTest::gtest_main
520)
521
522absl_cc_test(
523  NAME
524    call_once_test
525  SRCS
526    "call_once_test.cc"
527  COPTS
528    ${ABSL_TEST_COPTS}
529  DEPS
530    absl::base
531    absl::core_headers
532    absl::synchronization
533    GTest::gtest_main
534)
535
536absl_cc_test(
537  NAME
538    no_destructor_test
539  SRCS
540    "no_destructor_test.cc"
541  COPTS
542    ${ABSL_TEST_COPTS}
543  DEPS
544    absl::no_destructor
545    absl::config
546    absl::raw_logging_internal
547    GTest::gmock
548    GTest::gtest_main
549)
550
551absl_cc_test(
552  NAME
553    raw_logging_test
554  SRCS
555    "raw_logging_test.cc"
556  COPTS
557    ${ABSL_TEST_COPTS}
558  DEPS
559    absl::raw_logging_internal
560    absl::strings
561    GTest::gtest_main
562)
563
564absl_cc_test(
565  NAME
566    sysinfo_test
567  SRCS
568    "internal/sysinfo_test.cc"
569  COPTS
570    ${ABSL_TEST_COPTS}
571  DEPS
572    absl::base
573    absl::synchronization
574    GTest::gtest_main
575)
576
577absl_cc_test(
578  NAME
579    low_level_alloc_test
580  SRCS
581    "internal/low_level_alloc_test.cc"
582  COPTS
583    ${ABSL_TEST_COPTS}
584  DEPS
585    absl::malloc_internal
586    absl::node_hash_map
587    Threads::Threads
588)
589
590absl_cc_test(
591  NAME
592    thread_identity_test
593  SRCS
594    "internal/thread_identity_test.cc"
595  COPTS
596    ${ABSL_TEST_COPTS}
597  DEPS
598    absl::base
599    absl::core_headers
600    absl::synchronization
601    Threads::Threads
602    GTest::gtest_main
603)
604
605# Internal-only target, do not depend on directly.
606absl_cc_library(
607  NAME
608    scoped_set_env
609  SRCS
610    "internal/scoped_set_env.cc"
611  HDRS
612    "internal/scoped_set_env.h"
613  COPTS
614    ${ABSL_DEFAULT_COPTS}
615  DEPS
616    absl::config
617    absl::raw_logging_internal
618)
619
620absl_cc_test(
621  NAME
622    scoped_set_env_test
623  SRCS
624    "internal/scoped_set_env_test.cc"
625  COPTS
626    ${ABSL_TEST_COPTS}
627  DEPS
628    absl::scoped_set_env
629    GTest::gtest_main
630)
631
632absl_cc_test(
633  NAME
634    cmake_thread_test
635  SRCS
636    "internal/cmake_thread_test.cc"
637  COPTS
638    ${ABSL_TEST_COPTS}
639  DEPS
640    absl::base
641)
642
643absl_cc_test(
644  NAME
645    log_severity_test
646  SRCS
647    "log_severity_test.cc"
648  DEPS
649    absl::flags_internal
650    absl::flags_marshalling
651    absl::log_severity
652    absl::strings
653    GTest::gmock
654    GTest::gtest_main
655)
656
657# Internal-only target, do not depend on directly.
658absl_cc_library(
659  NAME
660    strerror
661  SRCS
662    "internal/strerror.cc"
663  HDRS
664    "internal/strerror.h"
665  COPTS
666    ${ABSL_DEFAULT_COPTS}
667  LINKOPTS
668    ${ABSL_DEFAULT_LINKOPTS}
669  DEPS
670    absl::config
671    absl::core_headers
672    absl::errno_saver
673)
674
675absl_cc_test(
676  NAME
677    strerror_test
678  SRCS
679    "internal/strerror_test.cc"
680  COPTS
681    ${ABSL_TEST_COPTS}
682  DEPS
683    absl::strerror
684    absl::strings
685    GTest::gmock
686    GTest::gtest_main
687)
688
689# Internal-only target, do not depend on directly.
690absl_cc_library(
691  NAME
692    fast_type_id
693  HDRS
694    "internal/fast_type_id.h"
695  COPTS
696    ${ABSL_DEFAULT_COPTS}
697  LINKOPTS
698    ${ABSL_DEFAULT_LINKOPTS}
699  DEPS
700    absl::config
701)
702
703absl_cc_test(
704  NAME
705    fast_type_id_test
706  SRCS
707    "internal/fast_type_id_test.cc"
708  COPTS
709    ${ABSL_TEST_COPTS}
710  DEPS
711    absl::fast_type_id
712    GTest::gtest_main
713)
714
715absl_cc_library(
716  NAME
717    prefetch
718  HDRS
719    "prefetch.h"
720  COPTS
721    ${ABSL_DEFAULT_COPTS}
722  LINKOPTS
723    ${ABSL_DEFAULT_LINKOPTS}
724  DEPS
725    absl::config
726    absl::core_headers
727)
728
729absl_cc_test(
730  NAME
731    prefetch_test
732  SRCS
733    "prefetch_test.cc"
734  COPTS
735    ${ABSL_TEST_COPTS}
736  DEPS
737    absl::prefetch
738    GTest::gtest_main
739)
740
741absl_cc_test(
742  NAME
743    optimization_test
744  SRCS
745    "optimization_test.cc"
746  COPTS
747    ${ABSL_TEST_COPTS}
748  DEPS
749    absl::core_headers
750    absl::optional
751    GTest::gtest_main
752)
753
754absl_cc_library(
755  NAME
756    poison
757  SRCS
758    "internal/poison.cc"
759  HDRS
760    "internal/poison.h"
761  COPTS
762    ${ABSL_DEFAULT_COPTS}
763  LINKOPTS
764    ${ABSL_DEFAULT_LINKOPTS}
765  DEPS
766    absl::config
767    absl::core_headers
768    absl::malloc_internal
769)
770
771absl_cc_test(
772  NAME
773    poison_test
774  SRCS
775    "internal/poison_test.cc"
776  COPTS
777    ${ABSL_TEST_COPTS}
778  DEPS
779    absl::config
780    absl::poison
781    GTest::gtest_main
782)
783
784absl_cc_library(
785  NAME
786    tracing_internal
787  HDRS
788    "internal/tracing.h"
789  SRCS
790    "internal/tracing.cc"
791  COPTS
792    ${ABSL_DEFAULT_COPTS}
793  DEPS
794    absl::base
795)
796
797absl_cc_test(
798  NAME
799    tracing_internal_weak_test
800  SRCS
801    "internal/tracing_weak_test.cc"
802  COPTS
803    ${ABSL_TEST_COPTS}
804  DEPS
805    absl::base
806    absl::tracing_internal
807    GTest::gtest_main
808)
809
810absl_cc_test(
811  NAME
812    tracing_internal_strong_test
813  SRCS
814    "internal/tracing_strong_test.cc"
815  COPTS
816    ${ABSL_TEST_COPTS}
817  DEPS
818    absl::base
819    absl::tracing_internal
820    GTest::gtest_main
821)
822