1SHLIBDIR?= /lib 2 3.include <src.opts.mk> 4 5PACKAGE= clibs 6_LIBCXXRTDIR= ${SRCTOP}/contrib/libcxxrt 7HDRDIR= ${SRCTOP}/contrib/llvm-project/libcxx/include 8SRCDIR= ${SRCTOP}/contrib/llvm-project/libcxx/src 9CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR} 10 11.PATH: ${SRCDIR} 12 13LIB= c++ 14SHLIB_MAJOR= 1 15SHLIB_LDSCRIPT= libc++.ldscript 16 17SRCS+= algorithm.cpp 18SRCS+= any.cpp 19SRCS+= atomic.cpp 20SRCS+= barrier.cpp 21SRCS+= bind.cpp 22SRCS+= call_once.cpp 23SRCS+= charconv.cpp 24SRCS+= chrono.cpp 25SRCS+= condition_variable.cpp 26SRCS+= condition_variable_destructor.cpp 27SRCS+= error_category.cpp 28SRCS+= exception.cpp 29SRCS+= expected.cpp 30SRCS+= filesystem/directory_entry.cpp 31SRCS+= filesystem/directory_iterator.cpp 32SRCS+= filesystem/filesystem_clock.cpp 33SRCS+= filesystem/filesystem_error.cpp 34SRCS+= filesystem/int128_builtins.cpp 35SRCS+= filesystem/operations.cpp 36SRCS+= filesystem/path.cpp 37SRCS+= fstream.cpp 38SRCS+= functional.cpp 39SRCS+= future.cpp 40SRCS+= hash.cpp 41SRCS+= ios.cpp 42SRCS+= ios.instantiations.cpp 43SRCS+= iostream.cpp 44SRCS+= legacy_pointer_safety.cpp 45SRCS+= locale.cpp 46SRCS+= memory.cpp 47SRCS+= memory_resource.cpp 48SRCS+= mutex.cpp 49SRCS+= mutex_destructor.cpp 50SRCS+= new.cpp 51SRCS+= new_handler.cpp 52SRCS+= new_helpers.cpp 53SRCS+= optional.cpp 54SRCS+= ostream.cpp 55SRCS+= print.cpp 56SRCS+= random.cpp 57SRCS+= random_shuffle.cpp 58SRCS+= regex.cpp 59SRCS+= ryu/d2fixed.cpp 60SRCS+= ryu/d2s.cpp 61SRCS+= ryu/f2s.cpp 62SRCS+= shared_mutex.cpp 63SRCS+= stdexcept.cpp 64SRCS+= string.cpp 65SRCS+= strstream.cpp 66SRCS+= system_error.cpp 67SRCS+= thread.cpp 68SRCS+= typeinfo.cpp 69SRCS+= valarray.cpp 70SRCS+= variant.cpp 71SRCS+= vector.cpp 72SRCS+= verbose_abort.cpp 73 74CXXRT_SRCS+= auxhelper.cc 75CXXRT_SRCS+= dynamic_cast.cc 76CXXRT_SRCS+= exception.cc 77CXXRT_SRCS+= guard.cc 78CXXRT_SRCS+= libelftc_dem_gnu3.c 79CXXRT_SRCS+= memory.cc 80CXXRT_SRCS+= stdexcept.cc 81CXXRT_SRCS+= terminate.cc 82CXXRT_SRCS+= typeinfo.cc 83 84.for _S in ${CXXRT_SRCS} 85CLEANFILES+= cxxrt_${_S} 86STATICOBJS+= cxxrt_${_S:R}.o 87cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA 88 ln -sf ${.ALLSRC} ${.TARGET} 89.endfor 90 91WARNS?= 0 92CFLAGS+= -isystem ${SRCDIR} 93CFLAGS+= -isystem ${.CURDIR} 94CFLAGS+= -isystem ${HDRDIR} 95CFLAGS+= -isystem ${_LIBCXXRTDIR} 96CFLAGS+= -nostdinc++ 97CFLAGS+= -nostdlib 98CFLAGS+= -D_LIBCPP_BUILDING_LIBRARY 99CFLAGS+= -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER 100CFLAGS+= -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES 101CFLAGS+= -DLIBCXXRT 102CFLAGS+= -fdata-sections 103CFLAGS+= -ffunction-sections 104CFLAGS+= -fno-semantic-interposition 105CFLAGS+= -fvisibility-inlines-hidden 106CFLAGS+= -fvisibility=hidden 107 108.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} < 130000 109# NOTE: gcc 12 cannot correctly compile all libc++'s C++23 code. To temporarily 110# support gcc 12, compile libc++ in C++20 mode, but this will leave out any 111# C++23 features. 112CXXSTD?= c++20 113.else 114CXXSTD?= c++23 115.endif 116 117LIBADD+= cxxrt 118 119INCSGROUPS+= STD 120STDDIR= ${CXXINCLUDEDIR} 121STD_HEADERS+= __assert 122STD_HEADERS+= __bit_reference 123STD_HEADERS+= __config 124STD_HEADERS+= __hash_table 125STD_HEADERS+= __locale 126STD_HEADERS+= __mbstate_t.h 127STD_HEADERS+= __node_handle 128STD_HEADERS+= __split_buffer 129STD_HEADERS+= __std_clang_module 130STD_HEADERS+= __std_mbstate_t.h 131STD_HEADERS+= __tree 132STD_HEADERS+= __undef_macros 133STD_HEADERS+= __verbose_abort 134STD_HEADERS+= algorithm 135STD_HEADERS+= any 136STD_HEADERS+= array 137STD_HEADERS+= atomic 138STD_HEADERS+= barrier 139STD_HEADERS+= bit 140STD_HEADERS+= bitset 141STD_HEADERS+= cassert 142STD_HEADERS+= ccomplex 143STD_HEADERS+= cctype 144STD_HEADERS+= cerrno 145STD_HEADERS+= cfenv 146STD_HEADERS+= cfloat 147STD_HEADERS+= charconv 148STD_HEADERS+= chrono 149STD_HEADERS+= cinttypes 150STD_HEADERS+= ciso646 151STD_HEADERS+= climits 152STD_HEADERS+= clocale 153STD_HEADERS+= cmath 154STD_HEADERS+= codecvt 155STD_HEADERS+= compare 156STD_HEADERS+= complex 157STD_HEADERS+= complex.h 158STD_HEADERS+= concepts 159STD_HEADERS+= condition_variable 160STD_HEADERS+= coroutine 161STD_HEADERS+= csetjmp 162STD_HEADERS+= csignal 163STD_HEADERS+= cstdarg 164STD_HEADERS+= cstdbool 165STD_HEADERS+= cstddef 166STD_HEADERS+= cstdint 167STD_HEADERS+= cstdio 168STD_HEADERS+= cstdlib 169STD_HEADERS+= cstring 170STD_HEADERS+= ctgmath 171STD_HEADERS+= ctime 172STD_HEADERS+= ctype.h 173STD_HEADERS+= cuchar 174STD_HEADERS+= cwchar 175STD_HEADERS+= cwctype 176STD_HEADERS+= deque 177STD_HEADERS+= errno.h 178STD_HEADERS+= exception 179STD_HEADERS+= execution 180STD_HEADERS+= expected 181STD_HEADERS+= fenv.h 182STD_HEADERS+= filesystem 183STD_HEADERS+= float.h 184STD_HEADERS+= format 185STD_HEADERS+= forward_list 186STD_HEADERS+= fstream 187STD_HEADERS+= functional 188STD_HEADERS+= future 189STD_HEADERS+= initializer_list 190STD_HEADERS+= inttypes.h 191STD_HEADERS+= iomanip 192STD_HEADERS+= ios 193STD_HEADERS+= iosfwd 194STD_HEADERS+= iostream 195STD_HEADERS+= istream 196STD_HEADERS+= iterator 197STD_HEADERS+= latch 198STD_HEADERS+= limits 199STD_HEADERS+= list 200STD_HEADERS+= locale 201STD_HEADERS+= locale.h 202STD_HEADERS+= map 203STD_HEADERS+= math.h 204STD_HEADERS+= mdspan 205STD_HEADERS+= memory 206STD_HEADERS+= memory_resource 207STD_HEADERS+= module.modulemap 208STD_HEADERS+= mutex 209STD_HEADERS+= new 210STD_HEADERS+= numbers 211STD_HEADERS+= numeric 212STD_HEADERS+= optional 213STD_HEADERS+= ostream 214STD_HEADERS+= print 215STD_HEADERS+= queue 216STD_HEADERS+= random 217STD_HEADERS+= ranges 218STD_HEADERS+= ratio 219STD_HEADERS+= regex 220STD_HEADERS+= scoped_allocator 221STD_HEADERS+= semaphore 222STD_HEADERS+= set 223STD_HEADERS+= shared_mutex 224STD_HEADERS+= source_location 225STD_HEADERS+= span 226STD_HEADERS+= sstream 227STD_HEADERS+= stack 228STD_HEADERS+= stdatomic.h 229STD_HEADERS+= stdbool.h 230STD_HEADERS+= stddef.h 231STD_HEADERS+= stdexcept 232STD_HEADERS+= stdint.h 233STD_HEADERS+= stdio.h 234STD_HEADERS+= stdlib.h 235STD_HEADERS+= stop_token 236STD_HEADERS+= streambuf 237STD_HEADERS+= string 238STD_HEADERS+= string.h 239STD_HEADERS+= string_view 240STD_HEADERS+= strstream 241STD_HEADERS+= syncstream 242STD_HEADERS+= system_error 243STD_HEADERS+= tgmath.h 244STD_HEADERS+= thread 245STD_HEADERS+= tuple 246STD_HEADERS+= type_traits 247STD_HEADERS+= typeindex 248STD_HEADERS+= typeinfo 249STD_HEADERS+= uchar.h 250STD_HEADERS+= unordered_map 251STD_HEADERS+= unordered_set 252STD_HEADERS+= utility 253STD_HEADERS+= valarray 254STD_HEADERS+= variant 255STD_HEADERS+= vector 256STD_HEADERS+= version 257STD_HEADERS+= wchar.h 258STD_HEADERS+= wctype.h 259.for hdr in ${STD_HEADERS} 260STD+= ${HDRDIR}/${hdr} 261.endfor 262 263# Generated by CMake as of libc++ 18. 264STD+= ${.CURDIR}/__assertion_handler 265 266# Generated by CMake as of libc++ 13. 267STD+= ${.CURDIR}/__config_site 268 269# Generated by CMake as of libc++ 19. 270STD_HEADERS+= ${.CURDIR}/libcxx.imp 271 272RT_HEADERS+= cxxabi.h 273.for hdr in ${RT_HEADERS} 274STD+= ${_LIBCXXRTDIR}/${hdr} 275.endfor 276 277INCSGROUPS+= ALG 278ALGDIR= ${CXXINCLUDEDIR}/__algorithm 279ALG_HEADERS+= adjacent_find.h 280ALG_HEADERS+= all_of.h 281ALG_HEADERS+= any_of.h 282ALG_HEADERS+= binary_search.h 283ALG_HEADERS+= clamp.h 284ALG_HEADERS+= comp.h 285ALG_HEADERS+= comp_ref_type.h 286ALG_HEADERS+= copy.h 287ALG_HEADERS+= copy_backward.h 288ALG_HEADERS+= copy_if.h 289ALG_HEADERS+= copy_move_common.h 290ALG_HEADERS+= copy_n.h 291ALG_HEADERS+= count.h 292ALG_HEADERS+= count_if.h 293ALG_HEADERS+= equal.h 294ALG_HEADERS+= equal_range.h 295ALG_HEADERS+= fill.h 296ALG_HEADERS+= fill_n.h 297ALG_HEADERS+= find.h 298ALG_HEADERS+= find_end.h 299ALG_HEADERS+= find_first_of.h 300ALG_HEADERS+= find_if.h 301ALG_HEADERS+= find_if_not.h 302ALG_HEADERS+= find_segment_if.h 303ALG_HEADERS+= fold.h 304ALG_HEADERS+= for_each.h 305ALG_HEADERS+= for_each_n.h 306ALG_HEADERS+= for_each_segment.h 307ALG_HEADERS+= generate.h 308ALG_HEADERS+= generate_n.h 309ALG_HEADERS+= half_positive.h 310ALG_HEADERS+= in_found_result.h 311ALG_HEADERS+= in_fun_result.h 312ALG_HEADERS+= in_in_out_result.h 313ALG_HEADERS+= in_in_result.h 314ALG_HEADERS+= in_out_out_result.h 315ALG_HEADERS+= in_out_result.h 316ALG_HEADERS+= includes.h 317ALG_HEADERS+= inplace_merge.h 318ALG_HEADERS+= is_heap.h 319ALG_HEADERS+= is_heap_until.h 320ALG_HEADERS+= is_partitioned.h 321ALG_HEADERS+= is_permutation.h 322ALG_HEADERS+= is_sorted.h 323ALG_HEADERS+= is_sorted_until.h 324ALG_HEADERS+= iter_swap.h 325ALG_HEADERS+= iterator_operations.h 326ALG_HEADERS+= lexicographical_compare.h 327ALG_HEADERS+= lexicographical_compare_three_way.h 328ALG_HEADERS+= lower_bound.h 329ALG_HEADERS+= make_heap.h 330ALG_HEADERS+= make_projected.h 331ALG_HEADERS+= max.h 332ALG_HEADERS+= max_element.h 333ALG_HEADERS+= merge.h 334ALG_HEADERS+= min.h 335ALG_HEADERS+= min_element.h 336ALG_HEADERS+= min_max_result.h 337ALG_HEADERS+= minmax.h 338ALG_HEADERS+= minmax_element.h 339ALG_HEADERS+= mismatch.h 340ALG_HEADERS+= move.h 341ALG_HEADERS+= move_backward.h 342ALG_HEADERS+= next_permutation.h 343ALG_HEADERS+= none_of.h 344ALG_HEADERS+= nth_element.h 345ALG_HEADERS+= partial_sort.h 346ALG_HEADERS+= partial_sort_copy.h 347ALG_HEADERS+= partition.h 348ALG_HEADERS+= partition_copy.h 349ALG_HEADERS+= partition_point.h 350ALG_HEADERS+= pop_heap.h 351ALG_HEADERS+= prev_permutation.h 352ALG_HEADERS+= pstl.h 353ALG_HEADERS+= push_heap.h 354ALG_HEADERS+= ranges_adjacent_find.h 355ALG_HEADERS+= ranges_all_of.h 356ALG_HEADERS+= ranges_any_of.h 357ALG_HEADERS+= ranges_binary_search.h 358ALG_HEADERS+= ranges_clamp.h 359ALG_HEADERS+= ranges_contains.h 360ALG_HEADERS+= ranges_contains_subrange.h 361ALG_HEADERS+= ranges_copy.h 362ALG_HEADERS+= ranges_copy_backward.h 363ALG_HEADERS+= ranges_copy_if.h 364ALG_HEADERS+= ranges_copy_n.h 365ALG_HEADERS+= ranges_count.h 366ALG_HEADERS+= ranges_count_if.h 367ALG_HEADERS+= ranges_ends_with.h 368ALG_HEADERS+= ranges_equal.h 369ALG_HEADERS+= ranges_equal_range.h 370ALG_HEADERS+= ranges_fill.h 371ALG_HEADERS+= ranges_fill_n.h 372ALG_HEADERS+= ranges_find.h 373ALG_HEADERS+= ranges_find_end.h 374ALG_HEADERS+= ranges_find_first_of.h 375ALG_HEADERS+= ranges_find_if.h 376ALG_HEADERS+= ranges_find_if_not.h 377ALG_HEADERS+= ranges_find_last.h 378ALG_HEADERS+= ranges_for_each.h 379ALG_HEADERS+= ranges_for_each_n.h 380ALG_HEADERS+= ranges_generate.h 381ALG_HEADERS+= ranges_generate_n.h 382ALG_HEADERS+= ranges_includes.h 383ALG_HEADERS+= ranges_inplace_merge.h 384ALG_HEADERS+= ranges_is_heap.h 385ALG_HEADERS+= ranges_is_heap_until.h 386ALG_HEADERS+= ranges_is_partitioned.h 387ALG_HEADERS+= ranges_is_permutation.h 388ALG_HEADERS+= ranges_is_sorted.h 389ALG_HEADERS+= ranges_is_sorted_until.h 390ALG_HEADERS+= ranges_iterator_concept.h 391ALG_HEADERS+= ranges_lexicographical_compare.h 392ALG_HEADERS+= ranges_lower_bound.h 393ALG_HEADERS+= ranges_make_heap.h 394ALG_HEADERS+= ranges_max.h 395ALG_HEADERS+= ranges_max_element.h 396ALG_HEADERS+= ranges_merge.h 397ALG_HEADERS+= ranges_min.h 398ALG_HEADERS+= ranges_min_element.h 399ALG_HEADERS+= ranges_minmax.h 400ALG_HEADERS+= ranges_minmax_element.h 401ALG_HEADERS+= ranges_mismatch.h 402ALG_HEADERS+= ranges_move.h 403ALG_HEADERS+= ranges_move_backward.h 404ALG_HEADERS+= ranges_next_permutation.h 405ALG_HEADERS+= ranges_none_of.h 406ALG_HEADERS+= ranges_nth_element.h 407ALG_HEADERS+= ranges_partial_sort.h 408ALG_HEADERS+= ranges_partial_sort_copy.h 409ALG_HEADERS+= ranges_partition.h 410ALG_HEADERS+= ranges_partition_copy.h 411ALG_HEADERS+= ranges_partition_point.h 412ALG_HEADERS+= ranges_pop_heap.h 413ALG_HEADERS+= ranges_prev_permutation.h 414ALG_HEADERS+= ranges_push_heap.h 415ALG_HEADERS+= ranges_remove.h 416ALG_HEADERS+= ranges_remove_copy.h 417ALG_HEADERS+= ranges_remove_copy_if.h 418ALG_HEADERS+= ranges_remove_if.h 419ALG_HEADERS+= ranges_replace.h 420ALG_HEADERS+= ranges_replace_copy.h 421ALG_HEADERS+= ranges_replace_copy_if.h 422ALG_HEADERS+= ranges_replace_if.h 423ALG_HEADERS+= ranges_reverse.h 424ALG_HEADERS+= ranges_reverse_copy.h 425ALG_HEADERS+= ranges_rotate.h 426ALG_HEADERS+= ranges_rotate_copy.h 427ALG_HEADERS+= ranges_sample.h 428ALG_HEADERS+= ranges_search.h 429ALG_HEADERS+= ranges_search_n.h 430ALG_HEADERS+= ranges_set_difference.h 431ALG_HEADERS+= ranges_set_intersection.h 432ALG_HEADERS+= ranges_set_symmetric_difference.h 433ALG_HEADERS+= ranges_set_union.h 434ALG_HEADERS+= ranges_shuffle.h 435ALG_HEADERS+= ranges_sort.h 436ALG_HEADERS+= ranges_sort_heap.h 437ALG_HEADERS+= ranges_stable_partition.h 438ALG_HEADERS+= ranges_stable_sort.h 439ALG_HEADERS+= ranges_starts_with.h 440ALG_HEADERS+= ranges_swap_ranges.h 441ALG_HEADERS+= ranges_transform.h 442ALG_HEADERS+= ranges_unique.h 443ALG_HEADERS+= ranges_unique_copy.h 444ALG_HEADERS+= ranges_upper_bound.h 445ALG_HEADERS+= remove.h 446ALG_HEADERS+= remove_copy.h 447ALG_HEADERS+= remove_copy_if.h 448ALG_HEADERS+= remove_if.h 449ALG_HEADERS+= replace.h 450ALG_HEADERS+= replace_copy.h 451ALG_HEADERS+= replace_copy_if.h 452ALG_HEADERS+= replace_if.h 453ALG_HEADERS+= reverse.h 454ALG_HEADERS+= reverse_copy.h 455ALG_HEADERS+= rotate.h 456ALG_HEADERS+= rotate_copy.h 457ALG_HEADERS+= sample.h 458ALG_HEADERS+= search.h 459ALG_HEADERS+= search_n.h 460ALG_HEADERS+= set_difference.h 461ALG_HEADERS+= set_intersection.h 462ALG_HEADERS+= set_symmetric_difference.h 463ALG_HEADERS+= set_union.h 464ALG_HEADERS+= shift_left.h 465ALG_HEADERS+= shift_right.h 466ALG_HEADERS+= shuffle.h 467ALG_HEADERS+= sift_down.h 468ALG_HEADERS+= simd_utils.h 469ALG_HEADERS+= sort.h 470ALG_HEADERS+= sort_heap.h 471ALG_HEADERS+= stable_partition.h 472ALG_HEADERS+= stable_sort.h 473ALG_HEADERS+= swap_ranges.h 474ALG_HEADERS+= three_way_comp_ref_type.h 475ALG_HEADERS+= transform.h 476ALG_HEADERS+= uniform_random_bit_generator_adaptor.h 477ALG_HEADERS+= unique.h 478ALG_HEADERS+= unique_copy.h 479ALG_HEADERS+= unwrap_iter.h 480ALG_HEADERS+= unwrap_range.h 481ALG_HEADERS+= upper_bound.h 482.for hdr in ${ALG_HEADERS} 483ALG+= ${HDRDIR}/__algorithm/${hdr} 484.endfor 485 486INCSGROUPS+= ATM 487ATMDIR= ${CXXINCLUDEDIR}/__atomic 488ATM_HEADERS+= aliases.h 489ATM_HEADERS+= atomic.h 490ATM_HEADERS+= atomic_base.h 491ATM_HEADERS+= atomic_flag.h 492ATM_HEADERS+= atomic_init.h 493ATM_HEADERS+= atomic_lock_free.h 494ATM_HEADERS+= atomic_ref.h 495ATM_HEADERS+= atomic_sync.h 496ATM_HEADERS+= check_memory_order.h 497ATM_HEADERS+= contention_t.h 498ATM_HEADERS+= cxx_atomic_impl.h 499ATM_HEADERS+= fence.h 500ATM_HEADERS+= is_always_lock_free.h 501ATM_HEADERS+= kill_dependency.h 502ATM_HEADERS+= memory_order.h 503ATM_HEADERS+= to_gcc_order.h 504.for hdr in ${ATM_HEADERS} 505ATM+= ${HDRDIR}/__atomic/${hdr} 506.endfor 507 508INCSGROUPS+= BIT 509BITDIR= ${CXXINCLUDEDIR}/__bit 510BIT_HEADERS+= bit_cast.h 511BIT_HEADERS+= bit_ceil.h 512BIT_HEADERS+= bit_floor.h 513BIT_HEADERS+= bit_log2.h 514BIT_HEADERS+= bit_width.h 515BIT_HEADERS+= blsr.h 516BIT_HEADERS+= byteswap.h 517BIT_HEADERS+= countl.h 518BIT_HEADERS+= countr.h 519BIT_HEADERS+= endian.h 520BIT_HEADERS+= has_single_bit.h 521BIT_HEADERS+= invert_if.h 522BIT_HEADERS+= popcount.h 523BIT_HEADERS+= rotate.h 524.for hdr in ${BIT_HEADERS} 525BIT+= ${HDRDIR}/__bit/${hdr} 526.endfor 527 528INCSGROUPS+= CHC 529CHCDIR= ${CXXINCLUDEDIR}/__charconv 530CHC_HEADERS+= chars_format.h 531CHC_HEADERS+= from_chars_integral.h 532CHC_HEADERS+= from_chars_result.h 533CHC_HEADERS+= tables.h 534CHC_HEADERS+= to_chars.h 535CHC_HEADERS+= to_chars_base_10.h 536CHC_HEADERS+= to_chars_floating_point.h 537CHC_HEADERS+= to_chars_integral.h 538CHC_HEADERS+= to_chars_result.h 539CHC_HEADERS+= traits.h 540.for hdr in ${CHC_HEADERS} 541CHC+= ${HDRDIR}/__charconv/${hdr} 542.endfor 543 544INCSGROUPS+= CHR 545CHRDIR= ${CXXINCLUDEDIR}/__chrono 546CHR_HEADERS+= calendar.h 547CHR_HEADERS+= concepts.h 548CHR_HEADERS+= convert_to_timespec.h 549CHR_HEADERS+= convert_to_tm.h 550CHR_HEADERS+= day.h 551CHR_HEADERS+= duration.h 552CHR_HEADERS+= exception.h 553CHR_HEADERS+= file_clock.h 554CHR_HEADERS+= formatter.h 555CHR_HEADERS+= hh_mm_ss.h 556CHR_HEADERS+= high_resolution_clock.h 557CHR_HEADERS+= leap_second.h 558CHR_HEADERS+= literals.h 559CHR_HEADERS+= local_info.h 560CHR_HEADERS+= month.h 561CHR_HEADERS+= month_weekday.h 562CHR_HEADERS+= monthday.h 563CHR_HEADERS+= ostream.h 564CHR_HEADERS+= parser_std_format_spec.h 565CHR_HEADERS+= statically_widen.h 566CHR_HEADERS+= steady_clock.h 567CHR_HEADERS+= sys_info.h 568CHR_HEADERS+= system_clock.h 569CHR_HEADERS+= time_point.h 570CHR_HEADERS+= time_zone.h 571CHR_HEADERS+= time_zone_link.h 572CHR_HEADERS+= tzdb.h 573CHR_HEADERS+= tzdb_list.h 574CHR_HEADERS+= weekday.h 575CHR_HEADERS+= year.h 576CHR_HEADERS+= year_month.h 577CHR_HEADERS+= year_month_day.h 578CHR_HEADERS+= year_month_weekday.h 579CHR_HEADERS+= zoned_time.h 580.for hdr in ${CHR_HEADERS} 581CHR+= ${HDRDIR}/__chrono/${hdr} 582.endfor 583 584INCSGROUPS+= CMP 585CMPDIR= ${CXXINCLUDEDIR}/__compare 586CMP_HEADERS+= common_comparison_category.h 587CMP_HEADERS+= compare_partial_order_fallback.h 588CMP_HEADERS+= compare_strong_order_fallback.h 589CMP_HEADERS+= compare_three_way.h 590CMP_HEADERS+= compare_three_way_result.h 591CMP_HEADERS+= compare_weak_order_fallback.h 592CMP_HEADERS+= is_eq.h 593CMP_HEADERS+= ordering.h 594CMP_HEADERS+= partial_order.h 595CMP_HEADERS+= strong_order.h 596CMP_HEADERS+= synth_three_way.h 597CMP_HEADERS+= three_way_comparable.h 598CMP_HEADERS+= weak_order.h 599.for hdr in ${CMP_HEADERS} 600CMP+= ${HDRDIR}/__compare/${hdr} 601.endfor 602 603INCSGROUPS+= CON 604CONDIR= ${CXXINCLUDEDIR}/__concepts 605CON_HEADERS+= arithmetic.h 606CON_HEADERS+= assignable.h 607CON_HEADERS+= boolean_testable.h 608CON_HEADERS+= class_or_enum.h 609CON_HEADERS+= common_reference_with.h 610CON_HEADERS+= common_with.h 611CON_HEADERS+= constructible.h 612CON_HEADERS+= convertible_to.h 613CON_HEADERS+= copyable.h 614CON_HEADERS+= derived_from.h 615CON_HEADERS+= destructible.h 616CON_HEADERS+= different_from.h 617CON_HEADERS+= equality_comparable.h 618CON_HEADERS+= invocable.h 619CON_HEADERS+= movable.h 620CON_HEADERS+= predicate.h 621CON_HEADERS+= regular.h 622CON_HEADERS+= relation.h 623CON_HEADERS+= same_as.h 624CON_HEADERS+= semiregular.h 625CON_HEADERS+= swappable.h 626CON_HEADERS+= totally_ordered.h 627.for hdr in ${CON_HEADERS} 628CON+= ${HDRDIR}/__concepts/${hdr} 629.endfor 630 631INCSGROUPS+= CND 632CNDDIR= ${CXXINCLUDEDIR}/__condition_variable 633CND_HEADERS+= condition_variable.h 634.for hdr in ${CND_HEADERS} 635CND+= ${HDRDIR}/__condition_variable/${hdr} 636.endfor 637 638INCSGROUPS+= CNF 639CNFDIR= ${CXXINCLUDEDIR}/__configuration 640CNF_HEADERS+= abi.h 641CNF_HEADERS+= availability.h 642CNF_HEADERS+= compiler.h 643CNF_HEADERS+= language.h 644CNF_HEADERS+= platform.h 645.for hdr in ${CNF_HEADERS} 646CNF+= ${HDRDIR}/__configuration/${hdr} 647.endfor 648 649INCSGROUPS+= COR 650CORDIR= ${CXXINCLUDEDIR}/__coroutine 651COR_HEADERS+= coroutine_handle.h 652COR_HEADERS+= coroutine_traits.h 653COR_HEADERS+= noop_coroutine_handle.h 654COR_HEADERS+= trivial_awaitables.h 655.for hdr in ${COR_HEADERS} 656COR+= ${HDRDIR}/__coroutine/${hdr} 657.endfor 658 659INCSGROUPS+= DBG 660DBGDIR= ${CXXINCLUDEDIR}/__debug_utils 661DBG_HEADERS+= randomize_range.h 662DBG_HEADERS+= sanitizers.h 663DBG_HEADERS+= strict_weak_ordering_check.h 664.for hdr in ${DBG_HEADERS} 665DBG+= ${HDRDIR}/__debug_utils/${hdr} 666.endfor 667 668INCSGROUPS+= EXC 669EXCDIR= ${CXXINCLUDEDIR}/__exception 670EXC_HEADERS+= exception.h 671EXC_HEADERS+= exception_ptr.h 672EXC_HEADERS+= nested_exception.h 673EXC_HEADERS+= operations.h 674EXC_HEADERS+= terminate.h 675.for hdr in ${EXC_HEADERS} 676EXC+= ${HDRDIR}/__exception/${hdr} 677.endfor 678 679INCSGROUPS+= EXD 680EXDDIR= ${CXXINCLUDEDIR}/__expected 681EXD_HEADERS+= bad_expected_access.h 682EXD_HEADERS+= expected.h 683EXD_HEADERS+= unexpect.h 684EXD_HEADERS+= unexpected.h 685.for hdr in ${EXD_HEADERS} 686EXD+= ${HDRDIR}/__expected/${hdr} 687.endfor 688 689INCSGROUPS+= FS 690FSDIR= ${CXXINCLUDEDIR}/__filesystem 691FS_HEADERS+= copy_options.h 692FS_HEADERS+= directory_entry.h 693FS_HEADERS+= directory_iterator.h 694FS_HEADERS+= directory_options.h 695FS_HEADERS+= file_status.h 696FS_HEADERS+= file_time_type.h 697FS_HEADERS+= file_type.h 698FS_HEADERS+= filesystem_error.h 699FS_HEADERS+= operations.h 700FS_HEADERS+= path.h 701FS_HEADERS+= path_iterator.h 702FS_HEADERS+= perm_options.h 703FS_HEADERS+= perms.h 704FS_HEADERS+= recursive_directory_iterator.h 705FS_HEADERS+= space_info.h 706FS_HEADERS+= u8path.h 707.for hdr in ${FS_HEADERS} 708FS+= ${HDRDIR}/__filesystem/${hdr} 709.endfor 710 711INCSGROUPS+= FMT 712FMTDIR= ${CXXINCLUDEDIR}/__format 713FMT_HEADERS+= buffer.h 714FMT_HEADERS+= concepts.h 715FMT_HEADERS+= container_adaptor.h 716FMT_HEADERS+= enable_insertable.h 717FMT_HEADERS+= escaped_output_table.h 718FMT_HEADERS+= extended_grapheme_cluster_table.h 719FMT_HEADERS+= format_arg.h 720FMT_HEADERS+= format_arg_store.h 721FMT_HEADERS+= format_args.h 722FMT_HEADERS+= format_context.h 723FMT_HEADERS+= format_error.h 724FMT_HEADERS+= format_functions.h 725FMT_HEADERS+= format_parse_context.h 726FMT_HEADERS+= format_string.h 727FMT_HEADERS+= format_to_n_result.h 728FMT_HEADERS+= formatter.h 729FMT_HEADERS+= formatter_bool.h 730FMT_HEADERS+= formatter_char.h 731FMT_HEADERS+= formatter_floating_point.h 732FMT_HEADERS+= formatter_integer.h 733FMT_HEADERS+= formatter_integral.h 734FMT_HEADERS+= formatter_output.h 735FMT_HEADERS+= formatter_pointer.h 736FMT_HEADERS+= formatter_string.h 737FMT_HEADERS+= formatter_tuple.h 738FMT_HEADERS+= indic_conjunct_break_table.h 739FMT_HEADERS+= parser_std_format_spec.h 740FMT_HEADERS+= range_default_formatter.h 741FMT_HEADERS+= range_formatter.h 742FMT_HEADERS+= unicode.h 743FMT_HEADERS+= width_estimation_table.h 744FMT_HEADERS+= write_escaped.h 745.for hdr in ${FMT_HEADERS} 746FMT+= ${HDRDIR}/__format/${hdr} 747.endfor 748 749INCSGROUPS+= FUN 750FUNDIR= ${CXXINCLUDEDIR}/__functional 751FUN_HEADERS+= binary_function.h 752FUN_HEADERS+= binary_negate.h 753FUN_HEADERS+= bind.h 754FUN_HEADERS+= bind_back.h 755FUN_HEADERS+= bind_front.h 756FUN_HEADERS+= binder1st.h 757FUN_HEADERS+= binder2nd.h 758FUN_HEADERS+= boyer_moore_searcher.h 759FUN_HEADERS+= compose.h 760FUN_HEADERS+= default_searcher.h 761FUN_HEADERS+= function.h 762FUN_HEADERS+= hash.h 763FUN_HEADERS+= identity.h 764FUN_HEADERS+= invoke.h 765FUN_HEADERS+= is_transparent.h 766FUN_HEADERS+= mem_fn.h 767FUN_HEADERS+= mem_fun_ref.h 768FUN_HEADERS+= not_fn.h 769FUN_HEADERS+= operations.h 770FUN_HEADERS+= perfect_forward.h 771FUN_HEADERS+= pointer_to_binary_function.h 772FUN_HEADERS+= pointer_to_unary_function.h 773FUN_HEADERS+= ranges_operations.h 774FUN_HEADERS+= reference_wrapper.h 775FUN_HEADERS+= unary_function.h 776FUN_HEADERS+= unary_negate.h 777FUN_HEADERS+= weak_result_type.h 778.for hdr in ${FUN_HEADERS} 779FUN+= ${HDRDIR}/__functional/${hdr} 780.endfor 781 782INCSGROUPS+= FWD 783FWDDIR= ${CXXINCLUDEDIR}/__fwd 784FWD_HEADERS+= array.h 785FWD_HEADERS+= bit_reference.h 786FWD_HEADERS+= complex.h 787FWD_HEADERS+= deque.h 788FWD_HEADERS+= format.h 789FWD_HEADERS+= fstream.h 790FWD_HEADERS+= functional.h 791FWD_HEADERS+= ios.h 792FWD_HEADERS+= istream.h 793FWD_HEADERS+= mdspan.h 794FWD_HEADERS+= memory.h 795FWD_HEADERS+= memory_resource.h 796FWD_HEADERS+= ostream.h 797FWD_HEADERS+= pair.h 798FWD_HEADERS+= queue.h 799FWD_HEADERS+= span.h 800FWD_HEADERS+= sstream.h 801FWD_HEADERS+= stack.h 802FWD_HEADERS+= streambuf.h 803FWD_HEADERS+= string.h 804FWD_HEADERS+= string_view.h 805FWD_HEADERS+= subrange.h 806FWD_HEADERS+= tuple.h 807FWD_HEADERS+= vector.h 808.for hdr in ${FWD_HEADERS} 809FWD+= ${HDRDIR}/__fwd/${hdr} 810.endfor 811 812INCSGROUPS+= IOS 813IOSDIR= ${CXXINCLUDEDIR}/__ios 814IOS_HEADERS+= fpos.h 815.for hdr in ${IOS_HEADERS} 816IOS+= ${HDRDIR}/__ios/${hdr} 817.endfor 818 819INCSGROUPS+= IT 820ITDIR= ${CXXINCLUDEDIR}/__iterator 821IT_HEADERS+= access.h 822IT_HEADERS+= advance.h 823IT_HEADERS+= aliasing_iterator.h 824IT_HEADERS+= back_insert_iterator.h 825IT_HEADERS+= bounded_iter.h 826IT_HEADERS+= common_iterator.h 827IT_HEADERS+= concepts.h 828IT_HEADERS+= counted_iterator.h 829IT_HEADERS+= cpp17_iterator_concepts.h 830IT_HEADERS+= data.h 831IT_HEADERS+= default_sentinel.h 832IT_HEADERS+= distance.h 833IT_HEADERS+= empty.h 834IT_HEADERS+= erase_if_container.h 835IT_HEADERS+= front_insert_iterator.h 836IT_HEADERS+= incrementable_traits.h 837IT_HEADERS+= indirectly_comparable.h 838IT_HEADERS+= insert_iterator.h 839IT_HEADERS+= istream_iterator.h 840IT_HEADERS+= istreambuf_iterator.h 841IT_HEADERS+= iter_move.h 842IT_HEADERS+= iter_swap.h 843IT_HEADERS+= iterator.h 844IT_HEADERS+= iterator_traits.h 845IT_HEADERS+= iterator_with_data.h 846IT_HEADERS+= mergeable.h 847IT_HEADERS+= move_iterator.h 848IT_HEADERS+= move_sentinel.h 849IT_HEADERS+= next.h 850IT_HEADERS+= ostream_iterator.h 851IT_HEADERS+= ostreambuf_iterator.h 852IT_HEADERS+= permutable.h 853IT_HEADERS+= prev.h 854IT_HEADERS+= projected.h 855IT_HEADERS+= ranges_iterator_traits.h 856IT_HEADERS+= readable_traits.h 857IT_HEADERS+= reverse_access.h 858IT_HEADERS+= reverse_iterator.h 859IT_HEADERS+= segmented_iterator.h 860IT_HEADERS+= size.h 861IT_HEADERS+= sortable.h 862IT_HEADERS+= unreachable_sentinel.h 863IT_HEADERS+= wrap_iter.h 864.for hdr in ${IT_HEADERS} 865IT+= ${HDRDIR}/__iterator/${hdr} 866.endfor 867 868INCSGROUPS+= LOC 869LOCDIR= ${CXXINCLUDEDIR}/__locale_dir 870LOC_HEADERS+= locale_base_api.h 871.for hdr in ${LOC_HEADERS} 872LOC+= ${HDRDIR}/__locale_dir/${hdr} 873.endfor 874 875INCSGROUPS+= LBA 876LBADIR= ${CXXINCLUDEDIR}/__locale_dir/locale_base_api 877LBA_HEADERS+= bsd_locale_defaults.h 878LBA_HEADERS+= bsd_locale_fallbacks.h 879LBA_HEADERS+= locale_guard.h 880.for hdr in ${LBA_HEADERS} 881LBA+= ${HDRDIR}/__locale_dir/locale_base_api/${hdr} 882.endfor 883 884INCSGROUPS+= MAT 885MATDIR= ${CXXINCLUDEDIR}/__math 886MAT_HEADERS+= abs.h 887MAT_HEADERS+= copysign.h 888MAT_HEADERS+= error_functions.h 889MAT_HEADERS+= exponential_functions.h 890MAT_HEADERS+= fdim.h 891MAT_HEADERS+= fma.h 892MAT_HEADERS+= gamma.h 893MAT_HEADERS+= hyperbolic_functions.h 894MAT_HEADERS+= hypot.h 895MAT_HEADERS+= inverse_hyperbolic_functions.h 896MAT_HEADERS+= inverse_trigonometric_functions.h 897MAT_HEADERS+= logarithms.h 898MAT_HEADERS+= min_max.h 899MAT_HEADERS+= modulo.h 900MAT_HEADERS+= remainder.h 901MAT_HEADERS+= roots.h 902MAT_HEADERS+= rounding_functions.h 903MAT_HEADERS+= special_functions.h 904MAT_HEADERS+= traits.h 905MAT_HEADERS+= trigonometric_functions.h 906.for hdr in ${MAT_HEADERS} 907MAT+= ${HDRDIR}/__math/${hdr} 908.endfor 909 910INCSGROUPS+= MDS 911MDSDIR= ${CXXINCLUDEDIR}/__mdspan 912MDS_HEADERS+= default_accessor.h 913MDS_HEADERS+= extents.h 914MDS_HEADERS+= layout_left.h 915MDS_HEADERS+= layout_right.h 916MDS_HEADERS+= layout_stride.h 917MDS_HEADERS+= mdspan.h 918.for hdr in ${MDS_HEADERS} 919MDS+= ${HDRDIR}/__mdspan/${hdr} 920.endfor 921 922INCSGROUPS+= MEM 923MEMDIR= ${CXXINCLUDEDIR}/__memory 924MEM_HEADERS+= addressof.h 925MEM_HEADERS+= align.h 926MEM_HEADERS+= aligned_alloc.h 927MEM_HEADERS+= allocate_at_least.h 928MEM_HEADERS+= allocation_guard.h 929MEM_HEADERS+= allocator.h 930MEM_HEADERS+= allocator_arg_t.h 931MEM_HEADERS+= allocator_destructor.h 932MEM_HEADERS+= allocator_traits.h 933MEM_HEADERS+= assume_aligned.h 934MEM_HEADERS+= auto_ptr.h 935MEM_HEADERS+= builtin_new_allocator.h 936MEM_HEADERS+= compressed_pair.h 937MEM_HEADERS+= concepts.h 938MEM_HEADERS+= construct_at.h 939MEM_HEADERS+= destruct_n.h 940MEM_HEADERS+= inout_ptr.h 941MEM_HEADERS+= out_ptr.h 942MEM_HEADERS+= pointer_traits.h 943MEM_HEADERS+= ranges_construct_at.h 944MEM_HEADERS+= ranges_uninitialized_algorithms.h 945MEM_HEADERS+= raw_storage_iterator.h 946MEM_HEADERS+= shared_ptr.h 947MEM_HEADERS+= swap_allocator.h 948MEM_HEADERS+= temp_value.h 949MEM_HEADERS+= temporary_buffer.h 950MEM_HEADERS+= uninitialized_algorithms.h 951MEM_HEADERS+= unique_ptr.h 952MEM_HEADERS+= uses_allocator.h 953MEM_HEADERS+= uses_allocator_construction.h 954MEM_HEADERS+= voidify.h 955.for hdr in ${MEM_HEADERS} 956MEM+= ${HDRDIR}/__memory/${hdr} 957.endfor 958 959INCSGROUPS+= MER 960MERDIR= ${CXXINCLUDEDIR}/__memory_resource 961MER_HEADERS+= memory_resource.h 962MER_HEADERS+= monotonic_buffer_resource.h 963MER_HEADERS+= polymorphic_allocator.h 964MER_HEADERS+= pool_options.h 965MER_HEADERS+= synchronized_pool_resource.h 966MER_HEADERS+= unsynchronized_pool_resource.h 967.for hdr in ${MER_HEADERS} 968MER+= ${HDRDIR}/__memory_resource/${hdr} 969.endfor 970 971INCSGROUPS+= MUT 972MUTDIR= ${CXXINCLUDEDIR}/__mutex 973MUT_HEADERS+= lock_guard.h 974MUT_HEADERS+= mutex.h 975MUT_HEADERS+= once_flag.h 976MUT_HEADERS+= tag_types.h 977MUT_HEADERS+= unique_lock.h 978.for hdr in ${MUT_HEADERS} 979MUT+= ${HDRDIR}/__mutex/${hdr} 980.endfor 981 982INCSGROUPS+= NUM 983NUMDIR= ${CXXINCLUDEDIR}/__numeric 984NUM_HEADERS+= accumulate.h 985NUM_HEADERS+= adjacent_difference.h 986NUM_HEADERS+= exclusive_scan.h 987NUM_HEADERS+= gcd_lcm.h 988NUM_HEADERS+= inclusive_scan.h 989NUM_HEADERS+= inner_product.h 990NUM_HEADERS+= iota.h 991NUM_HEADERS+= midpoint.h 992NUM_HEADERS+= partial_sum.h 993NUM_HEADERS+= pstl.h 994NUM_HEADERS+= reduce.h 995NUM_HEADERS+= saturation_arithmetic.h 996NUM_HEADERS+= transform_exclusive_scan.h 997NUM_HEADERS+= transform_inclusive_scan.h 998NUM_HEADERS+= transform_reduce.h 999.for hdr in ${NUM_HEADERS} 1000NUM+= ${HDRDIR}/__numeric/${hdr} 1001.endfor 1002 1003INCSGROUPS+= OST 1004OSTDIR= ${CXXINCLUDEDIR}/__ostream 1005OST_HEADERS+= basic_ostream.h 1006OST_HEADERS+= print.h 1007.for hdr in ${OST_HEADERS} 1008OST+= ${HDRDIR}/__ostream/${hdr} 1009.endfor 1010 1011INCSGROUPS+= PST 1012PSTDIR= ${CXXINCLUDEDIR}/__pstl 1013PST_HEADERS+= backend.h 1014PST_HEADERS+= backend_fwd.h 1015PST_HEADERS+= dispatch.h 1016PST_HEADERS+= handle_exception.h 1017.for hdr in ${PST_HEADERS} 1018PST+= ${HDRDIR}/__pstl/${hdr} 1019.endfor 1020 1021INCSGROUPS+= PSB 1022PSBDIR= ${CXXINCLUDEDIR}/__pstl/backends 1023PSB_HEADERS+= default.h 1024PSB_HEADERS+= libdispatch.h 1025PSB_HEADERS+= serial.h 1026PSB_HEADERS+= std_thread.h 1027.for hdr in ${PSB_HEADERS} 1028PSB+= ${HDRDIR}/__pstl/backends/${hdr} 1029.endfor 1030 1031INCSGROUPS+= PSC 1032PSCDIR= ${CXXINCLUDEDIR}/__pstl/cpu_algos 1033PSC_HEADERS+= any_of.h 1034PSC_HEADERS+= cpu_traits.h 1035PSC_HEADERS+= fill.h 1036PSC_HEADERS+= find_if.h 1037PSC_HEADERS+= for_each.h 1038PSC_HEADERS+= merge.h 1039PSC_HEADERS+= stable_sort.h 1040PSC_HEADERS+= transform.h 1041PSC_HEADERS+= transform_reduce.h 1042.for hdr in ${PSC_HEADERS} 1043PSC+= ${HDRDIR}/__pstl/cpu_algos/${hdr} 1044.endfor 1045 1046INCSGROUPS+= RND 1047RNDDIR= ${CXXINCLUDEDIR}/__random 1048RND_HEADERS+= bernoulli_distribution.h 1049RND_HEADERS+= binomial_distribution.h 1050RND_HEADERS+= cauchy_distribution.h 1051RND_HEADERS+= chi_squared_distribution.h 1052RND_HEADERS+= clamp_to_integral.h 1053RND_HEADERS+= default_random_engine.h 1054RND_HEADERS+= discard_block_engine.h 1055RND_HEADERS+= discrete_distribution.h 1056RND_HEADERS+= exponential_distribution.h 1057RND_HEADERS+= extreme_value_distribution.h 1058RND_HEADERS+= fisher_f_distribution.h 1059RND_HEADERS+= gamma_distribution.h 1060RND_HEADERS+= generate_canonical.h 1061RND_HEADERS+= geometric_distribution.h 1062RND_HEADERS+= independent_bits_engine.h 1063RND_HEADERS+= is_seed_sequence.h 1064RND_HEADERS+= is_valid.h 1065RND_HEADERS+= knuth_b.h 1066RND_HEADERS+= linear_congruential_engine.h 1067RND_HEADERS+= log2.h 1068RND_HEADERS+= lognormal_distribution.h 1069RND_HEADERS+= mersenne_twister_engine.h 1070RND_HEADERS+= negative_binomial_distribution.h 1071RND_HEADERS+= normal_distribution.h 1072RND_HEADERS+= piecewise_constant_distribution.h 1073RND_HEADERS+= piecewise_linear_distribution.h 1074RND_HEADERS+= poisson_distribution.h 1075RND_HEADERS+= random_device.h 1076RND_HEADERS+= ranlux.h 1077RND_HEADERS+= seed_seq.h 1078RND_HEADERS+= shuffle_order_engine.h 1079RND_HEADERS+= student_t_distribution.h 1080RND_HEADERS+= subtract_with_carry_engine.h 1081RND_HEADERS+= uniform_int_distribution.h 1082RND_HEADERS+= uniform_random_bit_generator.h 1083RND_HEADERS+= uniform_real_distribution.h 1084RND_HEADERS+= weibull_distribution.h 1085.for hdr in ${RND_HEADERS} 1086RND+= ${HDRDIR}/__random/${hdr} 1087.endfor 1088 1089INCSGROUPS+= RNG 1090RNGDIR= ${CXXINCLUDEDIR}/__ranges 1091RNG_HEADERS+= access.h 1092RNG_HEADERS+= all.h 1093RNG_HEADERS+= as_rvalue_view.h 1094RNG_HEADERS+= chunk_by_view.h 1095RNG_HEADERS+= common_view.h 1096RNG_HEADERS+= concepts.h 1097RNG_HEADERS+= container_compatible_range.h 1098RNG_HEADERS+= counted.h 1099RNG_HEADERS+= dangling.h 1100RNG_HEADERS+= data.h 1101RNG_HEADERS+= drop_view.h 1102RNG_HEADERS+= drop_while_view.h 1103RNG_HEADERS+= elements_view.h 1104RNG_HEADERS+= empty.h 1105RNG_HEADERS+= empty_view.h 1106RNG_HEADERS+= enable_borrowed_range.h 1107RNG_HEADERS+= enable_view.h 1108RNG_HEADERS+= filter_view.h 1109RNG_HEADERS+= from_range.h 1110RNG_HEADERS+= iota_view.h 1111RNG_HEADERS+= istream_view.h 1112RNG_HEADERS+= join_view.h 1113RNG_HEADERS+= lazy_split_view.h 1114RNG_HEADERS+= movable_box.h 1115RNG_HEADERS+= non_propagating_cache.h 1116RNG_HEADERS+= owning_view.h 1117RNG_HEADERS+= range_adaptor.h 1118RNG_HEADERS+= rbegin.h 1119RNG_HEADERS+= ref_view.h 1120RNG_HEADERS+= rend.h 1121RNG_HEADERS+= repeat_view.h 1122RNG_HEADERS+= reverse_view.h 1123RNG_HEADERS+= single_view.h 1124RNG_HEADERS+= size.h 1125RNG_HEADERS+= split_view.h 1126RNG_HEADERS+= subrange.h 1127RNG_HEADERS+= take_view.h 1128RNG_HEADERS+= take_while_view.h 1129RNG_HEADERS+= to.h 1130RNG_HEADERS+= transform_view.h 1131RNG_HEADERS+= view_interface.h 1132RNG_HEADERS+= views.h 1133RNG_HEADERS+= zip_view.h 1134.for hdr in ${RNG_HEADERS} 1135RNG+= ${HDRDIR}/__ranges/${hdr} 1136.endfor 1137 1138INCSGROUPS+= STT 1139STTDIR= ${CXXINCLUDEDIR}/__stop_token 1140STT_HEADERS+= atomic_unique_lock.h 1141STT_HEADERS+= intrusive_list_view.h 1142STT_HEADERS+= intrusive_shared_ptr.h 1143STT_HEADERS+= stop_callback.h 1144STT_HEADERS+= stop_source.h 1145STT_HEADERS+= stop_state.h 1146STT_HEADERS+= stop_token.h 1147.for hdr in ${STT_HEADERS} 1148STT+= ${HDRDIR}/__stop_token/${hdr} 1149.endfor 1150 1151INCSGROUPS+= STR 1152STRDIR= ${CXXINCLUDEDIR}/__string 1153STR_HEADERS+= char_traits.h 1154STR_HEADERS+= constexpr_c_functions.h 1155STR_HEADERS+= extern_template_lists.h 1156.for hdr in ${STR_HEADERS} 1157STR+= ${HDRDIR}/__string/${hdr} 1158.endfor 1159 1160INCSGROUPS+= SER 1161SERDIR= ${CXXINCLUDEDIR}/__system_error 1162SER_HEADERS+= errc.h 1163SER_HEADERS+= error_category.h 1164SER_HEADERS+= error_code.h 1165SER_HEADERS+= error_condition.h 1166SER_HEADERS+= system_error.h 1167.for hdr in ${SER_HEADERS} 1168SER+= ${HDRDIR}/__system_error/${hdr} 1169.endfor 1170 1171INCSGROUPS+= THR 1172THRDIR= ${CXXINCLUDEDIR}/__thread 1173THR_HEADERS+= formatter.h 1174THR_HEADERS+= id.h 1175THR_HEADERS+= jthread.h 1176THR_HEADERS+= poll_with_backoff.h 1177THR_HEADERS+= support.h 1178THR_HEADERS+= this_thread.h 1179THR_HEADERS+= thread.h 1180THR_HEADERS+= timed_backoff_policy.h 1181.for hdr in ${THR_HEADERS} 1182THR+= ${HDRDIR}/__thread/${hdr} 1183.endfor 1184 1185INCSGROUPS+= THS 1186THSDIR= ${CXXINCLUDEDIR}/__thread/support 1187THS_HEADERS+= c11.h 1188THS_HEADERS+= external.h 1189THS_HEADERS+= pthread.h 1190THS_HEADERS+= windows.h 1191.for hdr in ${THS_HEADERS} 1192THS+= ${HDRDIR}/__thread/support/${hdr} 1193.endfor 1194 1195INCSGROUPS+= TUP 1196TUPDIR= ${CXXINCLUDEDIR}/__tuple 1197TUP_HEADERS+= find_index.h 1198TUP_HEADERS+= ignore.h 1199TUP_HEADERS+= make_tuple_types.h 1200TUP_HEADERS+= sfinae_helpers.h 1201TUP_HEADERS+= tuple_element.h 1202TUP_HEADERS+= tuple_indices.h 1203TUP_HEADERS+= tuple_like.h 1204TUP_HEADERS+= tuple_like_ext.h 1205TUP_HEADERS+= tuple_like_no_subrange.h 1206TUP_HEADERS+= tuple_size.h 1207TUP_HEADERS+= tuple_types.h 1208.for hdr in ${TUP_HEADERS} 1209TUP+= ${HDRDIR}/__tuple/${hdr} 1210.endfor 1211 1212INCSGROUPS+= TTR 1213TTRDIR= ${CXXINCLUDEDIR}/__type_traits 1214TTR_HEADERS+= add_const.h 1215TTR_HEADERS+= add_cv.h 1216TTR_HEADERS+= add_lvalue_reference.h 1217TTR_HEADERS+= add_pointer.h 1218TTR_HEADERS+= add_rvalue_reference.h 1219TTR_HEADERS+= add_volatile.h 1220TTR_HEADERS+= aligned_storage.h 1221TTR_HEADERS+= aligned_union.h 1222TTR_HEADERS+= alignment_of.h 1223TTR_HEADERS+= can_extract_key.h 1224TTR_HEADERS+= common_reference.h 1225TTR_HEADERS+= common_type.h 1226TTR_HEADERS+= conditional.h 1227TTR_HEADERS+= conjunction.h 1228TTR_HEADERS+= copy_cv.h 1229TTR_HEADERS+= copy_cvref.h 1230TTR_HEADERS+= datasizeof.h 1231TTR_HEADERS+= decay.h 1232TTR_HEADERS+= dependent_type.h 1233TTR_HEADERS+= desugars_to.h 1234TTR_HEADERS+= disjunction.h 1235TTR_HEADERS+= enable_if.h 1236TTR_HEADERS+= extent.h 1237TTR_HEADERS+= has_unique_object_representation.h 1238TTR_HEADERS+= has_virtual_destructor.h 1239TTR_HEADERS+= integral_constant.h 1240TTR_HEADERS+= invoke.h 1241TTR_HEADERS+= is_abstract.h 1242TTR_HEADERS+= is_aggregate.h 1243TTR_HEADERS+= is_allocator.h 1244TTR_HEADERS+= is_always_bitcastable.h 1245TTR_HEADERS+= is_arithmetic.h 1246TTR_HEADERS+= is_array.h 1247TTR_HEADERS+= is_assignable.h 1248TTR_HEADERS+= is_base_of.h 1249TTR_HEADERS+= is_bounded_array.h 1250TTR_HEADERS+= is_callable.h 1251TTR_HEADERS+= is_char_like_type.h 1252TTR_HEADERS+= is_class.h 1253TTR_HEADERS+= is_compound.h 1254TTR_HEADERS+= is_const.h 1255TTR_HEADERS+= is_constant_evaluated.h 1256TTR_HEADERS+= is_constructible.h 1257TTR_HEADERS+= is_convertible.h 1258TTR_HEADERS+= is_core_convertible.h 1259TTR_HEADERS+= is_destructible.h 1260TTR_HEADERS+= is_empty.h 1261TTR_HEADERS+= is_enum.h 1262TTR_HEADERS+= is_equality_comparable.h 1263TTR_HEADERS+= is_execution_policy.h 1264TTR_HEADERS+= is_final.h 1265TTR_HEADERS+= is_floating_point.h 1266TTR_HEADERS+= is_function.h 1267TTR_HEADERS+= is_fundamental.h 1268TTR_HEADERS+= is_implicitly_default_constructible.h 1269TTR_HEADERS+= is_integral.h 1270TTR_HEADERS+= is_literal_type.h 1271TTR_HEADERS+= is_member_function_pointer.h 1272TTR_HEADERS+= is_member_object_pointer.h 1273TTR_HEADERS+= is_member_pointer.h 1274TTR_HEADERS+= is_nothrow_assignable.h 1275TTR_HEADERS+= is_nothrow_constructible.h 1276TTR_HEADERS+= is_nothrow_convertible.h 1277TTR_HEADERS+= is_nothrow_destructible.h 1278TTR_HEADERS+= is_null_pointer.h 1279TTR_HEADERS+= is_object.h 1280TTR_HEADERS+= is_pod.h 1281TTR_HEADERS+= is_pointer.h 1282TTR_HEADERS+= is_polymorphic.h 1283TTR_HEADERS+= is_primary_template.h 1284TTR_HEADERS+= is_reference.h 1285TTR_HEADERS+= is_reference_wrapper.h 1286TTR_HEADERS+= is_referenceable.h 1287TTR_HEADERS+= is_same.h 1288TTR_HEADERS+= is_scalar.h 1289TTR_HEADERS+= is_scoped_enum.h 1290TTR_HEADERS+= is_signed.h 1291TTR_HEADERS+= is_signed_integer.h 1292TTR_HEADERS+= is_specialization.h 1293TTR_HEADERS+= is_standard_layout.h 1294TTR_HEADERS+= is_swappable.h 1295TTR_HEADERS+= is_trivial.h 1296TTR_HEADERS+= is_trivially_assignable.h 1297TTR_HEADERS+= is_trivially_constructible.h 1298TTR_HEADERS+= is_trivially_copyable.h 1299TTR_HEADERS+= is_trivially_destructible.h 1300TTR_HEADERS+= is_trivially_lexicographically_comparable.h 1301TTR_HEADERS+= is_trivially_relocatable.h 1302TTR_HEADERS+= is_unbounded_array.h 1303TTR_HEADERS+= is_union.h 1304TTR_HEADERS+= is_unsigned.h 1305TTR_HEADERS+= is_unsigned_integer.h 1306TTR_HEADERS+= is_valid_expansion.h 1307TTR_HEADERS+= is_void.h 1308TTR_HEADERS+= is_volatile.h 1309TTR_HEADERS+= lazy.h 1310TTR_HEADERS+= make_32_64_or_128_bit.h 1311TTR_HEADERS+= make_const_lvalue_ref.h 1312TTR_HEADERS+= make_signed.h 1313TTR_HEADERS+= make_unsigned.h 1314TTR_HEADERS+= maybe_const.h 1315TTR_HEADERS+= nat.h 1316TTR_HEADERS+= negation.h 1317TTR_HEADERS+= noexcept_move_assign_container.h 1318TTR_HEADERS+= promote.h 1319TTR_HEADERS+= rank.h 1320TTR_HEADERS+= remove_all_extents.h 1321TTR_HEADERS+= remove_const.h 1322TTR_HEADERS+= remove_const_ref.h 1323TTR_HEADERS+= remove_cv.h 1324TTR_HEADERS+= remove_cvref.h 1325TTR_HEADERS+= remove_extent.h 1326TTR_HEADERS+= remove_pointer.h 1327TTR_HEADERS+= remove_reference.h 1328TTR_HEADERS+= remove_volatile.h 1329TTR_HEADERS+= result_of.h 1330TTR_HEADERS+= strip_signature.h 1331TTR_HEADERS+= type_identity.h 1332TTR_HEADERS+= type_list.h 1333TTR_HEADERS+= underlying_type.h 1334TTR_HEADERS+= unwrap_ref.h 1335TTR_HEADERS+= void_t.h 1336.for hdr in ${TTR_HEADERS} 1337TTR+= ${HDRDIR}/__type_traits/${hdr} 1338.endfor 1339 1340INCSGROUPS+= UTL 1341UTLDIR= ${CXXINCLUDEDIR}/__utility 1342UTL_HEADERS+= as_const.h 1343UTL_HEADERS+= as_lvalue.h 1344UTL_HEADERS+= auto_cast.h 1345UTL_HEADERS+= cmp.h 1346UTL_HEADERS+= convert_to_integral.h 1347UTL_HEADERS+= declval.h 1348UTL_HEADERS+= empty.h 1349UTL_HEADERS+= exception_guard.h 1350UTL_HEADERS+= exchange.h 1351UTL_HEADERS+= forward.h 1352UTL_HEADERS+= forward_like.h 1353UTL_HEADERS+= in_place.h 1354UTL_HEADERS+= integer_sequence.h 1355UTL_HEADERS+= is_pointer_in_range.h 1356UTL_HEADERS+= is_valid_range.h 1357UTL_HEADERS+= move.h 1358UTL_HEADERS+= no_destroy.h 1359UTL_HEADERS+= pair.h 1360UTL_HEADERS+= piecewise_construct.h 1361UTL_HEADERS+= priority_tag.h 1362UTL_HEADERS+= private_constructor_tag.h 1363UTL_HEADERS+= rel_ops.h 1364UTL_HEADERS+= small_buffer.h 1365UTL_HEADERS+= swap.h 1366UTL_HEADERS+= to_underlying.h 1367UTL_HEADERS+= unreachable.h 1368.for hdr in ${UTL_HEADERS} 1369UTL+= ${HDRDIR}/__utility/${hdr} 1370.endfor 1371 1372INCSGROUPS+= VAR 1373VARDIR= ${CXXINCLUDEDIR}/__variant 1374VAR_HEADERS+= monostate.h 1375.for hdr in ${VAR_HEADERS} 1376VAR+= ${HDRDIR}/__variant/${hdr} 1377.endfor 1378 1379INCSGROUPS+= EXP 1380EXPDIR= ${CXXINCLUDEDIR}/experimental 1381EXP_HEADERS+= __config 1382EXP_HEADERS+= iterator 1383EXP_HEADERS+= memory 1384EXP_HEADERS+= propagate_const 1385EXP_HEADERS+= simd 1386EXP_HEADERS+= type_traits 1387EXP_HEADERS+= utility 1388.for hdr in ${EXP_HEADERS} 1389EXP+= ${HDRDIR}/experimental/${hdr} 1390.endfor 1391 1392INCSGROUPS+= EXS 1393EXSDIR= ${CXXINCLUDEDIR}/experimental/__simd 1394EXS_HEADERS+= aligned_tag.h 1395EXS_HEADERS+= declaration.h 1396EXS_HEADERS+= reference.h 1397EXS_HEADERS+= scalar.h 1398EXS_HEADERS+= simd.h 1399EXS_HEADERS+= simd_mask.h 1400EXS_HEADERS+= traits.h 1401EXS_HEADERS+= utility.h 1402EXS_HEADERS+= vec_ext.h 1403.for hdr in ${EXS_HEADERS} 1404EXS+= ${HDRDIR}/experimental/__simd/${hdr} 1405.endfor 1406 1407INCSGROUPS+= EXT 1408EXTDIR= ${CXXINCLUDEDIR}/ext 1409EXT_HEADERS+= __hash 1410EXT_HEADERS+= hash_map 1411EXT_HEADERS+= hash_set 1412.for hdr in ${EXT_HEADERS} 1413EXT+= ${HDRDIR}/ext/${hdr} 1414.endfor 1415 1416.include <bsd.lib.mk> 1417