7 _LIBCXXRTDIR= ${SRCTOP}/contrib/libcxxrt
8 HDRDIR= ${SRCTOP}/contrib/llvm-project/libcxx/include
9 SRCDIR= ${SRCTOP}/contrib/llvm-project/libcxx/src
10 CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
16 SHLIB_LDSCRIPT= libc++.ldscript
26 SRCS+= condition_variable.cpp
27 SRCS+= condition_variable_destructor.cpp
28 SRCS+= error_category.cpp
30 SRCS+= filesystem/directory_entry.cpp
31 SRCS+= filesystem/directory_iterator.cpp
32 SRCS+= filesystem/filesystem_clock.cpp
33 SRCS+= filesystem/filesystem_error.cpp
34 SRCS+= filesystem/int128_builtins.cpp
35 SRCS+= filesystem/operations.cpp
36 SRCS+= filesystem/path.cpp
41 SRCS+= ios.instantiations.cpp
43 SRCS+= legacy_pointer_safety.cpp
46 SRCS+= memory_resource.cpp
48 SRCS+= mutex_destructor.cpp
50 SRCS+= new_handler.cpp
51 SRCS+= new_helpers.cpp
56 SRCS+= random_shuffle.cpp
58 SRCS+= ryu/d2fixed.cpp
61 SRCS+= shared_mutex.cpp
65 SRCS+= system_error.cpp
71 SRCS+= verbose_abort.cpp
73 CXXRT_SRCS+= auxhelper.cc
74 CXXRT_SRCS+= dynamic_cast.cc
75 CXXRT_SRCS+= exception.cc
77 CXXRT_SRCS+= libelftc_dem_gnu3.c
78 CXXRT_SRCS+= memory.cc
79 CXXRT_SRCS+= stdexcept.cc
80 CXXRT_SRCS+= terminate.cc
81 CXXRT_SRCS+= typeinfo.cc
83 .for _S in ${CXXRT_SRCS}
84 CLEANFILES+= cxxrt_${_S}
85 STATICOBJS+= cxxrt_${_S:R}.o
86 cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA
87 ln -sf ${.ALLSRC} ${.TARGET}
91 CFLAGS+= -isystem ${SRCDIR}
92 CFLAGS+= -isystem ${.CURDIR}
93 CFLAGS+= -isystem ${HDRDIR}
94 CFLAGS+= -isystem ${_LIBCXXRTDIR}
97 CFLAGS+= -D_LIBCPP_BUILDING_LIBRARY
98 CFLAGS+= -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
99 CFLAGS+= -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES
101 CFLAGS+= -fdata-sections
102 CFLAGS+= -ffunction-sections
103 CFLAGS+= -fno-semantic-interposition
104 CFLAGS+= -fvisibility-inlines-hidden
105 CFLAGS+= -fvisibility=hidden
111 STDDIR= ${CXXINCLUDEDIR}
112 STD_HEADERS+= __assert
113 STD_HEADERS+= __availability
114 STD_HEADERS+= __bit_reference
115 STD_HEADERS+= __config
116 STD_HEADERS+= __hash_table
117 STD_HEADERS+= __locale
118 STD_HEADERS+= __mbstate_t.h
119 STD_HEADERS+= __node_handle
120 STD_HEADERS+= __split_buffer
121 STD_HEADERS+= __std_clang_module
122 STD_HEADERS+= __std_mbstate_t.h
123 STD_HEADERS+= __threading_support
125 STD_HEADERS+= __undef_macros
126 STD_HEADERS+= __verbose_abort
127 STD_HEADERS+= algorithm
131 STD_HEADERS+= barrier
134 STD_HEADERS+= cassert
135 STD_HEADERS+= ccomplex
140 STD_HEADERS+= charconv
142 STD_HEADERS+= cinttypes
143 STD_HEADERS+= ciso646
144 STD_HEADERS+= climits
145 STD_HEADERS+= clocale
147 STD_HEADERS+= codecvt
148 STD_HEADERS+= compare
149 STD_HEADERS+= complex
150 STD_HEADERS+= complex.h
151 STD_HEADERS+= concepts
152 STD_HEADERS+= condition_variable
153 STD_HEADERS+= coroutine
154 STD_HEADERS+= csetjmp
155 STD_HEADERS+= csignal
156 STD_HEADERS+= cstdarg
157 STD_HEADERS+= cstdbool
158 STD_HEADERS+= cstddef
159 STD_HEADERS+= cstdint
161 STD_HEADERS+= cstdlib
162 STD_HEADERS+= cstring
163 STD_HEADERS+= ctgmath
165 STD_HEADERS+= ctype.h
168 STD_HEADERS+= cwctype
170 STD_HEADERS+= errno.h
171 STD_HEADERS+= exception
172 STD_HEADERS+= execution
173 STD_HEADERS+= expected
175 STD_HEADERS+= filesystem
176 STD_HEADERS+= float.h
178 STD_HEADERS+= forward_list
179 STD_HEADERS+= fstream
180 STD_HEADERS+= functional
182 STD_HEADERS+= initializer_list
183 STD_HEADERS+= inttypes.h
184 STD_HEADERS+= iomanip
187 STD_HEADERS+= iostream
188 STD_HEADERS+= istream
189 STD_HEADERS+= iterator
191 STD_HEADERS+= libcxx.imp
195 STD_HEADERS+= locale.h
200 STD_HEADERS+= memory_resource
203 STD_HEADERS+= numbers
204 STD_HEADERS+= numeric
205 STD_HEADERS+= optional
206 STD_HEADERS+= ostream
213 STD_HEADERS+= scoped_allocator
214 STD_HEADERS+= semaphore
216 STD_HEADERS+= shared_mutex
217 STD_HEADERS+= source_location
219 STD_HEADERS+= sstream
221 STD_HEADERS+= stdatomic.h
222 STD_HEADERS+= stdbool.h
223 STD_HEADERS+= stddef.h
224 STD_HEADERS+= stdexcept
225 STD_HEADERS+= stdint.h
226 STD_HEADERS+= stdio.h
227 STD_HEADERS+= stdlib.h
228 STD_HEADERS+= stop_token
229 STD_HEADERS+= streambuf
231 STD_HEADERS+= string.h
232 STD_HEADERS+= string_view
233 STD_HEADERS+= strstream
234 STD_HEADERS+= syncstream
235 STD_HEADERS+= system_error
236 STD_HEADERS+= tgmath.h
239 STD_HEADERS+= type_traits
240 STD_HEADERS+= typeindex
241 STD_HEADERS+= typeinfo
242 STD_HEADERS+= uchar.h
243 STD_HEADERS+= unordered_map
244 STD_HEADERS+= unordered_set
245 STD_HEADERS+= utility
246 STD_HEADERS+= valarray
247 STD_HEADERS+= variant
249 STD_HEADERS+= version
250 STD_HEADERS+= wchar.h
251 STD_HEADERS+= wctype.h
252 .for hdr in ${STD_HEADERS}
253 STD+= ${HDRDIR}/${hdr}
256 # Special case for __assertion_handler, which as of libc++ 18.0.0 is generated
258 STD+= ${.CURDIR}/__assertion_handler
260 # Special case for __config_site, which as of libc++ 12.0.0 is generated by
261 # CMake, and as of 13.0.0 installed side-by-side with__config.
262 STD+= ${.CURDIR}/__config_site
264 # Special case for module.modulemap, which as of libc++ 15.0.0 is generated by
266 STD+= ${.CURDIR}/module.modulemap
268 RT_HEADERS+= cxxabi.h
269 .for hdr in ${RT_HEADERS}
270 STD+= ${_LIBCXXRTDIR}/${hdr}
274 ALGDIR= ${CXXINCLUDEDIR}/__algorithm
275 ALG_HEADERS+= adjacent_find.h
276 ALG_HEADERS+= all_of.h
277 ALG_HEADERS+= any_of.h
278 ALG_HEADERS+= binary_search.h
279 ALG_HEADERS+= clamp.h
281 ALG_HEADERS+= comp_ref_type.h
283 ALG_HEADERS+= copy_backward.h
284 ALG_HEADERS+= copy_if.h
285 ALG_HEADERS+= copy_move_common.h
286 ALG_HEADERS+= copy_n.h
287 ALG_HEADERS+= count.h
288 ALG_HEADERS+= count_if.h
289 ALG_HEADERS+= equal.h
290 ALG_HEADERS+= equal_range.h
292 ALG_HEADERS+= fill_n.h
294 ALG_HEADERS+= find_end.h
295 ALG_HEADERS+= find_first_of.h
296 ALG_HEADERS+= find_if.h
297 ALG_HEADERS+= find_if_not.h
298 ALG_HEADERS+= find_segment_if.h
300 ALG_HEADERS+= for_each.h
301 ALG_HEADERS+= for_each_n.h
302 ALG_HEADERS+= for_each_segment.h
303 ALG_HEADERS+= generate.h
304 ALG_HEADERS+= generate_n.h
305 ALG_HEADERS+= half_positive.h
306 ALG_HEADERS+= in_found_result.h
307 ALG_HEADERS+= in_fun_result.h
308 ALG_HEADERS+= in_in_out_result.h
309 ALG_HEADERS+= in_in_result.h
310 ALG_HEADERS+= in_out_out_result.h
311 ALG_HEADERS+= in_out_result.h
312 ALG_HEADERS+= includes.h
313 ALG_HEADERS+= inplace_merge.h
314 ALG_HEADERS+= is_heap.h
315 ALG_HEADERS+= is_heap_until.h
316 ALG_HEADERS+= is_partitioned.h
317 ALG_HEADERS+= is_permutation.h
318 ALG_HEADERS+= is_sorted.h
319 ALG_HEADERS+= is_sorted_until.h
320 ALG_HEADERS+= iter_swap.h
321 ALG_HEADERS+= iterator_operations.h
322 ALG_HEADERS+= lexicographical_compare.h
323 ALG_HEADERS+= lexicographical_compare_three_way.h
324 ALG_HEADERS+= lower_bound.h
325 ALG_HEADERS+= make_heap.h
326 ALG_HEADERS+= make_projected.h
328 ALG_HEADERS+= max_element.h
329 ALG_HEADERS+= merge.h
331 ALG_HEADERS+= min_element.h
332 ALG_HEADERS+= min_max_result.h
333 ALG_HEADERS+= minmax.h
334 ALG_HEADERS+= minmax_element.h
335 ALG_HEADERS+= mismatch.h
337 ALG_HEADERS+= move_backward.h
338 ALG_HEADERS+= next_permutation.h
339 ALG_HEADERS+= none_of.h
340 ALG_HEADERS+= nth_element.h
341 ALG_HEADERS+= partial_sort.h
342 ALG_HEADERS+= partial_sort_copy.h
343 ALG_HEADERS+= partition.h
344 ALG_HEADERS+= partition_copy.h
345 ALG_HEADERS+= partition_point.h
346 ALG_HEADERS+= pop_heap.h
347 ALG_HEADERS+= prev_permutation.h
348 ALG_HEADERS+= pstl_any_all_none_of.h
349 ALG_HEADERS+= pstl_backend.h
350 ALG_HEADERS+= pstl_copy.h
351 ALG_HEADERS+= pstl_count.h
352 ALG_HEADERS+= pstl_equal.h
353 ALG_HEADERS+= pstl_fill.h
354 ALG_HEADERS+= pstl_find.h
355 ALG_HEADERS+= pstl_for_each.h
356 ALG_HEADERS+= pstl_frontend_dispatch.h
357 ALG_HEADERS+= pstl_generate.h
358 ALG_HEADERS+= pstl_is_partitioned.h
359 ALG_HEADERS+= pstl_merge.h
360 ALG_HEADERS+= pstl_move.h
361 ALG_HEADERS+= pstl_replace.h
362 ALG_HEADERS+= pstl_rotate_copy.h
363 ALG_HEADERS+= pstl_sort.h
364 ALG_HEADERS+= pstl_stable_sort.h
365 ALG_HEADERS+= pstl_transform.h
366 ALG_HEADERS+= push_heap.h
367 ALG_HEADERS+= ranges_adjacent_find.h
368 ALG_HEADERS+= ranges_all_of.h
369 ALG_HEADERS+= ranges_any_of.h
370 ALG_HEADERS+= ranges_binary_search.h
371 ALG_HEADERS+= ranges_clamp.h
372 ALG_HEADERS+= ranges_contains.h
373 ALG_HEADERS+= ranges_copy.h
374 ALG_HEADERS+= ranges_copy_backward.h
375 ALG_HEADERS+= ranges_copy_if.h
376 ALG_HEADERS+= ranges_copy_n.h
377 ALG_HEADERS+= ranges_count.h
378 ALG_HEADERS+= ranges_count_if.h
379 ALG_HEADERS+= ranges_ends_with.h
380 ALG_HEADERS+= ranges_equal.h
381 ALG_HEADERS+= ranges_equal_range.h
382 ALG_HEADERS+= ranges_fill.h
383 ALG_HEADERS+= ranges_fill_n.h
384 ALG_HEADERS+= ranges_find.h
385 ALG_HEADERS+= ranges_find_end.h
386 ALG_HEADERS+= ranges_find_first_of.h
387 ALG_HEADERS+= ranges_find_if.h
388 ALG_HEADERS+= ranges_find_if_not.h
389 ALG_HEADERS+= ranges_for_each.h
390 ALG_HEADERS+= ranges_for_each_n.h
391 ALG_HEADERS+= ranges_generate.h
392 ALG_HEADERS+= ranges_generate_n.h
393 ALG_HEADERS+= ranges_includes.h
394 ALG_HEADERS+= ranges_inplace_merge.h
395 ALG_HEADERS+= ranges_is_heap.h
396 ALG_HEADERS+= ranges_is_heap_until.h
397 ALG_HEADERS+= ranges_is_partitioned.h
398 ALG_HEADERS+= ranges_is_permutation.h
399 ALG_HEADERS+= ranges_is_sorted.h
400 ALG_HEADERS+= ranges_is_sorted_until.h
401 ALG_HEADERS+= ranges_iterator_concept.h
402 ALG_HEADERS+= ranges_lexicographical_compare.h
403 ALG_HEADERS+= ranges_lower_bound.h
404 ALG_HEADERS+= ranges_make_heap.h
405 ALG_HEADERS+= ranges_max.h
406 ALG_HEADERS+= ranges_max_element.h
407 ALG_HEADERS+= ranges_merge.h
408 ALG_HEADERS+= ranges_min.h
409 ALG_HEADERS+= ranges_min_element.h
410 ALG_HEADERS+= ranges_minmax.h
411 ALG_HEADERS+= ranges_minmax_element.h
412 ALG_HEADERS+= ranges_mismatch.h
413 ALG_HEADERS+= ranges_move.h
414 ALG_HEADERS+= ranges_move_backward.h
415 ALG_HEADERS+= ranges_next_permutation.h
416 ALG_HEADERS+= ranges_none_of.h
417 ALG_HEADERS+= ranges_nth_element.h
418 ALG_HEADERS+= ranges_partial_sort.h
419 ALG_HEADERS+= ranges_partial_sort_copy.h
420 ALG_HEADERS+= ranges_partition.h
421 ALG_HEADERS+= ranges_partition_copy.h
422 ALG_HEADERS+= ranges_partition_point.h
423 ALG_HEADERS+= ranges_pop_heap.h
424 ALG_HEADERS+= ranges_prev_permutation.h
425 ALG_HEADERS+= ranges_push_heap.h
426 ALG_HEADERS+= ranges_remove.h
427 ALG_HEADERS+= ranges_remove_copy.h
428 ALG_HEADERS+= ranges_remove_copy_if.h
429 ALG_HEADERS+= ranges_remove_if.h
430 ALG_HEADERS+= ranges_replace.h
431 ALG_HEADERS+= ranges_replace_copy.h
432 ALG_HEADERS+= ranges_replace_copy_if.h
433 ALG_HEADERS+= ranges_replace_if.h
434 ALG_HEADERS+= ranges_reverse.h
435 ALG_HEADERS+= ranges_reverse_copy.h
436 ALG_HEADERS+= ranges_rotate.h
437 ALG_HEADERS+= ranges_rotate_copy.h
438 ALG_HEADERS+= ranges_sample.h
439 ALG_HEADERS+= ranges_search.h
440 ALG_HEADERS+= ranges_search_n.h
441 ALG_HEADERS+= ranges_set_difference.h
442 ALG_HEADERS+= ranges_set_intersection.h
443 ALG_HEADERS+= ranges_set_symmetric_difference.h
444 ALG_HEADERS+= ranges_set_union.h
445 ALG_HEADERS+= ranges_shuffle.h
446 ALG_HEADERS+= ranges_sort.h
447 ALG_HEADERS+= ranges_sort_heap.h
448 ALG_HEADERS+= ranges_stable_partition.h
449 ALG_HEADERS+= ranges_stable_sort.h
450 ALG_HEADERS+= ranges_starts_with.h
451 ALG_HEADERS+= ranges_swap_ranges.h
452 ALG_HEADERS+= ranges_transform.h
453 ALG_HEADERS+= ranges_unique.h
454 ALG_HEADERS+= ranges_unique_copy.h
455 ALG_HEADERS+= ranges_upper_bound.h
456 ALG_HEADERS+= remove.h
457 ALG_HEADERS+= remove_copy.h
458 ALG_HEADERS+= remove_copy_if.h
459 ALG_HEADERS+= remove_if.h
460 ALG_HEADERS+= replace.h
461 ALG_HEADERS+= replace_copy.h
462 ALG_HEADERS+= replace_copy_if.h
463 ALG_HEADERS+= replace_if.h
464 ALG_HEADERS+= reverse.h
465 ALG_HEADERS+= reverse_copy.h
466 ALG_HEADERS+= rotate.h
467 ALG_HEADERS+= rotate_copy.h
468 ALG_HEADERS+= sample.h
469 ALG_HEADERS+= search.h
470 ALG_HEADERS+= search_n.h
471 ALG_HEADERS+= set_difference.h
472 ALG_HEADERS+= set_intersection.h
473 ALG_HEADERS+= set_symmetric_difference.h
474 ALG_HEADERS+= set_union.h
475 ALG_HEADERS+= shift_left.h
476 ALG_HEADERS+= shift_right.h
477 ALG_HEADERS+= shuffle.h
478 ALG_HEADERS+= sift_down.h
480 ALG_HEADERS+= sort_heap.h
481 ALG_HEADERS+= stable_partition.h
482 ALG_HEADERS+= stable_sort.h
483 ALG_HEADERS+= swap_ranges.h
484 ALG_HEADERS+= three_way_comp_ref_type.h
485 ALG_HEADERS+= transform.h
486 ALG_HEADERS+= uniform_random_bit_generator_adaptor.h
487 ALG_HEADERS+= unique.h
488 ALG_HEADERS+= unique_copy.h
489 ALG_HEADERS+= unwrap_iter.h
490 ALG_HEADERS+= unwrap_range.h
491 ALG_HEADERS+= upper_bound.h
492 .for hdr in ${ALG_HEADERS}
493 ALG+= ${HDRDIR}/__algorithm/${hdr}
497 PSBDIR= ${CXXINCLUDEDIR}/__algorithm/pstl_backends
498 PSB_HEADERS+= cpu_backend.h
499 .for hdr in ${PSB_HEADERS}
500 PSB+= ${HDRDIR}/__algorithm/pstl_backends/${hdr}
504 PCBDIR= ${CXXINCLUDEDIR}/__algorithm/pstl_backends/cpu_backends
505 PCB_HEADERS+= any_of.h
506 PCB_HEADERS+= backend.h
508 PCB_HEADERS+= find_if.h
509 PCB_HEADERS+= for_each.h
510 PCB_HEADERS+= libdispatch.h
511 PCB_HEADERS+= merge.h
512 PCB_HEADERS+= serial.h
513 PCB_HEADERS+= stable_sort.h
514 PCB_HEADERS+= thread.h
515 PCB_HEADERS+= transform.h
516 PCB_HEADERS+= transform_reduce.h
517 .for hdr in ${PCB_HEADERS}
518 PCB+= ${HDRDIR}/__algorithm/pstl_backends/cpu_backends/${hdr}
522 ATMDIR= ${CXXINCLUDEDIR}/__atomic
523 ATM_HEADERS+= aliases.h
524 ATM_HEADERS+= atomic.h
525 ATM_HEADERS+= atomic_base.h
526 ATM_HEADERS+= atomic_flag.h
527 ATM_HEADERS+= atomic_init.h
528 ATM_HEADERS+= atomic_lock_free.h
529 ATM_HEADERS+= atomic_sync.h
530 ATM_HEADERS+= check_memory_order.h
531 ATM_HEADERS+= contention_t.h
532 ATM_HEADERS+= cxx_atomic_impl.h
533 ATM_HEADERS+= fence.h
534 ATM_HEADERS+= is_always_lock_free.h
535 ATM_HEADERS+= kill_dependency.h
536 ATM_HEADERS+= memory_order.h
537 .for hdr in ${ATM_HEADERS}
538 ATM+= ${HDRDIR}/__atomic/${hdr}
542 BITDIR= ${CXXINCLUDEDIR}/__bit
543 BIT_HEADERS+= bit_cast.h
544 BIT_HEADERS+= bit_ceil.h
545 BIT_HEADERS+= bit_floor.h
546 BIT_HEADERS+= bit_log2.h
547 BIT_HEADERS+= bit_width.h
549 BIT_HEADERS+= byteswap.h
550 BIT_HEADERS+= countl.h
551 BIT_HEADERS+= countr.h
552 BIT_HEADERS+= endian.h
553 BIT_HEADERS+= has_single_bit.h
554 BIT_HEADERS+= invert_if.h
555 BIT_HEADERS+= popcount.h
556 BIT_HEADERS+= rotate.h
557 .for hdr in ${BIT_HEADERS}
558 BIT+= ${HDRDIR}/__bit/${hdr}
562 CHCDIR= ${CXXINCLUDEDIR}/__charconv
563 CHC_HEADERS+= chars_format.h
564 CHC_HEADERS+= from_chars_integral.h
565 CHC_HEADERS+= from_chars_result.h
566 CHC_HEADERS+= tables.h
567 CHC_HEADERS+= to_chars.h
568 CHC_HEADERS+= to_chars_base_10.h
569 CHC_HEADERS+= to_chars_floating_point.h
570 CHC_HEADERS+= to_chars_integral.h
571 CHC_HEADERS+= to_chars_result.h
572 CHC_HEADERS+= traits.h
573 .for hdr in ${CHC_HEADERS}
574 CHC+= ${HDRDIR}/__charconv/${hdr}
578 CHRDIR= ${CXXINCLUDEDIR}/__chrono
579 CHR_HEADERS+= calendar.h
580 CHR_HEADERS+= concepts.h
581 CHR_HEADERS+= convert_to_timespec.h
582 CHR_HEADERS+= convert_to_tm.h
584 CHR_HEADERS+= duration.h
585 CHR_HEADERS+= file_clock.h
586 CHR_HEADERS+= formatter.h
587 CHR_HEADERS+= hh_mm_ss.h
588 CHR_HEADERS+= high_resolution_clock.h
589 CHR_HEADERS+= literals.h
590 CHR_HEADERS+= month.h
591 CHR_HEADERS+= month_weekday.h
592 CHR_HEADERS+= monthday.h
593 CHR_HEADERS+= ostream.h
594 CHR_HEADERS+= parser_std_format_spec.h
595 CHR_HEADERS+= statically_widen.h
596 CHR_HEADERS+= steady_clock.h
597 CHR_HEADERS+= system_clock.h
598 CHR_HEADERS+= time_point.h
600 CHR_HEADERS+= tzdb_list.h
601 CHR_HEADERS+= weekday.h
603 CHR_HEADERS+= year_month.h
604 CHR_HEADERS+= year_month_day.h
605 CHR_HEADERS+= year_month_weekday.h
606 .for hdr in ${CHR_HEADERS}
607 CHR+= ${HDRDIR}/__chrono/${hdr}
611 CMPDIR= ${CXXINCLUDEDIR}/__compare
612 CMP_HEADERS+= common_comparison_category.h
613 CMP_HEADERS+= compare_partial_order_fallback.h
614 CMP_HEADERS+= compare_strong_order_fallback.h
615 CMP_HEADERS+= compare_three_way.h
616 CMP_HEADERS+= compare_three_way_result.h
617 CMP_HEADERS+= compare_weak_order_fallback.h
618 CMP_HEADERS+= is_eq.h
619 CMP_HEADERS+= ordering.h
620 CMP_HEADERS+= partial_order.h
621 CMP_HEADERS+= strong_order.h
622 CMP_HEADERS+= synth_three_way.h
623 CMP_HEADERS+= three_way_comparable.h
624 CMP_HEADERS+= weak_order.h
625 .for hdr in ${CMP_HEADERS}
626 CMP+= ${HDRDIR}/__compare/${hdr}
630 CONDIR= ${CXXINCLUDEDIR}/__concepts
631 CON_HEADERS+= arithmetic.h
632 CON_HEADERS+= assignable.h
633 CON_HEADERS+= boolean_testable.h
634 CON_HEADERS+= class_or_enum.h
635 CON_HEADERS+= common_reference_with.h
636 CON_HEADERS+= common_with.h
637 CON_HEADERS+= constructible.h
638 CON_HEADERS+= convertible_to.h
639 CON_HEADERS+= copyable.h
640 CON_HEADERS+= derived_from.h
641 CON_HEADERS+= destructible.h
642 CON_HEADERS+= different_from.h
643 CON_HEADERS+= equality_comparable.h
644 CON_HEADERS+= invocable.h
645 CON_HEADERS+= movable.h
646 CON_HEADERS+= predicate.h
647 CON_HEADERS+= regular.h
648 CON_HEADERS+= relation.h
649 CON_HEADERS+= same_as.h
650 CON_HEADERS+= semiregular.h
651 CON_HEADERS+= swappable.h
652 CON_HEADERS+= totally_ordered.h
653 .for hdr in ${CON_HEADERS}
654 CON+= ${HDRDIR}/__concepts/${hdr}
658 CNDDIR= ${CXXINCLUDEDIR}/__condition_variable
659 CND_HEADERS+= condition_variable.h
660 .for hdr in ${CND_HEADERS}
661 CND+= ${HDRDIR}/__condition_variable/${hdr}
665 CORDIR= ${CXXINCLUDEDIR}/__coroutine
666 COR_HEADERS+= coroutine_handle.h
667 COR_HEADERS+= coroutine_traits.h
668 COR_HEADERS+= noop_coroutine_handle.h
669 COR_HEADERS+= trivial_awaitables.h
670 .for hdr in ${COR_HEADERS}
671 COR+= ${HDRDIR}/__coroutine/${hdr}
675 DBGDIR= ${CXXINCLUDEDIR}/__debug_utils
676 DBG_HEADERS+= randomize_range.h
677 DBG_HEADERS+= strict_weak_ordering_check.h
678 .for hdr in ${DBG_HEADERS}
679 DBG+= ${HDRDIR}/__debug_utils/${hdr}
683 EXCDIR= ${CXXINCLUDEDIR}/__exception
684 EXC_HEADERS+= exception.h
685 EXC_HEADERS+= exception_ptr.h
686 EXC_HEADERS+= nested_exception.h
687 EXC_HEADERS+= operations.h
688 EXC_HEADERS+= terminate.h
689 .for hdr in ${EXC_HEADERS}
690 EXC+= ${HDRDIR}/__exception/${hdr}
694 EXDDIR= ${CXXINCLUDEDIR}/__expected
695 EXD_HEADERS+= bad_expected_access.h
696 EXD_HEADERS+= expected.h
697 EXD_HEADERS+= unexpect.h
698 EXD_HEADERS+= unexpected.h
699 .for hdr in ${EXD_HEADERS}
700 EXD+= ${HDRDIR}/__expected/${hdr}
704 FSDIR= ${CXXINCLUDEDIR}/__filesystem
705 FS_HEADERS+= copy_options.h
706 FS_HEADERS+= directory_entry.h
707 FS_HEADERS+= directory_iterator.h
708 FS_HEADERS+= directory_options.h
709 FS_HEADERS+= file_status.h
710 FS_HEADERS+= file_time_type.h
711 FS_HEADERS+= file_type.h
712 FS_HEADERS+= filesystem_error.h
713 FS_HEADERS+= operations.h
715 FS_HEADERS+= path_iterator.h
716 FS_HEADERS+= perm_options.h
718 FS_HEADERS+= recursive_directory_iterator.h
719 FS_HEADERS+= space_info.h
720 FS_HEADERS+= u8path.h
721 .for hdr in ${FS_HEADERS}
722 FS+= ${HDRDIR}/__filesystem/${hdr}
726 FMTDIR= ${CXXINCLUDEDIR}/__format
727 FMT_HEADERS+= buffer.h
728 FMT_HEADERS+= concepts.h
729 FMT_HEADERS+= container_adaptor.h
730 FMT_HEADERS+= enable_insertable.h
731 FMT_HEADERS+= escaped_output_table.h
732 FMT_HEADERS+= extended_grapheme_cluster_table.h
733 FMT_HEADERS+= format_arg.h
734 FMT_HEADERS+= format_arg_store.h
735 FMT_HEADERS+= format_args.h
736 FMT_HEADERS+= format_context.h
737 FMT_HEADERS+= format_error.h
738 FMT_HEADERS+= format_functions.h
739 FMT_HEADERS+= format_fwd.h
740 FMT_HEADERS+= format_parse_context.h
741 FMT_HEADERS+= format_string.h
742 FMT_HEADERS+= format_to_n_result.h
743 FMT_HEADERS+= formatter.h
744 FMT_HEADERS+= formatter_bool.h
745 FMT_HEADERS+= formatter_char.h
746 FMT_HEADERS+= formatter_floating_point.h
747 FMT_HEADERS+= formatter_integer.h
748 FMT_HEADERS+= formatter_integral.h
749 FMT_HEADERS+= formatter_output.h
750 FMT_HEADERS+= formatter_pointer.h
751 FMT_HEADERS+= formatter_string.h
752 FMT_HEADERS+= formatter_tuple.h
753 FMT_HEADERS+= parser_std_format_spec.h
754 FMT_HEADERS+= range_default_formatter.h
755 FMT_HEADERS+= range_formatter.h
756 FMT_HEADERS+= unicode.h
757 FMT_HEADERS+= width_estimation_table.h
758 FMT_HEADERS+= write_escaped.h
759 .for hdr in ${FMT_HEADERS}
760 FMT+= ${HDRDIR}/__format/${hdr}
764 FUNDIR= ${CXXINCLUDEDIR}/__functional
765 FUN_HEADERS+= binary_function.h
766 FUN_HEADERS+= binary_negate.h
768 FUN_HEADERS+= bind_back.h
769 FUN_HEADERS+= bind_front.h
770 FUN_HEADERS+= binder1st.h
771 FUN_HEADERS+= binder2nd.h
772 FUN_HEADERS+= boyer_moore_searcher.h
773 FUN_HEADERS+= compose.h
774 FUN_HEADERS+= default_searcher.h
775 FUN_HEADERS+= function.h
777 FUN_HEADERS+= identity.h
778 FUN_HEADERS+= invoke.h
779 FUN_HEADERS+= is_transparent.h
780 FUN_HEADERS+= mem_fn.h
781 FUN_HEADERS+= mem_fun_ref.h
782 FUN_HEADERS+= not_fn.h
783 FUN_HEADERS+= operations.h
784 FUN_HEADERS+= perfect_forward.h
785 FUN_HEADERS+= pointer_to_binary_function.h
786 FUN_HEADERS+= pointer_to_unary_function.h
787 FUN_HEADERS+= ranges_operations.h
788 FUN_HEADERS+= reference_wrapper.h
789 FUN_HEADERS+= unary_function.h
790 FUN_HEADERS+= unary_negate.h
791 FUN_HEADERS+= weak_result_type.h
792 .for hdr in ${FUN_HEADERS}
793 FUN+= ${HDRDIR}/__functional/${hdr}
797 FWDDIR= ${CXXINCLUDEDIR}/__fwd
798 FWD_HEADERS+= array.h
799 FWD_HEADERS+= bit_reference.h
800 FWD_HEADERS+= fstream.h
804 FWD_HEADERS+= istream.h
805 FWD_HEADERS+= mdspan.h
806 FWD_HEADERS+= memory_resource.h
807 FWD_HEADERS+= ostream.h
810 FWD_HEADERS+= sstream.h
811 FWD_HEADERS+= streambuf.h
812 FWD_HEADERS+= string.h
813 FWD_HEADERS+= string_view.h
814 FWD_HEADERS+= subrange.h
815 FWD_HEADERS+= tuple.h
816 .for hdr in ${FWD_HEADERS}
817 FWD+= ${HDRDIR}/__fwd/${hdr}
821 IOSDIR= ${CXXINCLUDEDIR}/__ios
823 .for hdr in ${IOS_HEADERS}
824 IOS+= ${HDRDIR}/__ios/${hdr}
828 ITDIR= ${CXXINCLUDEDIR}/__iterator
829 IT_HEADERS+= access.h
830 IT_HEADERS+= advance.h
831 IT_HEADERS+= back_insert_iterator.h
832 IT_HEADERS+= bounded_iter.h
833 IT_HEADERS+= common_iterator.h
834 IT_HEADERS+= concepts.h
835 IT_HEADERS+= counted_iterator.h
836 IT_HEADERS+= cpp17_iterator_concepts.h
838 IT_HEADERS+= default_sentinel.h
839 IT_HEADERS+= distance.h
841 IT_HEADERS+= erase_if_container.h
842 IT_HEADERS+= front_insert_iterator.h
843 IT_HEADERS+= incrementable_traits.h
844 IT_HEADERS+= indirectly_comparable.h
845 IT_HEADERS+= insert_iterator.h
846 IT_HEADERS+= istream_iterator.h
847 IT_HEADERS+= istreambuf_iterator.h
848 IT_HEADERS+= iter_move.h
849 IT_HEADERS+= iter_swap.h
850 IT_HEADERS+= iterator.h
851 IT_HEADERS+= iterator_traits.h
852 IT_HEADERS+= iterator_with_data.h
853 IT_HEADERS+= mergeable.h
854 IT_HEADERS+= move_iterator.h
855 IT_HEADERS+= move_sentinel.h
857 IT_HEADERS+= ostream_iterator.h
858 IT_HEADERS+= ostreambuf_iterator.h
859 IT_HEADERS+= permutable.h
861 IT_HEADERS+= projected.h
862 IT_HEADERS+= ranges_iterator_traits.h
863 IT_HEADERS+= readable_traits.h
864 IT_HEADERS+= reverse_access.h
865 IT_HEADERS+= reverse_iterator.h
866 IT_HEADERS+= segmented_iterator.h
868 IT_HEADERS+= sortable.h
869 IT_HEADERS+= unreachable_sentinel.h
870 IT_HEADERS+= wrap_iter.h
871 .for hdr in ${IT_HEADERS}
872 IT+= ${HDRDIR}/__iterator/${hdr}
876 LBADIR= ${CXXINCLUDEDIR}/__locale_dir/locale_base_api
877 LBA_HEADERS+= bsd_locale_defaults.h
878 LBA_HEADERS+= bsd_locale_fallbacks.h
879 LBA_HEADERS+= locale_guard.h
880 .for hdr in ${LBA_HEADERS}
881 LBA+= ${HDRDIR}/__locale_dir/locale_base_api/${hdr}
885 MATDIR= ${CXXINCLUDEDIR}/__math
887 MAT_HEADERS+= copysign.h
888 MAT_HEADERS+= error_functions.h
889 MAT_HEADERS+= exponential_functions.h
892 MAT_HEADERS+= gamma.h
893 MAT_HEADERS+= hyperbolic_functions.h
894 MAT_HEADERS+= hypot.h
895 MAT_HEADERS+= inverse_hyperbolic_functions.h
896 MAT_HEADERS+= inverse_trigonometric_functions.h
897 MAT_HEADERS+= logarithms.h
898 MAT_HEADERS+= min_max.h
899 MAT_HEADERS+= modulo.h
900 MAT_HEADERS+= remainder.h
901 MAT_HEADERS+= roots.h
902 MAT_HEADERS+= rounding_functions.h
903 MAT_HEADERS+= traits.h
904 MAT_HEADERS+= trigonometric_functions.h
905 .for hdr in ${MAT_HEADERS}
906 MAT+= ${HDRDIR}/__math/${hdr}
910 MDSDIR= ${CXXINCLUDEDIR}/__mdspan
911 MDS_HEADERS+= default_accessor.h
912 MDS_HEADERS+= extents.h
913 MDS_HEADERS+= layout_left.h
914 MDS_HEADERS+= layout_right.h
915 MDS_HEADERS+= layout_stride.h
916 MDS_HEADERS+= mdspan.h
917 .for hdr in ${MDS_HEADERS}
918 MDS+= ${HDRDIR}/__mdspan/${hdr}
922 MEMDIR= ${CXXINCLUDEDIR}/__memory
923 MEM_HEADERS+= addressof.h
924 MEM_HEADERS+= align.h
925 MEM_HEADERS+= aligned_alloc.h
926 MEM_HEADERS+= allocate_at_least.h
927 MEM_HEADERS+= allocation_guard.h
928 MEM_HEADERS+= allocator.h
929 MEM_HEADERS+= allocator_arg_t.h
930 MEM_HEADERS+= allocator_destructor.h
931 MEM_HEADERS+= allocator_traits.h
932 MEM_HEADERS+= assume_aligned.h
933 MEM_HEADERS+= auto_ptr.h
934 MEM_HEADERS+= builtin_new_allocator.h
935 MEM_HEADERS+= compressed_pair.h
936 MEM_HEADERS+= concepts.h
937 MEM_HEADERS+= construct_at.h
938 MEM_HEADERS+= destruct_n.h
939 MEM_HEADERS+= pointer_traits.h
940 MEM_HEADERS+= ranges_construct_at.h
941 MEM_HEADERS+= ranges_uninitialized_algorithms.h
942 MEM_HEADERS+= raw_storage_iterator.h
943 MEM_HEADERS+= shared_ptr.h
944 MEM_HEADERS+= swap_allocator.h
945 MEM_HEADERS+= temp_value.h
946 MEM_HEADERS+= temporary_buffer.h
947 MEM_HEADERS+= uninitialized_algorithms.h
948 MEM_HEADERS+= unique_ptr.h
949 MEM_HEADERS+= uses_allocator.h
950 MEM_HEADERS+= uses_allocator_construction.h
951 MEM_HEADERS+= voidify.h
952 .for hdr in ${MEM_HEADERS}
953 MEM+= ${HDRDIR}/__memory/${hdr}
957 MERDIR= ${CXXINCLUDEDIR}/__memory_resource
958 MER_HEADERS+= memory_resource.h
959 MER_HEADERS+= monotonic_buffer_resource.h
960 MER_HEADERS+= polymorphic_allocator.h
961 MER_HEADERS+= pool_options.h
962 MER_HEADERS+= synchronized_pool_resource.h
963 MER_HEADERS+= unsynchronized_pool_resource.h
964 .for hdr in ${MER_HEADERS}
965 MER+= ${HDRDIR}/__memory_resource/${hdr}
969 MUTDIR= ${CXXINCLUDEDIR}/__mutex
970 MUT_HEADERS+= lock_guard.h
971 MUT_HEADERS+= mutex.h
972 MUT_HEADERS+= once_flag.h
973 MUT_HEADERS+= tag_types.h
974 MUT_HEADERS+= unique_lock.h
975 .for hdr in ${MUT_HEADERS}
976 MUT+= ${HDRDIR}/__mutex/${hdr}
980 NUMDIR= ${CXXINCLUDEDIR}/__numeric
981 NUM_HEADERS+= accumulate.h
982 NUM_HEADERS+= adjacent_difference.h
983 NUM_HEADERS+= exclusive_scan.h
984 NUM_HEADERS+= gcd_lcm.h
985 NUM_HEADERS+= inclusive_scan.h
986 NUM_HEADERS+= inner_product.h
988 NUM_HEADERS+= midpoint.h
989 NUM_HEADERS+= partial_sum.h
990 NUM_HEADERS+= pstl_reduce.h
991 NUM_HEADERS+= pstl_transform_reduce.h
992 NUM_HEADERS+= reduce.h
993 NUM_HEADERS+= saturation_arithmetic.h
994 NUM_HEADERS+= transform_exclusive_scan.h
995 NUM_HEADERS+= transform_inclusive_scan.h
996 NUM_HEADERS+= transform_reduce.h
997 .for hdr in ${NUM_HEADERS}
998 NUM+= ${HDRDIR}/__numeric/${hdr}
1002 RNDDIR= ${CXXINCLUDEDIR}/__random
1003 RND_HEADERS+= bernoulli_distribution.h
1004 RND_HEADERS+= binomial_distribution.h
1005 RND_HEADERS+= cauchy_distribution.h
1006 RND_HEADERS+= chi_squared_distribution.h
1007 RND_HEADERS+= clamp_to_integral.h
1008 RND_HEADERS+= default_random_engine.h
1009 RND_HEADERS+= discard_block_engine.h
1010 RND_HEADERS+= discrete_distribution.h
1011 RND_HEADERS+= exponential_distribution.h
1012 RND_HEADERS+= extreme_value_distribution.h
1013 RND_HEADERS+= fisher_f_distribution.h
1014 RND_HEADERS+= gamma_distribution.h
1015 RND_HEADERS+= generate_canonical.h
1016 RND_HEADERS+= geometric_distribution.h
1017 RND_HEADERS+= independent_bits_engine.h
1018 RND_HEADERS+= is_seed_sequence.h
1019 RND_HEADERS+= is_valid.h
1020 RND_HEADERS+= knuth_b.h
1021 RND_HEADERS+= linear_congruential_engine.h
1022 RND_HEADERS+= log2.h
1023 RND_HEADERS+= lognormal_distribution.h
1024 RND_HEADERS+= mersenne_twister_engine.h
1025 RND_HEADERS+= negative_binomial_distribution.h
1026 RND_HEADERS+= normal_distribution.h
1027 RND_HEADERS+= piecewise_constant_distribution.h
1028 RND_HEADERS+= piecewise_linear_distribution.h
1029 RND_HEADERS+= poisson_distribution.h
1030 RND_HEADERS+= random_device.h
1031 RND_HEADERS+= ranlux.h
1032 RND_HEADERS+= seed_seq.h
1033 RND_HEADERS+= shuffle_order_engine.h
1034 RND_HEADERS+= student_t_distribution.h
1035 RND_HEADERS+= subtract_with_carry_engine.h
1036 RND_HEADERS+= uniform_int_distribution.h
1037 RND_HEADERS+= uniform_random_bit_generator.h
1038 RND_HEADERS+= uniform_real_distribution.h
1039 RND_HEADERS+= weibull_distribution.h
1040 .for hdr in ${RND_HEADERS}
1041 RND+= ${HDRDIR}/__random/${hdr}
1045 RNGDIR= ${CXXINCLUDEDIR}/__ranges
1046 RNG_HEADERS+= access.h
1048 RNG_HEADERS+= as_rvalue_view.h
1049 RNG_HEADERS+= chunk_by_view.h
1050 RNG_HEADERS+= common_view.h
1051 RNG_HEADERS+= concepts.h
1052 RNG_HEADERS+= container_compatible_range.h
1053 RNG_HEADERS+= counted.h
1054 RNG_HEADERS+= dangling.h
1055 RNG_HEADERS+= data.h
1056 RNG_HEADERS+= drop_view.h
1057 RNG_HEADERS+= drop_while_view.h
1058 RNG_HEADERS+= elements_view.h
1059 RNG_HEADERS+= empty.h
1060 RNG_HEADERS+= empty_view.h
1061 RNG_HEADERS+= enable_borrowed_range.h
1062 RNG_HEADERS+= enable_view.h
1063 RNG_HEADERS+= filter_view.h
1064 RNG_HEADERS+= from_range.h
1065 RNG_HEADERS+= iota_view.h
1066 RNG_HEADERS+= istream_view.h
1067 RNG_HEADERS+= join_view.h
1068 RNG_HEADERS+= lazy_split_view.h
1069 RNG_HEADERS+= movable_box.h
1070 RNG_HEADERS+= non_propagating_cache.h
1071 RNG_HEADERS+= owning_view.h
1072 RNG_HEADERS+= range_adaptor.h
1073 RNG_HEADERS+= rbegin.h
1074 RNG_HEADERS+= ref_view.h
1075 RNG_HEADERS+= rend.h
1076 RNG_HEADERS+= repeat_view.h
1077 RNG_HEADERS+= reverse_view.h
1078 RNG_HEADERS+= single_view.h
1079 RNG_HEADERS+= size.h
1080 RNG_HEADERS+= split_view.h
1081 RNG_HEADERS+= subrange.h
1082 RNG_HEADERS+= take_view.h
1083 RNG_HEADERS+= take_while_view.h
1085 RNG_HEADERS+= transform_view.h
1086 RNG_HEADERS+= view_interface.h
1087 RNG_HEADERS+= views.h
1088 RNG_HEADERS+= zip_view.h
1089 .for hdr in ${RNG_HEADERS}
1090 RNG+= ${HDRDIR}/__ranges/${hdr}
1094 STTDIR= ${CXXINCLUDEDIR}/__stop_token
1095 STT_HEADERS+= atomic_unique_lock.h
1096 STT_HEADERS+= intrusive_list_view.h
1097 STT_HEADERS+= intrusive_shared_ptr.h
1098 STT_HEADERS+= stop_callback.h
1099 STT_HEADERS+= stop_source.h
1100 STT_HEADERS+= stop_state.h
1101 STT_HEADERS+= stop_token.h
1102 .for hdr in ${STT_HEADERS}
1103 STT+= ${HDRDIR}/__stop_token/${hdr}
1107 STRDIR= ${CXXINCLUDEDIR}/__string
1108 STR_HEADERS+= char_traits.h
1109 STR_HEADERS+= constexpr_c_functions.h
1110 STR_HEADERS+= extern_template_lists.h
1111 .for hdr in ${STR_HEADERS}
1112 STR+= ${HDRDIR}/__string/${hdr}
1116 SERDIR= ${CXXINCLUDEDIR}/__system_error
1117 SER_HEADERS+= errc.h
1118 SER_HEADERS+= error_category.h
1119 SER_HEADERS+= error_code.h
1120 SER_HEADERS+= error_condition.h
1121 SER_HEADERS+= system_error.h
1122 .for hdr in ${SER_HEADERS}
1123 SER+= ${HDRDIR}/__system_error/${hdr}
1127 THRDIR= ${CXXINCLUDEDIR}/__thread
1128 THR_HEADERS+= formatter.h
1130 THR_HEADERS+= jthread.h
1131 THR_HEADERS+= poll_with_backoff.h
1132 THR_HEADERS+= this_thread.h
1133 THR_HEADERS+= thread.h
1134 THR_HEADERS+= timed_backoff_policy.h
1135 .for hdr in ${THR_HEADERS}
1136 THR+= ${HDRDIR}/__thread/${hdr}
1140 TUPDIR= ${CXXINCLUDEDIR}/__tuple
1141 TUP_HEADERS+= make_tuple_types.h
1142 TUP_HEADERS+= pair_like.h
1143 TUP_HEADERS+= sfinae_helpers.h
1144 TUP_HEADERS+= tuple_element.h
1145 TUP_HEADERS+= tuple_indices.h
1146 TUP_HEADERS+= tuple_like.h
1147 TUP_HEADERS+= tuple_like_ext.h
1148 TUP_HEADERS+= tuple_size.h
1149 TUP_HEADERS+= tuple_types.h
1150 .for hdr in ${TUP_HEADERS}
1151 TUP+= ${HDRDIR}/__tuple/${hdr}
1155 TTRDIR= ${CXXINCLUDEDIR}/__type_traits
1156 TTR_HEADERS+= add_const.h
1157 TTR_HEADERS+= add_cv.h
1158 TTR_HEADERS+= add_lvalue_reference.h
1159 TTR_HEADERS+= add_pointer.h
1160 TTR_HEADERS+= add_rvalue_reference.h
1161 TTR_HEADERS+= add_volatile.h
1162 TTR_HEADERS+= aligned_storage.h
1163 TTR_HEADERS+= aligned_union.h
1164 TTR_HEADERS+= alignment_of.h
1165 TTR_HEADERS+= apply_cv.h
1166 TTR_HEADERS+= can_extract_key.h
1167 TTR_HEADERS+= common_reference.h
1168 TTR_HEADERS+= common_type.h
1169 TTR_HEADERS+= conditional.h
1170 TTR_HEADERS+= conjunction.h
1171 TTR_HEADERS+= copy_cv.h
1172 TTR_HEADERS+= copy_cvref.h
1173 TTR_HEADERS+= datasizeof.h
1174 TTR_HEADERS+= decay.h
1175 TTR_HEADERS+= dependent_type.h
1176 TTR_HEADERS+= disjunction.h
1177 TTR_HEADERS+= enable_if.h
1178 TTR_HEADERS+= extent.h
1179 TTR_HEADERS+= has_unique_object_representation.h
1180 TTR_HEADERS+= has_virtual_destructor.h
1181 TTR_HEADERS+= integral_constant.h
1182 TTR_HEADERS+= invoke.h
1183 TTR_HEADERS+= is_abstract.h
1184 TTR_HEADERS+= is_aggregate.h
1185 TTR_HEADERS+= is_allocator.h
1186 TTR_HEADERS+= is_always_bitcastable.h
1187 TTR_HEADERS+= is_arithmetic.h
1188 TTR_HEADERS+= is_array.h
1189 TTR_HEADERS+= is_assignable.h
1190 TTR_HEADERS+= is_base_of.h
1191 TTR_HEADERS+= is_bounded_array.h
1192 TTR_HEADERS+= is_callable.h
1193 TTR_HEADERS+= is_char_like_type.h
1194 TTR_HEADERS+= is_class.h
1195 TTR_HEADERS+= is_compound.h
1196 TTR_HEADERS+= is_const.h
1197 TTR_HEADERS+= is_constant_evaluated.h
1198 TTR_HEADERS+= is_constructible.h
1199 TTR_HEADERS+= is_convertible.h
1200 TTR_HEADERS+= is_copy_assignable.h
1201 TTR_HEADERS+= is_copy_constructible.h
1202 TTR_HEADERS+= is_core_convertible.h
1203 TTR_HEADERS+= is_default_constructible.h
1204 TTR_HEADERS+= is_destructible.h
1205 TTR_HEADERS+= is_empty.h
1206 TTR_HEADERS+= is_enum.h
1207 TTR_HEADERS+= is_equality_comparable.h
1208 TTR_HEADERS+= is_execution_policy.h
1209 TTR_HEADERS+= is_final.h
1210 TTR_HEADERS+= is_floating_point.h
1211 TTR_HEADERS+= is_function.h
1212 TTR_HEADERS+= is_fundamental.h
1213 TTR_HEADERS+= is_implicitly_default_constructible.h
1214 TTR_HEADERS+= is_integral.h
1215 TTR_HEADERS+= is_literal_type.h
1216 TTR_HEADERS+= is_member_function_pointer.h
1217 TTR_HEADERS+= is_member_object_pointer.h
1218 TTR_HEADERS+= is_member_pointer.h
1219 TTR_HEADERS+= is_move_assignable.h
1220 TTR_HEADERS+= is_move_constructible.h
1221 TTR_HEADERS+= is_nothrow_assignable.h
1222 TTR_HEADERS+= is_nothrow_constructible.h
1223 TTR_HEADERS+= is_nothrow_convertible.h
1224 TTR_HEADERS+= is_nothrow_copy_assignable.h
1225 TTR_HEADERS+= is_nothrow_copy_constructible.h
1226 TTR_HEADERS+= is_nothrow_default_constructible.h
1227 TTR_HEADERS+= is_nothrow_destructible.h
1228 TTR_HEADERS+= is_nothrow_move_assignable.h
1229 TTR_HEADERS+= is_nothrow_move_constructible.h
1230 TTR_HEADERS+= is_null_pointer.h
1231 TTR_HEADERS+= is_object.h
1232 TTR_HEADERS+= is_pod.h
1233 TTR_HEADERS+= is_pointer.h
1234 TTR_HEADERS+= is_polymorphic.h
1235 TTR_HEADERS+= is_primary_template.h
1236 TTR_HEADERS+= is_reference.h
1237 TTR_HEADERS+= is_reference_wrapper.h
1238 TTR_HEADERS+= is_referenceable.h
1239 TTR_HEADERS+= is_same.h
1240 TTR_HEADERS+= is_scalar.h
1241 TTR_HEADERS+= is_scoped_enum.h
1242 TTR_HEADERS+= is_signed.h
1243 TTR_HEADERS+= is_signed_integer.h
1244 TTR_HEADERS+= is_specialization.h
1245 TTR_HEADERS+= is_standard_layout.h
1246 TTR_HEADERS+= is_swappable.h
1247 TTR_HEADERS+= is_trivial.h
1248 TTR_HEADERS+= is_trivially_assignable.h
1249 TTR_HEADERS+= is_trivially_constructible.h
1250 TTR_HEADERS+= is_trivially_copy_assignable.h
1251 TTR_HEADERS+= is_trivially_copy_constructible.h
1252 TTR_HEADERS+= is_trivially_copyable.h
1253 TTR_HEADERS+= is_trivially_default_constructible.h
1254 TTR_HEADERS+= is_trivially_destructible.h
1255 TTR_HEADERS+= is_trivially_lexicographically_comparable.h
1256 TTR_HEADERS+= is_trivially_move_assignable.h
1257 TTR_HEADERS+= is_trivially_move_constructible.h
1258 TTR_HEADERS+= is_unbounded_array.h
1259 TTR_HEADERS+= is_union.h
1260 TTR_HEADERS+= is_unsigned.h
1261 TTR_HEADERS+= is_unsigned_integer.h
1262 TTR_HEADERS+= is_valid_expansion.h
1263 TTR_HEADERS+= is_void.h
1264 TTR_HEADERS+= is_volatile.h
1265 TTR_HEADERS+= lazy.h
1266 TTR_HEADERS+= make_32_64_or_128_bit.h
1267 TTR_HEADERS+= make_const_lvalue_ref.h
1268 TTR_HEADERS+= make_signed.h
1269 TTR_HEADERS+= make_unsigned.h
1270 TTR_HEADERS+= maybe_const.h
1272 TTR_HEADERS+= negation.h
1273 TTR_HEADERS+= noexcept_move_assign_container.h
1274 TTR_HEADERS+= operation_traits.h
1275 TTR_HEADERS+= promote.h
1276 TTR_HEADERS+= rank.h
1277 TTR_HEADERS+= remove_all_extents.h
1278 TTR_HEADERS+= remove_const.h
1279 TTR_HEADERS+= remove_const_ref.h
1280 TTR_HEADERS+= remove_cv.h
1281 TTR_HEADERS+= remove_cvref.h
1282 TTR_HEADERS+= remove_extent.h
1283 TTR_HEADERS+= remove_pointer.h
1284 TTR_HEADERS+= remove_reference.h
1285 TTR_HEADERS+= remove_volatile.h
1286 TTR_HEADERS+= result_of.h
1287 TTR_HEADERS+= strip_signature.h
1288 TTR_HEADERS+= type_identity.h
1289 TTR_HEADERS+= type_list.h
1290 TTR_HEADERS+= underlying_type.h
1291 TTR_HEADERS+= unwrap_ref.h
1292 TTR_HEADERS+= void_t.h
1293 .for hdr in ${TTR_HEADERS}
1294 TTR+= ${HDRDIR}/__type_traits/${hdr}
1298 UTLDIR= ${CXXINCLUDEDIR}/__utility
1299 UTL_HEADERS+= as_const.h
1300 UTL_HEADERS+= as_lvalue.h
1301 UTL_HEADERS+= auto_cast.h
1303 UTL_HEADERS+= convert_to_integral.h
1304 UTL_HEADERS+= declval.h
1305 UTL_HEADERS+= empty.h
1306 UTL_HEADERS+= exception_guard.h
1307 UTL_HEADERS+= exchange.h
1308 UTL_HEADERS+= forward.h
1309 UTL_HEADERS+= forward_like.h
1310 UTL_HEADERS+= in_place.h
1311 UTL_HEADERS+= integer_sequence.h
1312 UTL_HEADERS+= is_pointer_in_range.h
1313 UTL_HEADERS+= move.h
1314 UTL_HEADERS+= no_destroy.h
1315 UTL_HEADERS+= pair.h
1316 UTL_HEADERS+= piecewise_construct.h
1317 UTL_HEADERS+= priority_tag.h
1318 UTL_HEADERS+= rel_ops.h
1319 UTL_HEADERS+= small_buffer.h
1320 UTL_HEADERS+= swap.h
1321 UTL_HEADERS+= to_underlying.h
1322 UTL_HEADERS+= unreachable.h
1323 .for hdr in ${UTL_HEADERS}
1324 UTL+= ${HDRDIR}/__utility/${hdr}
1328 VARDIR= ${CXXINCLUDEDIR}/__variant
1329 VAR_HEADERS+= monostate.h
1330 .for hdr in ${VAR_HEADERS}
1331 VAR+= ${HDRDIR}/__variant/${hdr}
1335 EXPDIR= ${CXXINCLUDEDIR}/experimental
1336 EXP_HEADERS+= __config
1337 EXP_HEADERS+= __memory
1338 EXP_HEADERS+= iterator
1339 EXP_HEADERS+= memory
1340 EXP_HEADERS+= propagate_const
1342 EXP_HEADERS+= type_traits
1343 EXP_HEADERS+= utility
1344 .for hdr in ${EXP_HEADERS}
1345 EXP+= ${HDRDIR}/experimental/${hdr}
1349 EXSDIR= ${CXXINCLUDEDIR}/experimental/__simd
1350 EXS_HEADERS+= aligned_tag.h
1351 EXS_HEADERS+= declaration.h
1352 EXS_HEADERS+= reference.h
1353 EXS_HEADERS+= scalar.h
1354 EXS_HEADERS+= simd.h
1355 EXS_HEADERS+= simd_mask.h
1356 EXS_HEADERS+= traits.h
1357 EXS_HEADERS+= utility.h
1358 EXS_HEADERS+= vec_ext.h
1359 .for hdr in ${EXS_HEADERS}
1360 EXS+= ${HDRDIR}/experimental/__simd/${hdr}
1364 EXTDIR= ${CXXINCLUDEDIR}/ext
1365 EXT_HEADERS+= __hash
1366 EXT_HEADERS+= hash_map
1367 EXT_HEADERS+= hash_set
1368 .for hdr in ${EXT_HEADERS}
1369 EXT+= ${HDRDIR}/ext/${hdr}
1372 .include <bsd.lib.mk>