@ -14,90 +14,147 @@
# l i m i t a t i o n s u n d e r t h e L i c e n s e .
#
list ( APPEND BASE_PUBLIC_HEADERS
" a t t r i b u t e s . h "
" c a l l _ o n c e . h "
" c a s t s . h "
" c o n f i g . h "
" d y n a m i c _ a n n o t a t i o n s . h "
" l o g _ s e v e r i t y . h "
" m a c r o s . h "
" o p t i m i z a t i o n . h "
" p o l i c y _ c h e c k s . h "
" p o r t . h "
" t h r e a d _ a n n o t a t i o n s . h "
absl_cc_library (
N A M E
s p i n l o c k _ w a i t
H D R S
" i n t e r n a l / s c h e d u l i n g _ m o d e . h "
" i n t e r n a l / s p i n l o c k _ w a i t . h "
S R C S
" i n t e r n a l / s p i n l o c k _ a k a r o s . i n c "
" i n t e r n a l / s p i n l o c k _ l i n u x . i n c "
" i n t e r n a l / s p i n l o c k _ p o s i x . i n c "
" i n t e r n a l / s p i n l o c k _ w a i t . c c "
" i n t e r n a l / s p i n l o c k _ w i n 3 2 . i n c "
D E P S
a b s l : : c o r e _ h e a d e r s
)
absl_cc_library (
N A M E
c o n f i g
H D R S
" c o n f i g . h "
" p o l i c y _ c h e c k s . h "
P U B L I C
)
list ( APPEND BASE_INTERNAL_HEADERS
" i n t e r n a l / a t o m i c _ h o o k . h "
" i n t e r n a l / b i t s . h "
" i n t e r n a l / c y c l e c l o c k . h "
" i n t e r n a l / d i r e c t _ m m a p . h "
" i n t e r n a l / e n d i a n . h "
" i n t e r n a l / e x c e p t i o n _ t e s t i n g . h "
" i n t e r n a l / e x c e p t i o n _ s a f e t y _ t e s t i n g . h "
" i n t e r n a l / h i d e _ p t r . h "
" i n t e r n a l / i d e n t i t y . h "
" i n t e r n a l / i n v o k e . h "
" i n t e r n a l / i n l i n e _ v a r i a b l e . h "
" i n t e r n a l / l o w _ l e v e l _ a l l o c . h "
" i n t e r n a l / l o w _ l e v e l _ s c h e d u l i n g . h "
" i n t e r n a l / p e r _ t h r e a d _ t l s . h "
" i n t e r n a l / p r e t t y _ f u n c t i o n . h "
" i n t e r n a l / r a w _ l o g g i n g . h "
" i n t e r n a l / s c h e d u l i n g _ m o d e . h "
" i n t e r n a l / s p i n l o c k . h "
" i n t e r n a l / s p i n l o c k _ w a i t . h "
" i n t e r n a l / s y s i n f o . h "
" i n t e r n a l / t h r e a d _ i d e n t i t y . h "
" i n t e r n a l / t h r o w _ d e l e g a t e . h "
" i n t e r n a l / t s a n _ m u t e x _ i n t e r f a c e . h "
" i n t e r n a l / u n a l i g n e d _ a c c e s s . h "
" i n t e r n a l / u n s c a l e d c y c l e c l o c k . h "
absl_cc_library (
N A M E
d y n a m i c _ a n n o t a t i o n s
H D R S
" d y n a m i c _ a n n o t a t i o n s . h "
S R C S
" d y n a m i c _ a n n o t a t i o n s . c c "
D E F I N E S
" _ _ C L A N G _ S U P P O R T _ D Y N _ A N N O T A T I O N _ _ "
P U B L I C
)
absl_cc_library (
N A M E
c o r e _ h e a d e r s
H D R S
" a t t r i b u t e s . h "
" m a c r o s . h "
" o p t i m i z a t i o n . h "
" p o r t . h "
" t h r e a d _ a n n o t a t i o n s . h "
D E P S
a b s l : : c o n f i g
P U B L I C
)
# a b s l _ b a s e m a i n l i b r a r y
list ( APPEND BASE_SRC
" i n t e r n a l / c y c l e c l o c k . c c "
" i n t e r n a l / r a w _ l o g g i n g . c c "
" i n t e r n a l / s p i n l o c k . c c "
" i n t e r n a l / s y s i n f o . c c "
" i n t e r n a l / t h r e a d _ i d e n t i t y . c c "
" i n t e r n a l / u n s c a l e d c y c l e c l o c k . c c "
" i n t e r n a l / l o w _ l e v e l _ a l l o c . c c "
$ { B A S E _ P U B L I C _ H E A D E R S }
$ { B A S E _ I N T E R N A L _ H E A D E R S }
absl_cc_library (
N A M E
m a l l o c _ i n t e r n a l
H D R S
" i n t e r n a l / d i r e c t _ m m a p . h "
" i n t e r n a l / l o w _ l e v e l _ a l l o c . h "
S R C S
" i n t e r n a l / l o w _ l e v e l _ a l l o c . c c "
D E P S
a b s l : : b a s e
a b s l : : c o n f i g
a b s l : : c o r e _ h e a d e r s
a b s l : : d y n a m i c _ a n n o t a t i o n s
a b s l : : s p i n l o c k _ w a i t
)
absl_library (
T A R G E T
a b s l _ b a s e
S O U R C E S
$ { B A S E _ S R C }
P U B L I C _ L I B R A R I E S
a b s l _ d y n a m i c _ a n n o t a t i o n s
a b s l _ i n t e r n a l _ s p i n l o c k _ w a i t
E X P O R T _ N A M E
absl_cc_library (
N A M E
b a s e _ i n t e r n a l
H D R S
" i n t e r n a l / h i d e _ p t r . h "
" i n t e r n a l / i d e n t i t y . h "
" i n t e r n a l / i n l i n e _ v a r i a b l e . h "
" i n t e r n a l / i n v o k e . h "
)
absl_cc_library (
N A M E
b a s e
H D R S
" c a l l _ o n c e . h "
" c a s t s . h "
" i n t e r n a l / a t o m i c _ h o o k . h "
" i n t e r n a l / c y c l e c l o c k . h "
" i n t e r n a l / l o w _ l e v e l _ s c h e d u l i n g . h "
" i n t e r n a l / p e r _ t h r e a d _ t l s . h "
" i n t e r n a l / r a w _ l o g g i n g . h "
" i n t e r n a l / s p i n l o c k . h "
" i n t e r n a l / s y s i n f o . h "
" i n t e r n a l / t h r e a d _ i d e n t i t y . h "
" i n t e r n a l / t s a n _ m u t e x _ i n t e r f a c e . h "
" i n t e r n a l / u n s c a l e d c y c l e c l o c k . h "
" l o g _ s e v e r i t y . h "
S R C S
" i n t e r n a l / c y c l e c l o c k . c c "
" i n t e r n a l / r a w _ l o g g i n g . c c "
" i n t e r n a l / s p i n l o c k . c c "
" i n t e r n a l / s y s i n f o . c c "
" i n t e r n a l / t h r e a d _ i d e n t i t y . c c "
" i n t e r n a l / u n s c a l e d c y c l e c l o c k . c c "
D E P S
a b s l : : b a s e _ i n t e r n a l
a b s l : : c o n f i g
a b s l : : c o r e _ h e a d e r s
a b s l : : d y n a m i c _ a n n o t a t i o n s
a b s l : : s p i n l o c k _ w a i t
P U B L I C
)
absl_cc_library (
N A M E
t h r o w _ d e l e g a t e
S R C S
" i n t e r n a l / t h r o w _ d e l e g a t e . c c "
H D R S
" i n t e r n a l / t h r o w _ d e l e g a t e . h "
S R C S
" i n t e r n a l / t h r o w _ d e l e g a t e . c c "
C O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G }
D E P S
a b s l : : b a s e
)
absl_cc_library (
N A M E
e x c e p t i o n _ t e s t i n g
H D R S
" i n t e r n a l / e x c e p t i o n _ t e s t i n g . h "
D E P S
a b s l : : c o n f i g
g t e s t
T E S T O N L Y
)
absl_cc_library (
N A M E
p r e t t y _ f u n c t i o n
H D R S
" i n t e r n a l / p r e t t y _ f u n c t i o n . h "
)
# e x c e p t i o n - s a f e t y t e s t i n g l i b r a r y
absl_cc_library (
N A M E
e x c e p t i o n _ s a f e t y _ t e s t i n g
@ -109,288 +166,227 @@ absl_cc_library(
$ { A B S L _ E X C E P T I O N S _ F L A G }
D E P S
a b s l : : b a s e
a b s l : : c o n f i g
a b s l : : p r e t t y _ f u n c t i o n
a b s l : : m e m o r y
a b s l : : m e t a
a b s l : : s t r i n g s
a b s l : : o p t i o n a l
a b s l : : u t i l i t y
g t e s t
T E S T O N L Y
)
# d y n a m i c _ a n n o t a t i o n s l i b r a r y
set ( DYNAMIC_ANNOTATIONS_SRC "dynamic_annotations.cc" )
absl_library (
T A R G E T
a b s l _ d y n a m i c _ a n n o t a t i o n s
S O U R C E S
$ { D Y N A M I C _ A N N O T A T I O N S _ S R C }
)
absl_cc_library (
absl_cc_test (
N A M E
c o n f i g
H D R S
" c o n f i g . h "
" p o l i c y _ c h e c k s . h "
P U B L I C
a b s l _ e x c e p t i o n _ s a f e t y _ t e s t i n g _ t e s t
S R C S
" e x c e p t i o n _ s a f e t y _ t e s t i n g _ t e s t . c c "
C O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G }
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : e x c e p t i o n _ s a f e t y _ t e s t i n g
a b s l : : m e m o r y
g t e s t _ m a i n
)
absl_cc_library (
absl_cc_test (
N A M E
c o r e _ h e a d e r s
H D R S
" a t t r i b u t e s . h "
" m a c r o s . h "
" o p t i m i z a t i o n . h "
" p o r t . h "
" t h r e a d _ a n n o t a t i o n s . h "
a t o m i c _ h o o k _ t e s t
S R C S
" i n t e r n a l / a t o m i c _ h o o k _ t e s t . c c "
D E P S
a b s l : : c o n f i g
P U B L I C
a b s l : : b a s e
a b s l : : c o r e _ h e a d e r s
g t e s t _ m a i n
)
absl_cc_library (
absl_cc_test (
N A M E
s p i n l o c k _ w a i t
b i t _ c a s t _ t e s t
S R C S
" i n t e r n a l / s p i n l o c k _ w a i t . c c "
H D R S
" i n t e r n a l / s c h e d u l i n g _ m o d e . h "
" i n t e r n a l / s p i n l o c k _ w a i t . h "
" b i t _ c a s t _ t e s t . c c "
D E P S
a b s l : : b a s e
a b s l : : c o r e _ h e a d e r s
g t e s t _ m a i n
)
absl_cc_library (
absl_cc_test (
N A M E
m a l l o c _ i n t e r n a l
t h r o w _ d e l e g a t e _ t e s t
S R C S
" i n t e r n a l / l o w _ l e v e l _ a l l o c . c c "
H D R S
" i n t e r n a l / d i r e c t _ m m a p . h "
" i n t e r n a l / l o w _ l e v e l _ a l l o c . h "
" t h r o w _ d e l e g a t e _ t e s t . c c "
D E P S
a b s l _ d y n a m i c _ a n n o t a t i o n s
)
#
# # T E S T S
#
# c a l l o n c e t e s t
set ( ATOMIC_HOOK_TEST_SRC "internal/atomic_hook_test.cc" )
set ( ATOMIC_HOOK_TEST_PUBLIC_LIBRARIES absl::base )
absl_test (
T A R G E T
a t o m i c _ h o o k _ t e s t
S O U R C E S
$ { A T O M I C _ H O O K _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { A T O M I C _ H O O K _ T E S T _ P U B L I C _ L I B R A R I E S }
)
# c a l l o n c e t e s t
set ( CALL_ONCE_TEST_SRC "call_once_test.cc" )
set ( CALL_ONCE_TEST_PUBLIC_LIBRARIES absl::base absl::synchronization )
absl_test (
T A R G E T
c a l l _ o n c e _ t e s t
S O U R C E S
$ { C A L L _ O N C E _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { C A L L _ O N C E _ T E S T _ P U B L I C _ L I B R A R I E S }
)
# t e s t b i t _ c a s t _ t e s t
set ( BIT_CAST_TEST_SRC "bit_cast_test.cc" )
absl_test (
T A R G E T
b i t _ c a s t _ t e s t
S O U R C E S
$ { B I T _ C A S T _ T E S T _ S R C }
a b s l : : b a s e
a b s l _ i n t e r n a l _ t h r o w _ d e l e g a t e
g t e s t _ m a i n
)
# t e s t a b s l _ t h r o w _ d e l e g a t e _ t e s t
set ( THROW_DELEGATE_TEST_SRC "throw_delegate_test.cc" )
set ( THROW_DELEGATE_TEST_PUBLIC_LIBRARIES absl::base absl_internal_throw_delegate )
absl_test (
T A R G E T
t h r o w _ d e l e g a t e _ t e s t
S O U R C E S
$ { T H R O W _ D E L E G A T E _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { T H R O W _ D E L E G A T E _ T E S T _ P U B L I C _ L I B R A R I E S }
absl_cc_test (
N A M E
i n l i n e _ v a r i a b l e _ t e s t
S R C S
" i n t e r n a l / i n l i n e _ v a r i a b l e _ t e s t i n g . h "
" i n l i n e _ v a r i a b l e _ t e s t . c c "
" i n l i n e _ v a r i a b l e _ t e s t _ a . c c "
" i n l i n e _ v a r i a b l e _ t e s t _ b . c c "
D E P S
a b s l : : b a s e _ i n t e r n a l
g t e s t _ m a i n
)
# t e s t i n v o k e _ t e s t
set ( INVOKE_TEST_SRC "invoke_test.cc" )
set ( INVOKE_TEST_PUBLIC_LIBRARIES absl::strings )
absl_test (
T A R G E T
absl_cc_test (
N A M E
i n v o k e _ t e s t
S O U R C E S
$ { I N V O K E _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { I N V O K E _ T E S T _ P U B L I C _ L I B R A R I E S }
)
# t e s t i n l i n e _ v a r i a b l e _ t e s t
list ( APPEND INLINE_VARIABLE_TEST_SRC
" i n t e r n a l / i n l i n e _ v a r i a b l e _ t e s t i n g . h "
" i n l i n e _ v a r i a b l e _ t e s t . c c "
" i n l i n e _ v a r i a b l e _ t e s t _ a . c c "
" i n l i n e _ v a r i a b l e _ t e s t _ b . c c "
)
set ( INLINE_VARIABLE_TEST_PUBLIC_LIBRARIES absl::base )
absl_test (
T A R G E T
i n l i n e _ v a r i a b l e _ t e s t
S O U R C E S
$ { I N L I N E _ V A R I A B L E _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { I N L I N E _ V A R I A B L E _ T E S T _ P U B L I C _ L I B R A R I E S }
S R C S
" i n v o k e _ t e s t . c c "
D E P S
a b s l : : b a s e _ i n t e r n a l
a b s l : : m e m o r y
a b s l : : s t r i n g s
g m o c k
g t e s t _ m a i n
)
# t e s t s p i n l o c k _ t e s t _ c o m m o n
set ( SPINLOCK_TEST_COMMON_SRC "spinlock_test_common.cc" )
set ( SPINLOCK_TEST_COMMON_PUBLIC_LIBRARIES absl::base absl::synchronization )
absl_test (
T A R G E T
absl_cc_library (
N A M E
s p i n l o c k _ t e s t _ c o m m o n
S O U R C E S
$ { S P I N L O C K _ T E S T _ C O M M O N _ S R C }
P U B L I C _ L I B R A R I E S
$ { S P I N L O C K _ T E S T _ C O M M O N _ P U B L I C _ L I B R A R I E S }
S R C S
" s p i n l o c k _ t e s t _ c o m m o n . c c "
C O P T S
$ { A B S L _ T E S T _ C O P T S }
D E P S
a b s l : : b a s e
a b s l : : c o r e _ h e a d e r s
a b s l : : s p i n l o c k _ w a i t
a b s l : : s y n c h r o n i z a t i o n
g t e s t
P U B L I C
)
# t e s t s p i n l o c k _ t e s t
set ( SPINLOCK_TEST_SRC "spinlock_test_common.cc" )
set ( SPINLOCK_TEST_PUBLIC_LIBRARIES absl::base absl::synchronization )
absl_test (
T A R G E T
# O n b a z e l B U I L D t h i s t a r g e t u s e " a l w a y s l i n k = 1 " w h i c h i s n o t i m p l e m e n t e d h e r e
absl_cc_test (
N A M E
s p i n l o c k _ t e s t
S O U R C E S
$ { S P I N L O C K _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { S P I N L O C K _ T E S T _ P U B L I C _ L I B R A R I E S }
S R C S
" s p i n l o c k _ t e s t _ c o m m o n . c c "
D E P S
a b s l : : b a s e
a b s l : : c o r e _ h e a d e r s
a b s l : : s p i n l o c k _ w a i t
a b s l : : s y n c h r o n i z a t i o n
g t e s t _ m a i n
)
absl_cc_library (
N A M E
e n d i a n
H D R S
" i n t e r n a l / e n d i a n . h "
" i n t e r n a l / u n a l i g n e d _ a c c e s s . h "
D E P S
a b s l : : c o n f i g
a b s l : : c o r e _ h e a d e r s
P U B L I C
)
# t e s t e n d i a n _ t e s t
set ( ENDIAN_TEST_SRC "internal/endian_test.cc" )
absl_test (
T A R G E T
absl_cc_test (
N A M E
e n d i a n _ t e s t
S O U R C E S
$ { E N D I A N _ T E S T _ S R C }
S R C S
" i n t e r n a l / e n d i a n _ t e s t . c c "
D E P S
a b s l : : b a s e
a b s l : : c o n f i g
a b s l : : e n d i a n
g t e s t _ m a i n
)
# t e s t c o n f i g _ t e s t
set ( CONFIG_TEST_SRC "config_test.cc" )
set ( CONFIG_TEST_PUBLIC_LIBRARIES absl::base absl::synchronization )
absl_test (
T A R G E T
absl_cc_test (
N A M E
c o n f i g _ t e s t
S O U R C E S
$ { C O N F I G _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { C O N F I G _ T E S T _ P U B L I C _ L I B R A R I E S }
S R C S
" c o n f i g _ t e s t . c c "
D E P S
a b s l : : c o n f i g
a b s l : : s y n c h r o n i z a t i o n
g t e s t _ m a i n
)
absl_cc_test (
N A M E
c a l l _ o n c e _ t e s t
S R C S
" c a l l _ o n c e _ t e s t . c c "
D E P S
a b s l : : b a s e
a b s l : : c o r e _ h e a d e r s
a b s l : : s y n c h r o n i z a t i o n
g t e s t _ m a i n
)
# t e s t r a w _ l o g g i n g _ t e s t
set ( RAW_LOGGING_TEST_SRC "raw_logging_test.cc" )
set ( RAW_LOGGING_TEST_PUBLIC_LIBRARIES absl::base absl::strings )
absl_test (
T A R G E T
absl_cc_test (
N A M E
r a w _ l o g g i n g _ t e s t
S O U R C E S
$ { R A W _ L O G G I N G _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { R A W _ L O G G I N G _ T E S T _ P U B L I C _ L I B R A R I E S }
S R C S
" r a w _ l o g g i n g _ t e s t . c c "
D E P S
a b s l : : b a s e
a b s l : : s t r i n g s
g t e s t _ m a i n
)
# t e s t s y s i n f o _ t e s t
set ( SYSINFO_TEST_SRC "internal/sysinfo_test.cc" )
set ( SYSINFO_TEST_PUBLIC_LIBRARIES absl::base absl::synchronization )
absl_test (
T A R G E T
absl_cc_test (
N A M E
s y s i n f o _ t e s t
S O U R C E S
$ { S Y S I N F O _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { S Y S I N F O _ T E S T _ P U B L I C _ L I B R A R I E S }
S R C S
" i n t e r n a l / s y s i n f o _ t e s t . c c "
D E P S
a b s l : : b a s e
a b s l : : s y n c h r o n i z a t i o n
g t e s t _ m a i n
)
# t e s t l o w _ l e v e l _ a l l o c _ t e s t
set ( LOW_LEVEL_ALLOC_TEST_SRC "internal/low_level_alloc_test.cc" )
set ( LOW_LEVEL_ALLOC_TEST_PUBLIC_LIBRARIES absl::base )
absl_test (
T A R G E T
absl_cc_test (
N A M E
l o w _ l e v e l _ a l l o c _ t e s t
S O U R C E S
$ { L O W _ L E V E L _ A L L O C _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { L O W _ L E V E L _ A L L O C _ T E S T _ P U B L I C _ L I B R A R I E S }
S R C S
" i n t e r n a l / l o w _ l e v e l _ a l l o c _ t e s t . c c "
D E P S
a b s l : : m a l l o c _ i n t e r n a l
T h r e a d s : : T h r e a d s
)
# t e s t t h r e a d _ i d e n t i t y _ t e s t
set ( THREAD_IDENTITY_TEST_SRC "internal/thread_identity_test.cc" )
set ( THREAD_IDENTITY_TEST_PUBLIC_LIBRARIES absl::base absl::synchronization )
absl_test (
T A R G E T
absl_cc_test (
N A M E
t h r e a d _ i d e n t i t y _ t e s t
S O U R C E S
$ { T H R E A D _ I D E N T I T Y _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { T H R E A D _ I D E N T I T Y _ T E S T _ P U B L I C _ L I B R A R I E S }
S R C S
" i n t e r n a l / t h r e a d _ i d e n t i t y _ t e s t . c c "
D E P S
a b s l : : b a s e
a b s l : : c o r e _ h e a d e r s
a b s l : : s y n c h r o n i z a t i o n
T h r e a d s : : T h r e a d s
g t e s t _ m a i n
)
# t e s t e x c e p t i o n s _ s a f e t y _ t e s t i n g _ t e s t
set ( EXCEPTION_SAFETY_TESTING_TEST_SRC "exception_safety_testing_test.cc" )
set ( EXCEPTION_SAFETY_TESTING_TEST_PUBLIC_LIBRARIES
a b s l : : b a s e
a b s l _ i n t e r n a l _ e x c e p t i o n _ s a f e t y _ t e s t i n g
a b s l : : m e m o r y
a b s l : : m e t a
a b s l : : s t r i n g s
a b s l : : u t i l i t y
absl_cc_library (
N A M E
b i t s
H D R S
" i n t e r n a l / b i t s . h "
D E P S
a b s l : : c o r e _ h e a d e r s
)
absl_test (
T A R G E T
a b s l _ e x c e p t i o n _ s a f e t y _ t e s t i n g _ t e s t
S O U R C E S
$ { E X C E P T I O N _ S A F E T Y _ T E S T I N G _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { E X C E P T I O N _ S A F E T Y _ T E S T I N G _ T E S T _ P U B L I C _ L I B R A R I E S }
P R I V A T E _ C O M P I L E _ F L A G S
$ { A B S L _ E X C E P T I O N S _ F L A G }
absl_cc_test (
N A M E
b i t s _ t e s t
S R C S
" i n t e r n a l / b i t s _ t e s t . c c "
D E P S
a b s l : : b i t s
g t e s t _ m a i n
)