xref: /llvm-project/libc/src/__support/FPUtil/CMakeLists.txt (revision 127349fcba81646389e4b8202b35405a5fdbef47)
1add_header_library(
2  fenv_impl
3  HDRS
4    FEnvImpl.h
5  DEPENDS
6    libc.hdr.types.fenv_t
7    libc.hdr.fenv_macros
8    libc.hdr.math_macros
9    libc.src.__support.macros.attributes
10    libc.src.errno.errno
11)
12
13add_header_library(
14  rounding_mode
15  HDRS
16    rounding_mode.h
17  DEPENDS
18    libc.hdr.fenv_macros
19    libc.src.__support.macros.attributes
20    libc.src.__support.macros.properties.architectures
21    libc.src.__support.macros.sanitizer
22    libc.src.errno.errno
23)
24
25add_header_library(
26  fp_bits
27  HDRS
28    FPBits.h
29  DEPENDS
30    libc.src.__support.common
31    libc.src.__support.CPP.bit
32    libc.src.__support.CPP.type_traits
33    libc.src.__support.libc_assert
34    libc.src.__support.macros.attributes
35    libc.src.__support.macros.properties.types
36    libc.src.__support.math_extras
37    libc.src.__support.sign
38    libc.src.__support.uint128
39)
40
41add_header_library(
42  fpbits_str
43  HDRS
44    fpbits_str.h
45  DEPENDS
46    .fp_bits
47    libc.src.__support.CPP.bit
48    libc.src.__support.CPP.type_traits
49    libc.src.__support.macros.attributes
50    libc.src.__support.common
51    libc.src.__support.integer_to_string
52)
53
54add_header_library(
55  nearest_integer_operations
56  HDRS
57    NearestIntegerOperations.h
58  DEPENDS
59    .fp_bits
60    .fenv_impl
61    .rounding_mode
62    libc.hdr.math_macros
63    libc.src.__support.CPP.type_traits
64    libc.src.__support.common
65    libc.src.errno.errno
66)
67
68add_header_library(
69  normal_float
70  HDRS
71    NormalFloat.h
72  DEPENDS
73    .fp_bits
74    libc.src.__support.CPP.type_traits
75    libc.src.__support.common
76)
77
78add_header_library(
79  division_and_remainder_operations
80  HDRS
81    DivisionAndRemainderOperations.h
82  DEPENDS
83    .fp_bits
84    .manipulation_functions
85    .normal_float
86    libc.src.__support.CPP.type_traits
87    libc.src.__support.common
88)
89
90add_header_library(
91  except_value_utils
92  HDRS
93    except_value_utils.h
94  DEPENDS
95    .cast
96    .fp_bits
97    .fenv_impl
98    .rounding_mode
99    libc.src.__support.CPP.optional
100    libc.src.__support.macros.optimization
101    libc.src.__support.macros.properties.cpu_features
102    libc.src.__support.macros.properties.types
103)
104
105
106add_header_library(
107  sqrt
108  HDRS
109    sqrt.h
110  DEPENDS
111    libc.src.__support.common
112    libc.src.__support.FPUtil.generic.sqrt
113)
114
115add_header_library(
116  fma
117  HDRS
118    FMA.h
119  DEPENDS
120    libc.src.__support.common
121    libc.src.__support.CPP.type_traits
122    libc.src.__support.FPUtil.generic.fma
123  FLAGS
124    FMA_OPT
125)
126
127add_header_library(
128  multiply_add
129  HDRS
130    multiply_add.h
131  DEPENDS
132    libc.src.__support.common
133  FLAGS
134    FMA_OPT
135)
136
137add_header_library(
138  polyeval
139  HDRS
140    PolyEval.h
141  DEPENDS
142    .multiply_add
143    libc.src.__support.common
144)
145
146add_header_library(
147  nearest_integer
148  HDRS
149    nearest_integer.h
150  DEPENDS
151    libc.src.__support.common
152    libc.src.__support.macros.optimization
153  FLAGS
154    ROUND_OPT
155)
156
157add_header_library(
158  double_double
159  HDRS
160    double_double.h
161  DEPENDS
162    libc.src.__support.common
163    libc.src.__support.number_pair
164    .multiply_add
165)
166
167add_header_library(
168  triple_double
169  HDRS
170    triple_double.h
171)
172
173add_header_library(
174  dyadic_float
175  HDRS
176    dyadic_float.h
177  DEPENDS
178    .fenv_impl
179    .fp_bits
180    .multiply_add
181    .rounding_mode
182    libc.hdr.errno_macros
183    libc.hdr.fenv_macros
184    libc.src.__support.CPP.type_traits
185    libc.src.__support.big_int
186    libc.src.__support.macros.optimization
187    libc.src.__support.macros.properties.types
188)
189
190add_header_library(
191  basic_operations
192  HDRS
193    BasicOperations.h
194  DEPENDS
195    .dyadic_float
196    .fp_bits
197    .fenv_impl
198    libc.src.__support.CPP.type_traits
199    libc.src.__support.big_int
200    libc.src.__support.uint128
201    libc.src.__support.common
202    libc.src.__support.macros.optimization
203    libc.src.__support.macros.properties.architectures
204    libc.src.__support.macros.properties.types
205)
206
207add_header_library(
208  hypot
209  HDRS
210    Hypot.h
211  DEPENDS
212    .basic_operations
213    .fenv_impl
214    .fp_bits
215    .rounding_mode
216    libc.src.__support.common
217    libc.src.__support.CPP.bit
218    libc.src.__support.CPP.type_traits
219    libc.src.__support.uint128
220)
221
222add_header_library(
223  manipulation_functions
224  HDRS
225    ManipulationFunctions.h
226  DEPENDS
227    .cast
228    .dyadic_float
229    .fenv_impl
230    .fp_bits
231    .nearest_integer_operations
232    .normal_float
233    libc.hdr.math_macros
234    libc.src.errno.errno
235    libc.src.__support.common
236    libc.src.__support.CPP.bit
237    libc.src.__support.CPP.limits
238    libc.src.__support.CPP.type_traits
239    libc.src.__support.macros.optimization
240)
241
242add_header_library(
243  cast
244  HDRS
245    cast.h
246  DEPENDS
247    .dyadic_float
248    .fp_bits
249    libc.hdr.fenv_macros
250    libc.src.__support.CPP.algorithm
251    libc.src.__support.CPP.type_traits
252    libc.src.__support.macros.properties.types
253)
254
255add_subdirectory(generic)
256