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