aboutsummaryrefslogtreecommitdiff
path: root/lib/libc++/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc++/Makefile')
-rw-r--r--lib/libc++/Makefile756
1 files changed, 710 insertions, 46 deletions
diff --git a/lib/libc++/Makefile b/lib/libc++/Makefile
index e5bf55e37804..9c12f419f6f1 100644
--- a/lib/libc++/Makefile
+++ b/lib/libc++/Makefile
@@ -1,5 +1,3 @@
-# $FreeBSD$
-
SHLIBDIR?= /lib
.include <src.opts.mk>
@@ -21,16 +19,22 @@ SRCS+= any.cpp
SRCS+= atomic.cpp
SRCS+= barrier.cpp
SRCS+= bind.cpp
+SRCS+= call_once.cpp
SRCS+= charconv.cpp
SRCS+= chrono.cpp
SRCS+= condition_variable.cpp
SRCS+= condition_variable_destructor.cpp
-SRCS+= debug.cpp
+SRCS+= error_category.cpp
SRCS+= exception.cpp
+SRCS+= expected.cpp
+SRCS+= filesystem/directory_entry.cpp
SRCS+= filesystem/directory_iterator.cpp
+SRCS+= filesystem/filesystem_clock.cpp
+SRCS+= filesystem/filesystem_error.cpp
SRCS+= filesystem/int128_builtins.cpp
SRCS+= filesystem/operations.cpp
-SRCS+= format.cpp
+SRCS+= filesystem/path.cpp
+SRCS+= fstream.cpp
SRCS+= functional.cpp
SRCS+= future.cpp
SRCS+= hash.cpp
@@ -40,10 +44,15 @@ SRCS+= iostream.cpp
SRCS+= legacy_pointer_safety.cpp
SRCS+= locale.cpp
SRCS+= memory.cpp
+SRCS+= memory_resource.cpp
SRCS+= mutex.cpp
SRCS+= mutex_destructor.cpp
SRCS+= new.cpp
+SRCS+= new_handler.cpp
+SRCS+= new_helpers.cpp
SRCS+= optional.cpp
+SRCS+= ostream.cpp
+SRCS+= print.cpp
SRCS+= random.cpp
SRCS+= random_shuffle.cpp
SRCS+= regex.cpp
@@ -57,10 +66,10 @@ SRCS+= strstream.cpp
SRCS+= system_error.cpp
SRCS+= thread.cpp
SRCS+= typeinfo.cpp
-SRCS+= utility.cpp
SRCS+= valarray.cpp
SRCS+= variant.cpp
SRCS+= vector.cpp
+SRCS+= verbose_abort.cpp
CXXRT_SRCS+= auxhelper.cc
CXXRT_SRCS+= dynamic_cast.cc
@@ -80,45 +89,48 @@ cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA
.endfor
WARNS?= 0
+CFLAGS+= -isystem ${SRCDIR}
CFLAGS+= -isystem ${.CURDIR}
CFLAGS+= -isystem ${HDRDIR}
-CFLAGS+= -isystem ${SRCDIR}
CFLAGS+= -isystem ${_LIBCXXRTDIR}
CFLAGS+= -nostdinc++
CFLAGS+= -nostdlib
CFLAGS+= -D_LIBCPP_BUILDING_LIBRARY
+CFLAGS+= -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+CFLAGS+= -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES
CFLAGS+= -DLIBCXXRT
-CFLAGS+= -ffunction-sections
CFLAGS+= -fdata-sections
+CFLAGS+= -ffunction-sections
+CFLAGS+= -fno-semantic-interposition
+CFLAGS+= -fvisibility-inlines-hidden
+CFLAGS+= -fvisibility=hidden
+
+.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} < 130000
+# NOTE: gcc 12 cannot correctly compile all libc++'s C++23 code. To temporarily
+# support gcc 12, compile libc++ in C++20 mode, but this will leave out any
+# C++23 features.
CXXSTD?= c++20
+.else
+CXXSTD?= c++23
+.endif
LIBADD+= cxxrt
INCSGROUPS+= STD
STDDIR= ${CXXINCLUDEDIR}
-STD_HEADERS+= __availability
+STD_HEADERS+= __assert
STD_HEADERS+= __bit_reference
-STD_HEADERS+= __bits
-STD_HEADERS+= __bsd_locale_defaults.h
-STD_HEADERS+= __bsd_locale_fallbacks.h
STD_HEADERS+= __config
-STD_HEADERS+= __debug
-STD_HEADERS+= __errc
-STD_HEADERS+= __functional_base
STD_HEADERS+= __hash_table
-STD_HEADERS+= __libcpp_version
STD_HEADERS+= __locale
STD_HEADERS+= __mbstate_t.h
-STD_HEADERS+= __mutex_base
STD_HEADERS+= __node_handle
-STD_HEADERS+= __nullptr
STD_HEADERS+= __split_buffer
-STD_HEADERS+= __std_stream
-STD_HEADERS+= __string
-STD_HEADERS+= __threading_support
+STD_HEADERS+= __std_clang_module
+STD_HEADERS+= __std_mbstate_t.h
STD_HEADERS+= __tree
-STD_HEADERS+= __tuple
STD_HEADERS+= __undef_macros
+STD_HEADERS+= __verbose_abort
STD_HEADERS+= algorithm
STD_HEADERS+= any
STD_HEADERS+= array
@@ -158,12 +170,14 @@ STD_HEADERS+= cstring
STD_HEADERS+= ctgmath
STD_HEADERS+= ctime
STD_HEADERS+= ctype.h
+STD_HEADERS+= cuchar
STD_HEADERS+= cwchar
STD_HEADERS+= cwctype
STD_HEADERS+= deque
STD_HEADERS+= errno.h
STD_HEADERS+= exception
STD_HEADERS+= execution
+STD_HEADERS+= expected
STD_HEADERS+= fenv.h
STD_HEADERS+= filesystem
STD_HEADERS+= float.h
@@ -182,13 +196,14 @@ STD_HEADERS+= istream
STD_HEADERS+= iterator
STD_HEADERS+= latch
STD_HEADERS+= limits
-STD_HEADERS+= limits.h
STD_HEADERS+= list
STD_HEADERS+= locale
STD_HEADERS+= locale.h
STD_HEADERS+= map
STD_HEADERS+= math.h
+STD_HEADERS+= mdspan
STD_HEADERS+= memory
+STD_HEADERS+= memory_resource
STD_HEADERS+= module.modulemap
STD_HEADERS+= mutex
STD_HEADERS+= new
@@ -196,6 +211,7 @@ STD_HEADERS+= numbers
STD_HEADERS+= numeric
STD_HEADERS+= optional
STD_HEADERS+= ostream
+STD_HEADERS+= print
STD_HEADERS+= queue
STD_HEADERS+= random
STD_HEADERS+= ranges
@@ -204,22 +220,25 @@ STD_HEADERS+= regex
STD_HEADERS+= scoped_allocator
STD_HEADERS+= semaphore
STD_HEADERS+= set
-STD_HEADERS+= setjmp.h
STD_HEADERS+= shared_mutex
+STD_HEADERS+= source_location
STD_HEADERS+= span
STD_HEADERS+= sstream
STD_HEADERS+= stack
+STD_HEADERS+= stdatomic.h
STD_HEADERS+= stdbool.h
STD_HEADERS+= stddef.h
STD_HEADERS+= stdexcept
STD_HEADERS+= stdint.h
STD_HEADERS+= stdio.h
STD_HEADERS+= stdlib.h
+STD_HEADERS+= stop_token
STD_HEADERS+= streambuf
STD_HEADERS+= string
STD_HEADERS+= string.h
STD_HEADERS+= string_view
STD_HEADERS+= strstream
+STD_HEADERS+= syncstream
STD_HEADERS+= system_error
STD_HEADERS+= tgmath.h
STD_HEADERS+= thread
@@ -227,6 +246,7 @@ STD_HEADERS+= tuple
STD_HEADERS+= type_traits
STD_HEADERS+= typeindex
STD_HEADERS+= typeinfo
+STD_HEADERS+= uchar.h
STD_HEADERS+= unordered_map
STD_HEADERS+= unordered_set
STD_HEADERS+= utility
@@ -240,10 +260,15 @@ STD_HEADERS+= wctype.h
STD+= ${HDRDIR}/${hdr}
.endfor
-# Special case for __config_site, which as of libc++ 12.0.0 is generated by
-# CMake, and as of 13.0.0 installed side-by-side with__config.
+# Generated by CMake as of libc++ 18.
+STD+= ${.CURDIR}/__assertion_handler
+
+# Generated by CMake as of libc++ 13.
STD+= ${.CURDIR}/__config_site
+# Generated by CMake as of libc++ 19.
+STD_HEADERS+= ${.CURDIR}/libcxx.imp
+
RT_HEADERS+= cxxabi.h
.for hdr in ${RT_HEADERS}
STD+= ${_LIBCXXRTDIR}/${hdr}
@@ -261,6 +286,7 @@ ALG_HEADERS+= comp_ref_type.h
ALG_HEADERS+= copy.h
ALG_HEADERS+= copy_backward.h
ALG_HEADERS+= copy_if.h
+ALG_HEADERS+= copy_move_common.h
ALG_HEADERS+= copy_n.h
ALG_HEADERS+= count.h
ALG_HEADERS+= count_if.h
@@ -273,13 +299,19 @@ ALG_HEADERS+= find_end.h
ALG_HEADERS+= find_first_of.h
ALG_HEADERS+= find_if.h
ALG_HEADERS+= find_if_not.h
+ALG_HEADERS+= find_segment_if.h
+ALG_HEADERS+= fold.h
ALG_HEADERS+= for_each.h
ALG_HEADERS+= for_each_n.h
+ALG_HEADERS+= for_each_segment.h
ALG_HEADERS+= generate.h
ALG_HEADERS+= generate_n.h
ALG_HEADERS+= half_positive.h
+ALG_HEADERS+= in_found_result.h
+ALG_HEADERS+= in_fun_result.h
ALG_HEADERS+= in_in_out_result.h
ALG_HEADERS+= in_in_result.h
+ALG_HEADERS+= in_out_out_result.h
ALG_HEADERS+= in_out_result.h
ALG_HEADERS+= includes.h
ALG_HEADERS+= inplace_merge.h
@@ -290,14 +322,18 @@ ALG_HEADERS+= is_permutation.h
ALG_HEADERS+= is_sorted.h
ALG_HEADERS+= is_sorted_until.h
ALG_HEADERS+= iter_swap.h
+ALG_HEADERS+= iterator_operations.h
ALG_HEADERS+= lexicographical_compare.h
+ALG_HEADERS+= lexicographical_compare_three_way.h
ALG_HEADERS+= lower_bound.h
ALG_HEADERS+= make_heap.h
+ALG_HEADERS+= make_projected.h
ALG_HEADERS+= max.h
ALG_HEADERS+= max_element.h
ALG_HEADERS+= merge.h
ALG_HEADERS+= min.h
ALG_HEADERS+= min_element.h
+ALG_HEADERS+= min_max_result.h
ALG_HEADERS+= minmax.h
ALG_HEADERS+= minmax_element.h
ALG_HEADERS+= mismatch.h
@@ -313,7 +349,99 @@ ALG_HEADERS+= partition_copy.h
ALG_HEADERS+= partition_point.h
ALG_HEADERS+= pop_heap.h
ALG_HEADERS+= prev_permutation.h
+ALG_HEADERS+= pstl.h
ALG_HEADERS+= push_heap.h
+ALG_HEADERS+= ranges_adjacent_find.h
+ALG_HEADERS+= ranges_all_of.h
+ALG_HEADERS+= ranges_any_of.h
+ALG_HEADERS+= ranges_binary_search.h
+ALG_HEADERS+= ranges_clamp.h
+ALG_HEADERS+= ranges_contains.h
+ALG_HEADERS+= ranges_contains_subrange.h
+ALG_HEADERS+= ranges_copy.h
+ALG_HEADERS+= ranges_copy_backward.h
+ALG_HEADERS+= ranges_copy_if.h
+ALG_HEADERS+= ranges_copy_n.h
+ALG_HEADERS+= ranges_count.h
+ALG_HEADERS+= ranges_count_if.h
+ALG_HEADERS+= ranges_ends_with.h
+ALG_HEADERS+= ranges_equal.h
+ALG_HEADERS+= ranges_equal_range.h
+ALG_HEADERS+= ranges_fill.h
+ALG_HEADERS+= ranges_fill_n.h
+ALG_HEADERS+= ranges_find.h
+ALG_HEADERS+= ranges_find_end.h
+ALG_HEADERS+= ranges_find_first_of.h
+ALG_HEADERS+= ranges_find_if.h
+ALG_HEADERS+= ranges_find_if_not.h
+ALG_HEADERS+= ranges_find_last.h
+ALG_HEADERS+= ranges_for_each.h
+ALG_HEADERS+= ranges_for_each_n.h
+ALG_HEADERS+= ranges_generate.h
+ALG_HEADERS+= ranges_generate_n.h
+ALG_HEADERS+= ranges_includes.h
+ALG_HEADERS+= ranges_inplace_merge.h
+ALG_HEADERS+= ranges_is_heap.h
+ALG_HEADERS+= ranges_is_heap_until.h
+ALG_HEADERS+= ranges_is_partitioned.h
+ALG_HEADERS+= ranges_is_permutation.h
+ALG_HEADERS+= ranges_is_sorted.h
+ALG_HEADERS+= ranges_is_sorted_until.h
+ALG_HEADERS+= ranges_iterator_concept.h
+ALG_HEADERS+= ranges_lexicographical_compare.h
+ALG_HEADERS+= ranges_lower_bound.h
+ALG_HEADERS+= ranges_make_heap.h
+ALG_HEADERS+= ranges_max.h
+ALG_HEADERS+= ranges_max_element.h
+ALG_HEADERS+= ranges_merge.h
+ALG_HEADERS+= ranges_min.h
+ALG_HEADERS+= ranges_min_element.h
+ALG_HEADERS+= ranges_minmax.h
+ALG_HEADERS+= ranges_minmax_element.h
+ALG_HEADERS+= ranges_mismatch.h
+ALG_HEADERS+= ranges_move.h
+ALG_HEADERS+= ranges_move_backward.h
+ALG_HEADERS+= ranges_next_permutation.h
+ALG_HEADERS+= ranges_none_of.h
+ALG_HEADERS+= ranges_nth_element.h
+ALG_HEADERS+= ranges_partial_sort.h
+ALG_HEADERS+= ranges_partial_sort_copy.h
+ALG_HEADERS+= ranges_partition.h
+ALG_HEADERS+= ranges_partition_copy.h
+ALG_HEADERS+= ranges_partition_point.h
+ALG_HEADERS+= ranges_pop_heap.h
+ALG_HEADERS+= ranges_prev_permutation.h
+ALG_HEADERS+= ranges_push_heap.h
+ALG_HEADERS+= ranges_remove.h
+ALG_HEADERS+= ranges_remove_copy.h
+ALG_HEADERS+= ranges_remove_copy_if.h
+ALG_HEADERS+= ranges_remove_if.h
+ALG_HEADERS+= ranges_replace.h
+ALG_HEADERS+= ranges_replace_copy.h
+ALG_HEADERS+= ranges_replace_copy_if.h
+ALG_HEADERS+= ranges_replace_if.h
+ALG_HEADERS+= ranges_reverse.h
+ALG_HEADERS+= ranges_reverse_copy.h
+ALG_HEADERS+= ranges_rotate.h
+ALG_HEADERS+= ranges_rotate_copy.h
+ALG_HEADERS+= ranges_sample.h
+ALG_HEADERS+= ranges_search.h
+ALG_HEADERS+= ranges_search_n.h
+ALG_HEADERS+= ranges_set_difference.h
+ALG_HEADERS+= ranges_set_intersection.h
+ALG_HEADERS+= ranges_set_symmetric_difference.h
+ALG_HEADERS+= ranges_set_union.h
+ALG_HEADERS+= ranges_shuffle.h
+ALG_HEADERS+= ranges_sort.h
+ALG_HEADERS+= ranges_sort_heap.h
+ALG_HEADERS+= ranges_stable_partition.h
+ALG_HEADERS+= ranges_stable_sort.h
+ALG_HEADERS+= ranges_starts_with.h
+ALG_HEADERS+= ranges_swap_ranges.h
+ALG_HEADERS+= ranges_transform.h
+ALG_HEADERS+= ranges_unique.h
+ALG_HEADERS+= ranges_unique_copy.h
+ALG_HEADERS+= ranges_upper_bound.h
ALG_HEADERS+= remove.h
ALG_HEADERS+= remove_copy.h
ALG_HEADERS+= remove_copy_if.h
@@ -337,24 +465,62 @@ ALG_HEADERS+= shift_left.h
ALG_HEADERS+= shift_right.h
ALG_HEADERS+= shuffle.h
ALG_HEADERS+= sift_down.h
+ALG_HEADERS+= simd_utils.h
ALG_HEADERS+= sort.h
ALG_HEADERS+= sort_heap.h
ALG_HEADERS+= stable_partition.h
ALG_HEADERS+= stable_sort.h
ALG_HEADERS+= swap_ranges.h
+ALG_HEADERS+= three_way_comp_ref_type.h
ALG_HEADERS+= transform.h
+ALG_HEADERS+= uniform_random_bit_generator_adaptor.h
ALG_HEADERS+= unique.h
ALG_HEADERS+= unique_copy.h
ALG_HEADERS+= unwrap_iter.h
+ALG_HEADERS+= unwrap_range.h
ALG_HEADERS+= upper_bound.h
.for hdr in ${ALG_HEADERS}
ALG+= ${HDRDIR}/__algorithm/${hdr}
.endfor
+INCSGROUPS+= ATM
+ATMDIR= ${CXXINCLUDEDIR}/__atomic
+ATM_HEADERS+= aliases.h
+ATM_HEADERS+= atomic.h
+ATM_HEADERS+= atomic_base.h
+ATM_HEADERS+= atomic_flag.h
+ATM_HEADERS+= atomic_init.h
+ATM_HEADERS+= atomic_lock_free.h
+ATM_HEADERS+= atomic_ref.h
+ATM_HEADERS+= atomic_sync.h
+ATM_HEADERS+= check_memory_order.h
+ATM_HEADERS+= contention_t.h
+ATM_HEADERS+= cxx_atomic_impl.h
+ATM_HEADERS+= fence.h
+ATM_HEADERS+= is_always_lock_free.h
+ATM_HEADERS+= kill_dependency.h
+ATM_HEADERS+= memory_order.h
+ATM_HEADERS+= to_gcc_order.h
+.for hdr in ${ATM_HEADERS}
+ATM+= ${HDRDIR}/__atomic/${hdr}
+.endfor
+
INCSGROUPS+= BIT
BITDIR= ${CXXINCLUDEDIR}/__bit
BIT_HEADERS+= bit_cast.h
+BIT_HEADERS+= bit_ceil.h
+BIT_HEADERS+= bit_floor.h
+BIT_HEADERS+= bit_log2.h
+BIT_HEADERS+= bit_width.h
+BIT_HEADERS+= blsr.h
BIT_HEADERS+= byteswap.h
+BIT_HEADERS+= countl.h
+BIT_HEADERS+= countr.h
+BIT_HEADERS+= endian.h
+BIT_HEADERS+= has_single_bit.h
+BIT_HEADERS+= invert_if.h
+BIT_HEADERS+= popcount.h
+BIT_HEADERS+= rotate.h
.for hdr in ${BIT_HEADERS}
BIT+= ${HDRDIR}/__bit/${hdr}
.endfor
@@ -362,8 +528,15 @@ BIT+= ${HDRDIR}/__bit/${hdr}
INCSGROUPS+= CHC
CHCDIR= ${CXXINCLUDEDIR}/__charconv
CHC_HEADERS+= chars_format.h
+CHC_HEADERS+= from_chars_integral.h
CHC_HEADERS+= from_chars_result.h
+CHC_HEADERS+= tables.h
+CHC_HEADERS+= to_chars.h
+CHC_HEADERS+= to_chars_base_10.h
+CHC_HEADERS+= to_chars_floating_point.h
+CHC_HEADERS+= to_chars_integral.h
CHC_HEADERS+= to_chars_result.h
+CHC_HEADERS+= traits.h
.for hdr in ${CHC_HEADERS}
CHC+= ${HDRDIR}/__charconv/${hdr}
.endfor
@@ -371,13 +544,39 @@ CHC+= ${HDRDIR}/__charconv/${hdr}
INCSGROUPS+= CHR
CHRDIR= ${CXXINCLUDEDIR}/__chrono
CHR_HEADERS+= calendar.h
+CHR_HEADERS+= concepts.h
CHR_HEADERS+= convert_to_timespec.h
+CHR_HEADERS+= convert_to_tm.h
+CHR_HEADERS+= day.h
CHR_HEADERS+= duration.h
+CHR_HEADERS+= exception.h
CHR_HEADERS+= file_clock.h
+CHR_HEADERS+= formatter.h
+CHR_HEADERS+= hh_mm_ss.h
CHR_HEADERS+= high_resolution_clock.h
+CHR_HEADERS+= leap_second.h
+CHR_HEADERS+= literals.h
+CHR_HEADERS+= local_info.h
+CHR_HEADERS+= month.h
+CHR_HEADERS+= month_weekday.h
+CHR_HEADERS+= monthday.h
+CHR_HEADERS+= ostream.h
+CHR_HEADERS+= parser_std_format_spec.h
+CHR_HEADERS+= statically_widen.h
CHR_HEADERS+= steady_clock.h
+CHR_HEADERS+= sys_info.h
CHR_HEADERS+= system_clock.h
CHR_HEADERS+= time_point.h
+CHR_HEADERS+= time_zone.h
+CHR_HEADERS+= time_zone_link.h
+CHR_HEADERS+= tzdb.h
+CHR_HEADERS+= tzdb_list.h
+CHR_HEADERS+= weekday.h
+CHR_HEADERS+= year.h
+CHR_HEADERS+= year_month.h
+CHR_HEADERS+= year_month_day.h
+CHR_HEADERS+= year_month_weekday.h
+CHR_HEADERS+= zoned_time.h
.for hdr in ${CHR_HEADERS}
CHR+= ${HDRDIR}/__chrono/${hdr}
.endfor
@@ -429,6 +628,24 @@ CON_HEADERS+= totally_ordered.h
CON+= ${HDRDIR}/__concepts/${hdr}
.endfor
+INCSGROUPS+= CND
+CNDDIR= ${CXXINCLUDEDIR}/__condition_variable
+CND_HEADERS+= condition_variable.h
+.for hdr in ${CND_HEADERS}
+CND+= ${HDRDIR}/__condition_variable/${hdr}
+.endfor
+
+INCSGROUPS+= CNF
+CNFDIR= ${CXXINCLUDEDIR}/__configuration
+CNF_HEADERS+= abi.h
+CNF_HEADERS+= availability.h
+CNF_HEADERS+= compiler.h
+CNF_HEADERS+= language.h
+CNF_HEADERS+= platform.h
+.for hdr in ${CNF_HEADERS}
+CNF+= ${HDRDIR}/__configuration/${hdr}
+.endfor
+
INCSGROUPS+= COR
CORDIR= ${CXXINCLUDEDIR}/__coroutine
COR_HEADERS+= coroutine_handle.h
@@ -439,6 +656,36 @@ COR_HEADERS+= trivial_awaitables.h
COR+= ${HDRDIR}/__coroutine/${hdr}
.endfor
+INCSGROUPS+= DBG
+DBGDIR= ${CXXINCLUDEDIR}/__debug_utils
+DBG_HEADERS+= randomize_range.h
+DBG_HEADERS+= sanitizers.h
+DBG_HEADERS+= strict_weak_ordering_check.h
+.for hdr in ${DBG_HEADERS}
+DBG+= ${HDRDIR}/__debug_utils/${hdr}
+.endfor
+
+INCSGROUPS+= EXC
+EXCDIR= ${CXXINCLUDEDIR}/__exception
+EXC_HEADERS+= exception.h
+EXC_HEADERS+= exception_ptr.h
+EXC_HEADERS+= nested_exception.h
+EXC_HEADERS+= operations.h
+EXC_HEADERS+= terminate.h
+.for hdr in ${EXC_HEADERS}
+EXC+= ${HDRDIR}/__exception/${hdr}
+.endfor
+
+INCSGROUPS+= EXD
+EXDDIR= ${CXXINCLUDEDIR}/__expected
+EXD_HEADERS+= bad_expected_access.h
+EXD_HEADERS+= expected.h
+EXD_HEADERS+= unexpect.h
+EXD_HEADERS+= unexpected.h
+.for hdr in ${EXD_HEADERS}
+EXD+= ${HDRDIR}/__expected/${hdr}
+.endfor
+
INCSGROUPS+= FS
FSDIR= ${CXXINCLUDEDIR}/__filesystem
FS_HEADERS+= copy_options.h
@@ -463,11 +710,18 @@ FS+= ${HDRDIR}/__filesystem/${hdr}
INCSGROUPS+= FMT
FMTDIR= ${CXXINCLUDEDIR}/__format
+FMT_HEADERS+= buffer.h
+FMT_HEADERS+= concepts.h
+FMT_HEADERS+= container_adaptor.h
+FMT_HEADERS+= enable_insertable.h
+FMT_HEADERS+= escaped_output_table.h
+FMT_HEADERS+= extended_grapheme_cluster_table.h
FMT_HEADERS+= format_arg.h
+FMT_HEADERS+= format_arg_store.h
FMT_HEADERS+= format_args.h
FMT_HEADERS+= format_context.h
FMT_HEADERS+= format_error.h
-FMT_HEADERS+= format_fwd.h
+FMT_HEADERS+= format_functions.h
FMT_HEADERS+= format_parse_context.h
FMT_HEADERS+= format_string.h
FMT_HEADERS+= format_to_n_result.h
@@ -477,9 +731,17 @@ FMT_HEADERS+= formatter_char.h
FMT_HEADERS+= formatter_floating_point.h
FMT_HEADERS+= formatter_integer.h
FMT_HEADERS+= formatter_integral.h
+FMT_HEADERS+= formatter_output.h
FMT_HEADERS+= formatter_pointer.h
FMT_HEADERS+= formatter_string.h
+FMT_HEADERS+= formatter_tuple.h
+FMT_HEADERS+= indic_conjunct_break_table.h
FMT_HEADERS+= parser_std_format_spec.h
+FMT_HEADERS+= range_default_formatter.h
+FMT_HEADERS+= range_formatter.h
+FMT_HEADERS+= unicode.h
+FMT_HEADERS+= width_estimation_table.h
+FMT_HEADERS+= write_escaped.h
.for hdr in ${FMT_HEADERS}
FMT+= ${HDRDIR}/__format/${hdr}
.endfor
@@ -493,6 +755,7 @@ FUN_HEADERS+= bind_back.h
FUN_HEADERS+= bind_front.h
FUN_HEADERS+= binder1st.h
FUN_HEADERS+= binder2nd.h
+FUN_HEADERS+= boyer_moore_searcher.h
FUN_HEADERS+= compose.h
FUN_HEADERS+= default_searcher.h
FUN_HEADERS+= function.h
@@ -511,20 +774,59 @@ FUN_HEADERS+= ranges_operations.h
FUN_HEADERS+= reference_wrapper.h
FUN_HEADERS+= unary_function.h
FUN_HEADERS+= unary_negate.h
-FUN_HEADERS+= unwrap_ref.h
FUN_HEADERS+= weak_result_type.h
.for hdr in ${FUN_HEADERS}
FUN+= ${HDRDIR}/__functional/${hdr}
.endfor
+INCSGROUPS+= FWD
+FWDDIR= ${CXXINCLUDEDIR}/__fwd
+FWD_HEADERS+= array.h
+FWD_HEADERS+= bit_reference.h
+FWD_HEADERS+= complex.h
+FWD_HEADERS+= deque.h
+FWD_HEADERS+= format.h
+FWD_HEADERS+= fstream.h
+FWD_HEADERS+= functional.h
+FWD_HEADERS+= ios.h
+FWD_HEADERS+= istream.h
+FWD_HEADERS+= mdspan.h
+FWD_HEADERS+= memory.h
+FWD_HEADERS+= memory_resource.h
+FWD_HEADERS+= ostream.h
+FWD_HEADERS+= pair.h
+FWD_HEADERS+= queue.h
+FWD_HEADERS+= span.h
+FWD_HEADERS+= sstream.h
+FWD_HEADERS+= stack.h
+FWD_HEADERS+= streambuf.h
+FWD_HEADERS+= string.h
+FWD_HEADERS+= string_view.h
+FWD_HEADERS+= subrange.h
+FWD_HEADERS+= tuple.h
+FWD_HEADERS+= vector.h
+.for hdr in ${FWD_HEADERS}
+FWD+= ${HDRDIR}/__fwd/${hdr}
+.endfor
+
+INCSGROUPS+= IOS
+IOSDIR= ${CXXINCLUDEDIR}/__ios
+IOS_HEADERS+= fpos.h
+.for hdr in ${IOS_HEADERS}
+IOS+= ${HDRDIR}/__ios/${hdr}
+.endfor
+
INCSGROUPS+= IT
ITDIR= ${CXXINCLUDEDIR}/__iterator
IT_HEADERS+= access.h
IT_HEADERS+= advance.h
+IT_HEADERS+= aliasing_iterator.h
IT_HEADERS+= back_insert_iterator.h
+IT_HEADERS+= bounded_iter.h
IT_HEADERS+= common_iterator.h
IT_HEADERS+= concepts.h
IT_HEADERS+= counted_iterator.h
+IT_HEADERS+= cpp17_iterator_concepts.h
IT_HEADERS+= data.h
IT_HEADERS+= default_sentinel.h
IT_HEADERS+= distance.h
@@ -540,48 +842,144 @@ IT_HEADERS+= iter_move.h
IT_HEADERS+= iter_swap.h
IT_HEADERS+= iterator.h
IT_HEADERS+= iterator_traits.h
+IT_HEADERS+= iterator_with_data.h
+IT_HEADERS+= mergeable.h
IT_HEADERS+= move_iterator.h
+IT_HEADERS+= move_sentinel.h
IT_HEADERS+= next.h
IT_HEADERS+= ostream_iterator.h
IT_HEADERS+= ostreambuf_iterator.h
+IT_HEADERS+= permutable.h
IT_HEADERS+= prev.h
IT_HEADERS+= projected.h
+IT_HEADERS+= ranges_iterator_traits.h
IT_HEADERS+= readable_traits.h
IT_HEADERS+= reverse_access.h
IT_HEADERS+= reverse_iterator.h
+IT_HEADERS+= segmented_iterator.h
IT_HEADERS+= size.h
+IT_HEADERS+= sortable.h
IT_HEADERS+= unreachable_sentinel.h
IT_HEADERS+= wrap_iter.h
.for hdr in ${IT_HEADERS}
IT+= ${HDRDIR}/__iterator/${hdr}
.endfor
+INCSGROUPS+= LOC
+LOCDIR= ${CXXINCLUDEDIR}/__locale_dir
+LOC_HEADERS+= locale_base_api.h
+.for hdr in ${LOC_HEADERS}
+LOC+= ${HDRDIR}/__locale_dir/${hdr}
+.endfor
+
+INCSGROUPS+= LBA
+LBADIR= ${CXXINCLUDEDIR}/__locale_dir/locale_base_api
+LBA_HEADERS+= bsd_locale_defaults.h
+LBA_HEADERS+= bsd_locale_fallbacks.h
+LBA_HEADERS+= locale_guard.h
+.for hdr in ${LBA_HEADERS}
+LBA+= ${HDRDIR}/__locale_dir/locale_base_api/${hdr}
+.endfor
+
+INCSGROUPS+= MAT
+MATDIR= ${CXXINCLUDEDIR}/__math
+MAT_HEADERS+= abs.h
+MAT_HEADERS+= copysign.h
+MAT_HEADERS+= error_functions.h
+MAT_HEADERS+= exponential_functions.h
+MAT_HEADERS+= fdim.h
+MAT_HEADERS+= fma.h
+MAT_HEADERS+= gamma.h
+MAT_HEADERS+= hyperbolic_functions.h
+MAT_HEADERS+= hypot.h
+MAT_HEADERS+= inverse_hyperbolic_functions.h
+MAT_HEADERS+= inverse_trigonometric_functions.h
+MAT_HEADERS+= logarithms.h
+MAT_HEADERS+= min_max.h
+MAT_HEADERS+= modulo.h
+MAT_HEADERS+= remainder.h
+MAT_HEADERS+= roots.h
+MAT_HEADERS+= rounding_functions.h
+MAT_HEADERS+= special_functions.h
+MAT_HEADERS+= traits.h
+MAT_HEADERS+= trigonometric_functions.h
+.for hdr in ${MAT_HEADERS}
+MAT+= ${HDRDIR}/__math/${hdr}
+.endfor
+
+INCSGROUPS+= MDS
+MDSDIR= ${CXXINCLUDEDIR}/__mdspan
+MDS_HEADERS+= default_accessor.h
+MDS_HEADERS+= extents.h
+MDS_HEADERS+= layout_left.h
+MDS_HEADERS+= layout_right.h
+MDS_HEADERS+= layout_stride.h
+MDS_HEADERS+= mdspan.h
+.for hdr in ${MDS_HEADERS}
+MDS+= ${HDRDIR}/__mdspan/${hdr}
+.endfor
+
INCSGROUPS+= MEM
MEMDIR= ${CXXINCLUDEDIR}/__memory
MEM_HEADERS+= addressof.h
+MEM_HEADERS+= align.h
+MEM_HEADERS+= aligned_alloc.h
+MEM_HEADERS+= allocate_at_least.h
MEM_HEADERS+= allocation_guard.h
MEM_HEADERS+= allocator.h
MEM_HEADERS+= allocator_arg_t.h
+MEM_HEADERS+= allocator_destructor.h
MEM_HEADERS+= allocator_traits.h
+MEM_HEADERS+= assume_aligned.h
MEM_HEADERS+= auto_ptr.h
+MEM_HEADERS+= builtin_new_allocator.h
MEM_HEADERS+= compressed_pair.h
MEM_HEADERS+= concepts.h
MEM_HEADERS+= construct_at.h
+MEM_HEADERS+= destruct_n.h
+MEM_HEADERS+= inout_ptr.h
+MEM_HEADERS+= out_ptr.h
MEM_HEADERS+= pointer_traits.h
MEM_HEADERS+= ranges_construct_at.h
MEM_HEADERS+= ranges_uninitialized_algorithms.h
MEM_HEADERS+= raw_storage_iterator.h
MEM_HEADERS+= shared_ptr.h
+MEM_HEADERS+= swap_allocator.h
+MEM_HEADERS+= temp_value.h
MEM_HEADERS+= temporary_buffer.h
MEM_HEADERS+= uninitialized_algorithms.h
MEM_HEADERS+= unique_ptr.h
MEM_HEADERS+= uses_allocator.h
+MEM_HEADERS+= uses_allocator_construction.h
MEM_HEADERS+= voidify.h
.for hdr in ${MEM_HEADERS}
MEM+= ${HDRDIR}/__memory/${hdr}
.endfor
-INCSGROUPS+= NUM
+INCSGROUPS+= MER
+MERDIR= ${CXXINCLUDEDIR}/__memory_resource
+MER_HEADERS+= memory_resource.h
+MER_HEADERS+= monotonic_buffer_resource.h
+MER_HEADERS+= polymorphic_allocator.h
+MER_HEADERS+= pool_options.h
+MER_HEADERS+= synchronized_pool_resource.h
+MER_HEADERS+= unsynchronized_pool_resource.h
+.for hdr in ${MER_HEADERS}
+MER+= ${HDRDIR}/__memory_resource/${hdr}
+.endfor
+
+INCSGROUPS+= MUT
+MUTDIR= ${CXXINCLUDEDIR}/__mutex
+MUT_HEADERS+= lock_guard.h
+MUT_HEADERS+= mutex.h
+MUT_HEADERS+= once_flag.h
+MUT_HEADERS+= tag_types.h
+MUT_HEADERS+= unique_lock.h
+.for hdr in ${MUT_HEADERS}
+MUT+= ${HDRDIR}/__mutex/${hdr}
+.endfor
+
+INCSGROUPS+= NUM
NUMDIR= ${CXXINCLUDEDIR}/__numeric
NUM_HEADERS+= accumulate.h
NUM_HEADERS+= adjacent_difference.h
@@ -592,7 +990,9 @@ NUM_HEADERS+= inner_product.h
NUM_HEADERS+= iota.h
NUM_HEADERS+= midpoint.h
NUM_HEADERS+= partial_sum.h
+NUM_HEADERS+= pstl.h
NUM_HEADERS+= reduce.h
+NUM_HEADERS+= saturation_arithmetic.h
NUM_HEADERS+= transform_exclusive_scan.h
NUM_HEADERS+= transform_inclusive_scan.h
NUM_HEADERS+= transform_reduce.h
@@ -600,6 +1000,49 @@ NUM_HEADERS+= transform_reduce.h
NUM+= ${HDRDIR}/__numeric/${hdr}
.endfor
+INCSGROUPS+= OST
+OSTDIR= ${CXXINCLUDEDIR}/__ostream
+OST_HEADERS+= basic_ostream.h
+OST_HEADERS+= print.h
+.for hdr in ${OST_HEADERS}
+OST+= ${HDRDIR}/__ostream/${hdr}
+.endfor
+
+INCSGROUPS+= PST
+PSTDIR= ${CXXINCLUDEDIR}/__pstl
+PST_HEADERS+= backend.h
+PST_HEADERS+= backend_fwd.h
+PST_HEADERS+= dispatch.h
+PST_HEADERS+= handle_exception.h
+.for hdr in ${PST_HEADERS}
+PST+= ${HDRDIR}/__pstl/${hdr}
+.endfor
+
+INCSGROUPS+= PSB
+PSBDIR= ${CXXINCLUDEDIR}/__pstl/backends
+PSB_HEADERS+= default.h
+PSB_HEADERS+= libdispatch.h
+PSB_HEADERS+= serial.h
+PSB_HEADERS+= std_thread.h
+.for hdr in ${PSB_HEADERS}
+PSB+= ${HDRDIR}/__pstl/backends/${hdr}
+.endfor
+
+INCSGROUPS+= PSC
+PSCDIR= ${CXXINCLUDEDIR}/__pstl/cpu_algos
+PSC_HEADERS+= any_of.h
+PSC_HEADERS+= cpu_traits.h
+PSC_HEADERS+= fill.h
+PSC_HEADERS+= find_if.h
+PSC_HEADERS+= for_each.h
+PSC_HEADERS+= merge.h
+PSC_HEADERS+= stable_sort.h
+PSC_HEADERS+= transform.h
+PSC_HEADERS+= transform_reduce.h
+.for hdr in ${PSC_HEADERS}
+PSC+= ${HDRDIR}/__pstl/cpu_algos/${hdr}
+.endfor
+
INCSGROUPS+= RND
RNDDIR= ${CXXINCLUDEDIR}/__random
RND_HEADERS+= bernoulli_distribution.h
@@ -618,6 +1061,7 @@ RND_HEADERS+= generate_canonical.h
RND_HEADERS+= geometric_distribution.h
RND_HEADERS+= independent_bits_engine.h
RND_HEADERS+= is_seed_sequence.h
+RND_HEADERS+= is_valid.h
RND_HEADERS+= knuth_b.h
RND_HEADERS+= linear_congruential_engine.h
RND_HEADERS+= log2.h
@@ -646,61 +1090,281 @@ INCSGROUPS+= RNG
RNGDIR= ${CXXINCLUDEDIR}/__ranges
RNG_HEADERS+= access.h
RNG_HEADERS+= all.h
+RNG_HEADERS+= as_rvalue_view.h
+RNG_HEADERS+= chunk_by_view.h
RNG_HEADERS+= common_view.h
RNG_HEADERS+= concepts.h
-RNG_HEADERS+= copyable_box.h
+RNG_HEADERS+= container_compatible_range.h
RNG_HEADERS+= counted.h
RNG_HEADERS+= dangling.h
RNG_HEADERS+= data.h
RNG_HEADERS+= drop_view.h
+RNG_HEADERS+= drop_while_view.h
+RNG_HEADERS+= elements_view.h
RNG_HEADERS+= empty.h
RNG_HEADERS+= empty_view.h
RNG_HEADERS+= enable_borrowed_range.h
RNG_HEADERS+= enable_view.h
+RNG_HEADERS+= filter_view.h
+RNG_HEADERS+= from_range.h
RNG_HEADERS+= iota_view.h
+RNG_HEADERS+= istream_view.h
RNG_HEADERS+= join_view.h
+RNG_HEADERS+= lazy_split_view.h
+RNG_HEADERS+= movable_box.h
RNG_HEADERS+= non_propagating_cache.h
RNG_HEADERS+= owning_view.h
RNG_HEADERS+= range_adaptor.h
+RNG_HEADERS+= rbegin.h
RNG_HEADERS+= ref_view.h
+RNG_HEADERS+= rend.h
+RNG_HEADERS+= repeat_view.h
RNG_HEADERS+= reverse_view.h
RNG_HEADERS+= single_view.h
RNG_HEADERS+= size.h
+RNG_HEADERS+= split_view.h
RNG_HEADERS+= subrange.h
RNG_HEADERS+= take_view.h
+RNG_HEADERS+= take_while_view.h
+RNG_HEADERS+= to.h
RNG_HEADERS+= transform_view.h
RNG_HEADERS+= view_interface.h
RNG_HEADERS+= views.h
+RNG_HEADERS+= zip_view.h
.for hdr in ${RNG_HEADERS}
RNG+= ${HDRDIR}/__ranges/${hdr}
.endfor
+INCSGROUPS+= STT
+STTDIR= ${CXXINCLUDEDIR}/__stop_token
+STT_HEADERS+= atomic_unique_lock.h
+STT_HEADERS+= intrusive_list_view.h
+STT_HEADERS+= intrusive_shared_ptr.h
+STT_HEADERS+= stop_callback.h
+STT_HEADERS+= stop_source.h
+STT_HEADERS+= stop_state.h
+STT_HEADERS+= stop_token.h
+.for hdr in ${STT_HEADERS}
+STT+= ${HDRDIR}/__stop_token/${hdr}
+.endfor
+
+INCSGROUPS+= STR
+STRDIR= ${CXXINCLUDEDIR}/__string
+STR_HEADERS+= char_traits.h
+STR_HEADERS+= constexpr_c_functions.h
+STR_HEADERS+= extern_template_lists.h
+.for hdr in ${STR_HEADERS}
+STR+= ${HDRDIR}/__string/${hdr}
+.endfor
+
+INCSGROUPS+= SER
+SERDIR= ${CXXINCLUDEDIR}/__system_error
+SER_HEADERS+= errc.h
+SER_HEADERS+= error_category.h
+SER_HEADERS+= error_code.h
+SER_HEADERS+= error_condition.h
+SER_HEADERS+= system_error.h
+.for hdr in ${SER_HEADERS}
+SER+= ${HDRDIR}/__system_error/${hdr}
+.endfor
+
INCSGROUPS+= THR
THRDIR= ${CXXINCLUDEDIR}/__thread
+THR_HEADERS+= formatter.h
+THR_HEADERS+= id.h
+THR_HEADERS+= jthread.h
THR_HEADERS+= poll_with_backoff.h
+THR_HEADERS+= support.h
+THR_HEADERS+= this_thread.h
+THR_HEADERS+= thread.h
THR_HEADERS+= timed_backoff_policy.h
.for hdr in ${THR_HEADERS}
THR+= ${HDRDIR}/__thread/${hdr}
.endfor
+INCSGROUPS+= THS
+THSDIR= ${CXXINCLUDEDIR}/__thread/support
+THS_HEADERS+= c11.h
+THS_HEADERS+= external.h
+THS_HEADERS+= pthread.h
+THS_HEADERS+= windows.h
+.for hdr in ${THS_HEADERS}
+THS+= ${HDRDIR}/__thread/support/${hdr}
+.endfor
+
+INCSGROUPS+= TUP
+TUPDIR= ${CXXINCLUDEDIR}/__tuple
+TUP_HEADERS+= find_index.h
+TUP_HEADERS+= ignore.h
+TUP_HEADERS+= make_tuple_types.h
+TUP_HEADERS+= sfinae_helpers.h
+TUP_HEADERS+= tuple_element.h
+TUP_HEADERS+= tuple_indices.h
+TUP_HEADERS+= tuple_like.h
+TUP_HEADERS+= tuple_like_ext.h
+TUP_HEADERS+= tuple_like_no_subrange.h
+TUP_HEADERS+= tuple_size.h
+TUP_HEADERS+= tuple_types.h
+.for hdr in ${TUP_HEADERS}
+TUP+= ${HDRDIR}/__tuple/${hdr}
+.endfor
+
+INCSGROUPS+= TTR
+TTRDIR= ${CXXINCLUDEDIR}/__type_traits
+TTR_HEADERS+= add_const.h
+TTR_HEADERS+= add_cv.h
+TTR_HEADERS+= add_lvalue_reference.h
+TTR_HEADERS+= add_pointer.h
+TTR_HEADERS+= add_rvalue_reference.h
+TTR_HEADERS+= add_volatile.h
+TTR_HEADERS+= aligned_storage.h
+TTR_HEADERS+= aligned_union.h
+TTR_HEADERS+= alignment_of.h
+TTR_HEADERS+= can_extract_key.h
+TTR_HEADERS+= common_reference.h
+TTR_HEADERS+= common_type.h
+TTR_HEADERS+= conditional.h
+TTR_HEADERS+= conjunction.h
+TTR_HEADERS+= copy_cv.h
+TTR_HEADERS+= copy_cvref.h
+TTR_HEADERS+= datasizeof.h
+TTR_HEADERS+= decay.h
+TTR_HEADERS+= dependent_type.h
+TTR_HEADERS+= desugars_to.h
+TTR_HEADERS+= disjunction.h
+TTR_HEADERS+= enable_if.h
+TTR_HEADERS+= extent.h
+TTR_HEADERS+= has_unique_object_representation.h
+TTR_HEADERS+= has_virtual_destructor.h
+TTR_HEADERS+= integral_constant.h
+TTR_HEADERS+= invoke.h
+TTR_HEADERS+= is_abstract.h
+TTR_HEADERS+= is_aggregate.h
+TTR_HEADERS+= is_allocator.h
+TTR_HEADERS+= is_always_bitcastable.h
+TTR_HEADERS+= is_arithmetic.h
+TTR_HEADERS+= is_array.h
+TTR_HEADERS+= is_assignable.h
+TTR_HEADERS+= is_base_of.h
+TTR_HEADERS+= is_bounded_array.h
+TTR_HEADERS+= is_callable.h
+TTR_HEADERS+= is_char_like_type.h
+TTR_HEADERS+= is_class.h
+TTR_HEADERS+= is_compound.h
+TTR_HEADERS+= is_const.h
+TTR_HEADERS+= is_constant_evaluated.h
+TTR_HEADERS+= is_constructible.h
+TTR_HEADERS+= is_convertible.h
+TTR_HEADERS+= is_core_convertible.h
+TTR_HEADERS+= is_destructible.h
+TTR_HEADERS+= is_empty.h
+TTR_HEADERS+= is_enum.h
+TTR_HEADERS+= is_equality_comparable.h
+TTR_HEADERS+= is_execution_policy.h
+TTR_HEADERS+= is_final.h
+TTR_HEADERS+= is_floating_point.h
+TTR_HEADERS+= is_function.h
+TTR_HEADERS+= is_fundamental.h
+TTR_HEADERS+= is_implicitly_default_constructible.h
+TTR_HEADERS+= is_integral.h
+TTR_HEADERS+= is_literal_type.h
+TTR_HEADERS+= is_member_function_pointer.h
+TTR_HEADERS+= is_member_object_pointer.h
+TTR_HEADERS+= is_member_pointer.h
+TTR_HEADERS+= is_nothrow_assignable.h
+TTR_HEADERS+= is_nothrow_constructible.h
+TTR_HEADERS+= is_nothrow_convertible.h
+TTR_HEADERS+= is_nothrow_destructible.h
+TTR_HEADERS+= is_null_pointer.h
+TTR_HEADERS+= is_object.h
+TTR_HEADERS+= is_pod.h
+TTR_HEADERS+= is_pointer.h
+TTR_HEADERS+= is_polymorphic.h
+TTR_HEADERS+= is_primary_template.h
+TTR_HEADERS+= is_reference.h
+TTR_HEADERS+= is_reference_wrapper.h
+TTR_HEADERS+= is_referenceable.h
+TTR_HEADERS+= is_same.h
+TTR_HEADERS+= is_scalar.h
+TTR_HEADERS+= is_scoped_enum.h
+TTR_HEADERS+= is_signed.h
+TTR_HEADERS+= is_signed_integer.h
+TTR_HEADERS+= is_specialization.h
+TTR_HEADERS+= is_standard_layout.h
+TTR_HEADERS+= is_swappable.h
+TTR_HEADERS+= is_trivial.h
+TTR_HEADERS+= is_trivially_assignable.h
+TTR_HEADERS+= is_trivially_constructible.h
+TTR_HEADERS+= is_trivially_copyable.h
+TTR_HEADERS+= is_trivially_destructible.h
+TTR_HEADERS+= is_trivially_lexicographically_comparable.h
+TTR_HEADERS+= is_trivially_relocatable.h
+TTR_HEADERS+= is_unbounded_array.h
+TTR_HEADERS+= is_union.h
+TTR_HEADERS+= is_unsigned.h
+TTR_HEADERS+= is_unsigned_integer.h
+TTR_HEADERS+= is_valid_expansion.h
+TTR_HEADERS+= is_void.h
+TTR_HEADERS+= is_volatile.h
+TTR_HEADERS+= lazy.h
+TTR_HEADERS+= make_32_64_or_128_bit.h
+TTR_HEADERS+= make_const_lvalue_ref.h
+TTR_HEADERS+= make_signed.h
+TTR_HEADERS+= make_unsigned.h
+TTR_HEADERS+= maybe_const.h
+TTR_HEADERS+= nat.h
+TTR_HEADERS+= negation.h
+TTR_HEADERS+= noexcept_move_assign_container.h
+TTR_HEADERS+= promote.h
+TTR_HEADERS+= rank.h
+TTR_HEADERS+= remove_all_extents.h
+TTR_HEADERS+= remove_const.h
+TTR_HEADERS+= remove_const_ref.h
+TTR_HEADERS+= remove_cv.h
+TTR_HEADERS+= remove_cvref.h
+TTR_HEADERS+= remove_extent.h
+TTR_HEADERS+= remove_pointer.h
+TTR_HEADERS+= remove_reference.h
+TTR_HEADERS+= remove_volatile.h
+TTR_HEADERS+= result_of.h
+TTR_HEADERS+= strip_signature.h
+TTR_HEADERS+= type_identity.h
+TTR_HEADERS+= type_list.h
+TTR_HEADERS+= underlying_type.h
+TTR_HEADERS+= unwrap_ref.h
+TTR_HEADERS+= void_t.h
+.for hdr in ${TTR_HEADERS}
+TTR+= ${HDRDIR}/__type_traits/${hdr}
+.endfor
+
INCSGROUPS+= UTL
UTLDIR= ${CXXINCLUDEDIR}/__utility
UTL_HEADERS+= as_const.h
+UTL_HEADERS+= as_lvalue.h
UTL_HEADERS+= auto_cast.h
UTL_HEADERS+= cmp.h
+UTL_HEADERS+= convert_to_integral.h
UTL_HEADERS+= declval.h
+UTL_HEADERS+= empty.h
+UTL_HEADERS+= exception_guard.h
UTL_HEADERS+= exchange.h
UTL_HEADERS+= forward.h
+UTL_HEADERS+= forward_like.h
UTL_HEADERS+= in_place.h
UTL_HEADERS+= integer_sequence.h
+UTL_HEADERS+= is_pointer_in_range.h
+UTL_HEADERS+= is_valid_range.h
UTL_HEADERS+= move.h
+UTL_HEADERS+= no_destroy.h
UTL_HEADERS+= pair.h
UTL_HEADERS+= piecewise_construct.h
UTL_HEADERS+= priority_tag.h
+UTL_HEADERS+= private_constructor_tag.h
UTL_HEADERS+= rel_ops.h
+UTL_HEADERS+= small_buffer.h
UTL_HEADERS+= swap.h
UTL_HEADERS+= to_underlying.h
-UTL_HEADERS+= transaction.h
+UTL_HEADERS+= unreachable.h
.for hdr in ${UTL_HEADERS}
UTL+= ${HDRDIR}/__utility/${hdr}
.endfor
@@ -715,31 +1379,31 @@ VAR+= ${HDRDIR}/__variant/${hdr}
INCSGROUPS+= EXP
EXPDIR= ${CXXINCLUDEDIR}/experimental
EXP_HEADERS+= __config
-EXP_HEADERS+= __memory
-EXP_HEADERS+= algorithm
-EXP_HEADERS+= coroutine
-EXP_HEADERS+= deque
-EXP_HEADERS+= filesystem
-EXP_HEADERS+= forward_list
-EXP_HEADERS+= functional
EXP_HEADERS+= iterator
-EXP_HEADERS+= list
-EXP_HEADERS+= map
-EXP_HEADERS+= memory_resource
+EXP_HEADERS+= memory
EXP_HEADERS+= propagate_const
-EXP_HEADERS+= regex
-EXP_HEADERS+= set
EXP_HEADERS+= simd
-EXP_HEADERS+= string
EXP_HEADERS+= type_traits
-EXP_HEADERS+= unordered_map
-EXP_HEADERS+= unordered_set
EXP_HEADERS+= utility
-EXP_HEADERS+= vector
.for hdr in ${EXP_HEADERS}
EXP+= ${HDRDIR}/experimental/${hdr}
.endfor
+INCSGROUPS+= EXS
+EXSDIR= ${CXXINCLUDEDIR}/experimental/__simd
+EXS_HEADERS+= aligned_tag.h
+EXS_HEADERS+= declaration.h
+EXS_HEADERS+= reference.h
+EXS_HEADERS+= scalar.h
+EXS_HEADERS+= simd.h
+EXS_HEADERS+= simd_mask.h
+EXS_HEADERS+= traits.h
+EXS_HEADERS+= utility.h
+EXS_HEADERS+= vec_ext.h
+.for hdr in ${EXS_HEADERS}
+EXS+= ${HDRDIR}/experimental/__simd/${hdr}
+.endfor
+
INCSGROUPS+= EXT
EXTDIR= ${CXXINCLUDEDIR}/ext
EXT_HEADERS+= __hash