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