xref: /llvm-project/libc/src/__support/CMakeLists.txt (revision 7f37b34d31914120a5bb6bd341e7616773df7613)
1f362aea4SSiva Chandra Reddyadd_subdirectory(CPP)
2e2f8c556SGuillaume Chateletadd_subdirectory(macros)
3f362aea4SSiva Chandra Reddy
4aefeb5f1SSiva Chandra Reddyadd_header_library(
5f77ade0aSPiJoules  block
6f77ade0aSPiJoules  HDRS
7f77ade0aSPiJoules    block.h
8f77ade0aSPiJoules  DEPENDS
9f77ade0aSPiJoules    libc.src.__support.CPP.algorithm
10f77ade0aSPiJoules    libc.src.__support.CPP.limits
11f77ade0aSPiJoules    libc.src.__support.CPP.new
12f77ade0aSPiJoules    libc.src.__support.CPP.optional
13f77ade0aSPiJoules    libc.src.__support.CPP.span
14f77ade0aSPiJoules    libc.src.__support.CPP.type_traits
1560de7dc8SDaniel Thornburgh    libc.src.__support.math_extras
16f77ade0aSPiJoules)
17f77ade0aSPiJoules
18385961d7SDaniel Thornburghadd_object_library(
19f77ade0aSPiJoules  freelist
20f77ade0aSPiJoules  HDRS
21f77ade0aSPiJoules    freelist.h
22385961d7SDaniel Thornburgh  SRCS
23385961d7SDaniel Thornburgh    freelist.cpp
24f77ade0aSPiJoules  DEPENDS
25385961d7SDaniel Thornburgh    .block
26f77ade0aSPiJoules    libc.src.__support.fixedvector
27f77ade0aSPiJoules    libc.src.__support.CPP.array
28f77ade0aSPiJoules    libc.src.__support.CPP.cstddef
29f77ade0aSPiJoules    libc.src.__support.CPP.new
30f77ade0aSPiJoules    libc.src.__support.CPP.span
31f77ade0aSPiJoules)
32f77ade0aSPiJoules
33385961d7SDaniel Thornburghadd_object_library(
34385961d7SDaniel Thornburgh  freetrie
35385961d7SDaniel Thornburgh  HDRS
36385961d7SDaniel Thornburgh    freetrie.h
37385961d7SDaniel Thornburgh  SRCS
38385961d7SDaniel Thornburgh    freetrie.cpp
39385961d7SDaniel Thornburgh  DEPENDS
40385961d7SDaniel Thornburgh    .block
41385961d7SDaniel Thornburgh    .freelist
42385961d7SDaniel Thornburgh)
43385961d7SDaniel Thornburgh
44385961d7SDaniel Thornburghadd_header_library(
45385961d7SDaniel Thornburgh  freestore
46385961d7SDaniel Thornburgh  HDRS
47385961d7SDaniel Thornburgh    freestore.h
48385961d7SDaniel Thornburgh  DEPENDS
49385961d7SDaniel Thornburgh    .freetrie
50385961d7SDaniel Thornburgh)
51385961d7SDaniel Thornburgh
527bf3137cSPetr Hosekadd_object_library(
53f77ade0aSPiJoules  freelist_heap
547bf3137cSPetr Hosek  SRCS
557bf3137cSPetr Hosek    freelist_heap.cpp
56f77ade0aSPiJoules  HDRS
57f77ade0aSPiJoules    freelist_heap.h
587bf3137cSPetr Hosek  COMPILE_OPTIONS
597bf3137cSPetr Hosek    -DLIBC_FREELIST_MALLOC_SIZE=${LIBC_CONF_FREELIST_MALLOC_BUFFER_SIZE}
60f77ade0aSPiJoules  DEPENDS
61f77ade0aSPiJoules    .block
627bf3137cSPetr Hosek    .freelist
63385961d7SDaniel Thornburgh    .freestore
647bf3137cSPetr Hosek    .freetrie
65f77ade0aSPiJoules    libc.src.__support.CPP.cstddef
66f77ade0aSPiJoules    libc.src.__support.CPP.array
67f77ade0aSPiJoules    libc.src.__support.CPP.optional
68f77ade0aSPiJoules    libc.src.__support.CPP.span
69f77ade0aSPiJoules    libc.src.__support.libc_assert
70f77ade0aSPiJoules    libc.src.string.memory_utils.inline_memcpy
71f77ade0aSPiJoules    libc.src.string.memory_utils.inline_memset
72f77ade0aSPiJoules)
73f77ade0aSPiJoules
74f77ade0aSPiJoulesadd_header_library(
75f00567ecSGuillaume Chatelet  blockstore
76f00567ecSGuillaume Chatelet  HDRS
77f00567ecSGuillaume Chatelet    blockstore.h
78eb9cc253SSiva Chandra Reddy  DEPENDS
7958a75c6aSSiva Chandra Reddy    .libc_assert
80eb9cc253SSiva Chandra Reddy    libc.src.__support.CPP.new
81f00567ecSGuillaume Chatelet)
82f00567ecSGuillaume Chatelet
83f00567ecSGuillaume Chateletadd_header_library(
84e4767a6fSSiva Chandra Reddy  common
85aefeb5f1SSiva Chandra Reddy  HDRS
86aefeb5f1SSiva Chandra Reddy    common.h
8795b680e4SDaniel Thornburgh    endian_internal.h
88f100ec25SGuillaume Chatelet    macros/properties/architectures.h
8929f8e076SGuillaume Chatelet    macros/attributes.h
90a6db871eSGuillaume Chatelet    macros/properties/cpu_features.h
91f52ca092SGuillaume Chatelet)
92f52ca092SGuillaume Chatelet
93f52ca092SGuillaume Chateletadd_header_library(
94c4448793SGuillaume Chatelet  bit
95f52ca092SGuillaume Chatelet  HDRS
96c4448793SGuillaume Chatelet    bit.h
97c4448793SGuillaume Chatelet  DEPENDS
98c4448793SGuillaume Chatelet    libc.src.__support.macros.attributes
9981e3e7e5SSchrodinger ZHU Yifan    libc.src.__support.CPP.type_traits
100c4448793SGuillaume Chatelet)
101c4448793SGuillaume Chatelet
102c4448793SGuillaume Chateletadd_header_library(
103c4448793SGuillaume Chatelet  math_extras
104c4448793SGuillaume Chatelet  HDRS
105c4448793SGuillaume Chatelet    math_extras.h
106f52ca092SGuillaume Chatelet  DEPENDS
1070ebf511aSNick Desaulniers    libc.src.__support.CPP.bit
10872ce6294Slntue    libc.src.__support.CPP.limits
109f52ca092SGuillaume Chatelet    libc.src.__support.CPP.type_traits
110e2f8c556SGuillaume Chatelet    libc.src.__support.macros.attributes
1115e5a22caSGuillaume Chatelet    libc.src.__support.macros.config
1124380647eSSiva Chandra)
113b937908cSSiva Chandra Reddy
114b937908cSSiva Chandra Reddyadd_header_library(
1152137894aSGuillaume Chatelet  sign
1162137894aSGuillaume Chatelet  HDRS
1172137894aSGuillaume Chatelet    sign.h
1182137894aSGuillaume Chatelet  DEPENDS
1192137894aSGuillaume Chatelet    libc.src.__support.macros.attributes
1202137894aSGuillaume Chatelet)
1212137894aSGuillaume Chatelet
1222137894aSGuillaume Chateletadd_header_library(
1239beb8d11SMichael Jones  error_or
1249beb8d11SMichael Jones  HDRS
1259beb8d11SMichael Jones    error_or.h
1269beb8d11SMichael Jones  DEPENDS
1279beb8d11SMichael Jones    libc.src.__support.CPP.expected
1289beb8d11SMichael Jones)
1299beb8d11SMichael Jones
1309beb8d11SMichael Jonesadd_header_library(
131d94fe972SMichael Jones  c_string
132d94fe972SMichael Jones  HDRS
133d94fe972SMichael Jones    c_string.h
134d94fe972SMichael Jones  DEPENDS
135d94fe972SMichael Jones    libc.src.__support.common
136d94fe972SMichael Jones    libc.src.__support.CPP.string
137d94fe972SMichael Jones)
138d94fe972SMichael Jones
139d94fe972SMichael Jonesadd_header_library(
140c120edc7SMichael Jones  ctype_utils
141c120edc7SMichael Jones  HDRS
142c120edc7SMichael Jones    ctype_utils.h
143c120edc7SMichael Jones)
144c120edc7SMichael Jones
145c120edc7SMichael Jonesadd_header_library(
14646b50872SMichael Jones  wctype_utils
14746b50872SMichael Jones  HDRS
14846b50872SMichael Jones    wctype_utils.h
14995d4c97aSlntue  DEPENDS
15095d4c97aSlntue    libc.hdr.types.wint_t
15146b50872SMichael Jones)
15246b50872SMichael Jones
15346b50872SMichael Jonesadd_header_library(
15474da5e6cSMichael Jones  str_to_num_result
15574da5e6cSMichael Jones  HDRS
15674da5e6cSMichael Jones    str_to_num_result.h
1579557fccaSGuillaume Chatelet  DEPENDS
1589557fccaSGuillaume Chatelet    libc.src.__support.macros.attributes
15974da5e6cSMichael Jones)
16074da5e6cSMichael Jones
16174da5e6cSMichael Jonesadd_header_library(
16231d797f4SMichael Jones  str_to_integer
163b062d639SMichael Jones  HDRS
16431d797f4SMichael Jones    str_to_integer.h
16531d797f4SMichael Jones  DEPENDS
16631d797f4SMichael Jones    .ctype_utils
16774da5e6cSMichael Jones    .str_to_num_result
168dd33f9cdSSiva Chandra Reddy    libc.src.errno.errno
169bf0ded80SMichael Jones    libc.src.__support.CPP.limits
1709884eb14SAlex Brachet    libc.src.__support.CPP.type_traits
17159c809cdSSiva Chandra Reddy    libc.src.__support.common
17231d797f4SMichael Jones)
17331d797f4SMichael Jones
17431d797f4SMichael Jonesadd_header_library(
1757c666c14SSiva Chandra Reddy  integer_to_string
1767c666c14SSiva Chandra Reddy  HDRS
1777c666c14SSiva Chandra Reddy    integer_to_string.h
1787c666c14SSiva Chandra Reddy  DEPENDS
17909efe848SGuillaume Chatelet    .big_int
180b555912eSGuillaume Chatelet    libc.src.__support.common
181bc2b1193SGuillaume Chatelet    libc.src.__support.CPP.algorithm
182b555912eSGuillaume Chatelet    libc.src.__support.CPP.limits
183a1c42cb8SGuillaume Chatelet    libc.src.__support.CPP.span
1847c666c14SSiva Chandra Reddy    libc.src.__support.CPP.string_view
1857c666c14SSiva Chandra Reddy    libc.src.__support.CPP.type_traits
1867c666c14SSiva Chandra Reddy)
1877c666c14SSiva Chandra Reddy
18807c0a41bSMichael Jonesadd_header_library(
18907c0a41bSMichael Jones  float_to_string
19007c0a41bSMichael Jones  HDRS
19107c0a41bSMichael Jones    float_to_string.h
19207c0a41bSMichael Jones    ryu_constants.h
193688b9730SMichael Jones    ryu_long_double_constants.h
19407c0a41bSMichael Jones  DEPENDS
19558a75c6aSSiva Chandra Reddy    .libc_assert
19607c0a41bSMichael Jones    libc.src.__support.CPP.type_traits
19707c0a41bSMichael Jones    libc.src.__support.FPUtil.fp_bits
19859c809cdSSiva Chandra Reddy    libc.src.__support.common
19907c0a41bSMichael Jones)
20007c0a41bSMichael Jones
2017c666c14SSiva Chandra Reddyadd_header_library(
202c8b614cdSSiva Chandra Reddy  high_precision_decimal
203c8b614cdSSiva Chandra Reddy  HDRS
204c8b614cdSSiva Chandra Reddy    high_precision_decimal.h
205c8b614cdSSiva Chandra Reddy  DEPENDS
206c8b614cdSSiva Chandra Reddy    .str_to_integer
207c8b614cdSSiva Chandra Reddy)
208c8b614cdSSiva Chandra Reddy
209c8b614cdSSiva Chandra Reddyadd_header_library(
21031d797f4SMichael Jones  str_to_float
21131d797f4SMichael Jones  HDRS
21287c01607SMichael Jones    str_to_float.h
21359c809cdSSiva Chandra Reddy    detailed_powers_of_ten.h
214b062d639SMichael Jones  DEPENDS
215b062d639SMichael Jones    .ctype_utils
2166f80339bSMichael Jones    .high_precision_decimal
2179d239b37SGuillaume Chatelet    .str_to_integer
218cb3c41c2SMichael Jones    .str_to_num_result
2199d239b37SGuillaume Chatelet    .uint128
220c4448793SGuillaume Chatelet    libc.src.__support.common
2211d894788SGuillaume Chatelet    libc.src.__support.CPP.bit
222bf0ded80SMichael Jones    libc.src.__support.CPP.limits
223c4448793SGuillaume Chatelet    libc.src.__support.CPP.optional
2249ac66f06SMichael Jones    libc.src.__support.FPUtil.fp_bits
225a9824312STue Ly    libc.src.__support.FPUtil.rounding_mode
2261896ee38Slntue    libc.src.__support.macros.config
2271896ee38Slntue    libc.src.__support.macros.null_check
2281896ee38Slntue    libc.src.__support.macros.optimization
2299d239b37SGuillaume Chatelet    libc.src.errno.errno
230b062d639SMichael Jones)
231b062d639SMichael Jones
232b062d639SMichael Jonesadd_header_library(
23303232350SGuillaume Chatelet  integer_literals
23403232350SGuillaume Chatelet  HDRS
23503232350SGuillaume Chatelet    integer_literals.h
23603232350SGuillaume Chatelet  DEPENDS
23703232350SGuillaume Chatelet    .uint128
23803232350SGuillaume Chatelet    libc.src.__support.CPP.limits
23903232350SGuillaume Chatelet)
24003232350SGuillaume Chatelet
24103232350SGuillaume Chateletadd_header_library(
242ffe04e03SShourya Goel  complex_type
243ffe04e03SShourya Goel  HDRS
244ffe04e03SShourya Goel    complex_type.h
245c98e79d8SShourya Goel  DEPENDS
246c98e79d8SShourya Goel    libc.src.__support.macros.properties.types
247c98e79d8SShourya Goel    libc.src.__support.macros.properties.complex_types
248ffe04e03SShourya Goel)
249ffe04e03SShourya Goel
250ffe04e03SShourya Goeladd_header_library(
251*7f37b34dSShourya Goel  complex_basic_ops
252*7f37b34dSShourya Goel  HDRS
253*7f37b34dSShourya Goel    complex_basic_ops.h
254*7f37b34dSShourya Goel  DEPENDS
255*7f37b34dSShourya Goel    .complex_type
256*7f37b34dSShourya Goel    libc.src.__support.CPP.bit
257*7f37b34dSShourya Goel    libc.src.__support.FPUtil.fp_bits
258*7f37b34dSShourya Goel)
259*7f37b34dSShourya Goel
260*7f37b34dSShourya Goeladd_header_library(
261b937908cSSiva Chandra Reddy  integer_operations
262b937908cSSiva Chandra Reddy  HDRS
263b937908cSSiva Chandra Reddy    integer_operations.h
264b937908cSSiva Chandra Reddy)
265b937908cSSiva Chandra Reddy
2665561ab34SMichael Jonesadd_header_library(
2675561ab34SMichael Jones  arg_list
2685561ab34SMichael Jones  HDRS
2695561ab34SMichael Jones    arg_list.h
270494734b0SSiva Chandra Reddy  DEPENDS
271494734b0SSiva Chandra Reddy    libc.src.__support.common
2725561ab34SMichael Jones)
2735561ab34SMichael Jones
274daa44a23SSiva Chandra Reddyadd_header_library(
275daa44a23SSiva Chandra Reddy  fixedvector
276daa44a23SSiva Chandra Reddy  HDRS
277daa44a23SSiva Chandra Reddy    fixedvector.h
278daa44a23SSiva Chandra Reddy  DEPENDS
27950839802SAlexey Samsonov    .libc_assert
280daa44a23SSiva Chandra Reddy    libc.src.__support.CPP.array
28150839802SAlexey Samsonov    libc.src.string.memory_utils.inline_memset
282daa44a23SSiva Chandra Reddy)
283daa44a23SSiva Chandra Reddy
2849d239b37SGuillaume Chateletadd_header_library(
285176c853dSMichael Jones  char_vector
286176c853dSMichael Jones  HDRS
287176c853dSMichael Jones    char_vector.h
288494734b0SSiva Chandra Reddy  DEPENDS
2899cfe3028SJob Henandez Lara    libc.hdr.func.free
2909cfe3028SJob Henandez Lara    libc.hdr.func.malloc
2919cfe3028SJob Henandez Lara    libc.hdr.func.realloc
292494734b0SSiva Chandra Reddy    libc.src.__support.common
293176c853dSMichael Jones)
294176c853dSMichael Jones
295176c853dSMichael Jonesadd_header_library(
296bc10a410STue Ly  number_pair
297bc10a410STue Ly  HDRS
298bc10a410STue Ly    number_pair.h
299bc10a410STue Ly  DEPENDS
300bc10a410STue Ly    libc.src.__support.CPP.type_traits
301bc10a410STue Ly)
302bc10a410STue Ly
303bc10a410STue Lyadd_header_library(
30409efe848SGuillaume Chatelet  big_int
3059d239b37SGuillaume Chatelet  HDRS
30609efe848SGuillaume Chatelet    big_int.h
3079d239b37SGuillaume Chatelet  DEPENDS
308c4448793SGuillaume Chatelet    .math_extras
309c4448793SGuillaume Chatelet    .number_pair
3109d239b37SGuillaume Chatelet    libc.src.__support.CPP.array
3111d894788SGuillaume Chatelet    libc.src.__support.CPP.bit
312bc10a410STue Ly    libc.src.__support.CPP.type_traits
3134663d784STue Ly    libc.src.__support.macros.optimization
31423c397c7SGuillaume Chatelet    libc.src.__support.macros.properties.types
3159d239b37SGuillaume Chatelet)
3169d239b37SGuillaume Chatelet
3179d239b37SGuillaume Chateletadd_header_library(
3189d239b37SGuillaume Chatelet  uint128
3199d239b37SGuillaume Chatelet  HDRS
32009efe848SGuillaume Chatelet    uint128.h
3219d239b37SGuillaume Chatelet  DEPENDS
32209efe848SGuillaume Chatelet    .big_int
32323c397c7SGuillaume Chatelet    libc.src.__support.macros.properties.types
3249d239b37SGuillaume Chatelet)
3259d239b37SGuillaume Chatelet
32658a75c6aSSiva Chandra Reddyadd_header_library(
32758a75c6aSSiva Chandra Reddy  libc_assert
32858a75c6aSSiva Chandra Reddy  HDRS
32958a75c6aSSiva Chandra Reddy    libc_assert.h
33058a75c6aSSiva Chandra Reddy  DEPENDS
33158a75c6aSSiva Chandra Reddy    .integer_to_string
33258a75c6aSSiva Chandra Reddy    libc.src.__support.OSUtil.osutil
33345c84d59Sgoldsteinn    libc.src.__support.macros.optimization
33458a75c6aSSiva Chandra Reddy)
33558a75c6aSSiva Chandra Reddy
33681e3e7e5SSchrodinger ZHU Yifanadd_header_library(
33781e3e7e5SSchrodinger ZHU Yifan  hash
33881e3e7e5SSchrodinger ZHU Yifan  HDRS
33981e3e7e5SSchrodinger ZHU Yifan    hash.h
34081e3e7e5SSchrodinger ZHU Yifan  DEPENDS
34181e3e7e5SSchrodinger ZHU Yifan    .uint128
3421d894788SGuillaume Chatelet    libc.src.__support.CPP.bit
3431d894788SGuillaume Chatelet    libc.src.__support.CPP.limits
34481e3e7e5SSchrodinger ZHU Yifan    libc.src.__support.macros.attributes
34581e3e7e5SSchrodinger ZHU Yifan)
34681e3e7e5SSchrodinger ZHU Yifan
34781e3e7e5SSchrodinger ZHU Yifanadd_header_library(
34881e3e7e5SSchrodinger ZHU Yifan  memory_size
34981e3e7e5SSchrodinger ZHU Yifan  HDRS
35081e3e7e5SSchrodinger ZHU Yifan    memory_size.h
35181e3e7e5SSchrodinger ZHU Yifan  DEPENDS
35281e3e7e5SSchrodinger ZHU Yifan    libc.src.__support.CPP.type_traits
35381e3e7e5SSchrodinger ZHU Yifan    libc.src.__support.CPP.limits
35481e3e7e5SSchrodinger ZHU Yifan    libc.src.__support.macros.optimization
35581e3e7e5SSchrodinger ZHU Yifan    libc.src.__support.macros.attributes
35681e3e7e5SSchrodinger ZHU Yifan    libc.src.__support.macros.config
35781e3e7e5SSchrodinger ZHU Yifan)
35881e3e7e5SSchrodinger ZHU Yifan
35978a12f94SSirui Muadd_header_library(
36078a12f94SSirui Mu  intrusive_list
36178a12f94SSirui Mu  HDRS
36278a12f94SSirui Mu    intrusive_list.h
36378a12f94SSirui Mu  DEPENDS
36478a12f94SSirui Mu    libc.src.__support.macros.attributes
36578a12f94SSirui Mu)
36678a12f94SSirui Mu
367f0e608deSSiva Chandra Reddyadd_subdirectory(FPUtil)
368f0e608deSSiva Chandra Reddyadd_subdirectory(OSUtil)
36907793f95SMichael Jonesadd_subdirectory(StringUtil)
370814dfb01SJoseph Huberadd_subdirectory(GPU)
3718e4f9b1fSJoseph Huberadd_subdirectory(RPC)
372f0e608deSSiva Chandra Reddy
373f0e608deSSiva Chandra Reddy# Thread support is used by other "File". So, we add the "threads"
374f0e608deSSiva Chandra Reddy# before "File".
375c236b41eSSiva Chandra Reddyadd_subdirectory(threads)
376c236b41eSSiva Chandra Reddy
3774ef02da0SSiva Chandra Reddyadd_subdirectory(File)
37881e3e7e5SSchrodinger ZHU Yifan
37981e3e7e5SSchrodinger ZHU Yifanadd_subdirectory(HashTable)
3800eedc85bSlntue
3810eedc85bSlntueadd_subdirectory(fixed_point)
382d8e73752SSchrodinger ZHU Yifan
383d8e73752SSchrodinger ZHU Yifanadd_subdirectory(time)
384