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