1 2SHLIBDIR?= /lib 3 4.include <src.opts.mk> 5 6PACKAGE= clibs 7_LIBCXXRTDIR= ${SRCTOP}/contrib/libcxxrt 8HDRDIR= ${SRCTOP}/contrib/llvm-project/libcxx/include 9SRCDIR= ${SRCTOP}/contrib/llvm-project/libcxx/src 10CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR} 11 12.PATH: ${SRCDIR} 13 14LIB= c++ 15SHLIB_MAJOR= 1 16SHLIB_LDSCRIPT= libc++.ldscript 17 18SRCS+= algorithm.cpp 19SRCS+= any.cpp 20SRCS+= atomic.cpp 21SRCS+= barrier.cpp 22SRCS+= bind.cpp 23SRCS+= charconv.cpp 24SRCS+= chrono.cpp 25SRCS+= condition_variable.cpp 26SRCS+= condition_variable_destructor.cpp 27SRCS+= debug.cpp 28SRCS+= exception.cpp 29SRCS+= filesystem/directory_iterator.cpp 30SRCS+= filesystem/int128_builtins.cpp 31SRCS+= filesystem/operations.cpp 32SRCS+= functional.cpp 33SRCS+= future.cpp 34SRCS+= hash.cpp 35SRCS+= ios.cpp 36SRCS+= ios.instantiations.cpp 37SRCS+= iostream.cpp 38SRCS+= legacy_debug_handler.cpp 39SRCS+= legacy_pointer_safety.cpp 40SRCS+= locale.cpp 41SRCS+= memory.cpp 42SRCS+= memory_resource.cpp 43SRCS+= mutex.cpp 44SRCS+= mutex_destructor.cpp 45SRCS+= new.cpp 46SRCS+= optional.cpp 47SRCS+= random.cpp 48SRCS+= random_shuffle.cpp 49SRCS+= regex.cpp 50SRCS+= ryu/d2fixed.cpp 51SRCS+= ryu/d2s.cpp 52SRCS+= ryu/f2s.cpp 53SRCS+= shared_mutex.cpp 54SRCS+= stdexcept.cpp 55SRCS+= string.cpp 56SRCS+= strstream.cpp 57SRCS+= system_error.cpp 58SRCS+= thread.cpp 59SRCS+= typeinfo.cpp 60SRCS+= utility.cpp 61SRCS+= valarray.cpp 62SRCS+= variant.cpp 63SRCS+= vector.cpp 64SRCS+= verbose_abort.cpp 65 66CXXRT_SRCS+= auxhelper.cc 67CXXRT_SRCS+= dynamic_cast.cc 68CXXRT_SRCS+= exception.cc 69CXXRT_SRCS+= guard.cc 70CXXRT_SRCS+= libelftc_dem_gnu3.c 71CXXRT_SRCS+= memory.cc 72CXXRT_SRCS+= stdexcept.cc 73CXXRT_SRCS+= terminate.cc 74CXXRT_SRCS+= typeinfo.cc 75 76.for _S in ${CXXRT_SRCS} 77CLEANFILES+= cxxrt_${_S} 78STATICOBJS+= cxxrt_${_S:R}.o 79cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA 80 ln -sf ${.ALLSRC} ${.TARGET} 81.endfor 82 83WARNS?= 0 84CFLAGS+= -isystem ${.CURDIR} 85CFLAGS+= -isystem ${HDRDIR} 86CFLAGS+= -isystem ${SRCDIR} 87CFLAGS+= -isystem ${_LIBCXXRTDIR} 88CFLAGS+= -nostdinc++ 89CFLAGS+= -nostdlib 90CFLAGS+= -D_LIBCPP_BUILDING_LIBRARY 91CFLAGS+= -DLIBCXXRT 92CFLAGS+= -ffunction-sections 93CFLAGS+= -fdata-sections 94CXXSTD?= c++20 95 96LIBADD+= cxxrt 97 98INCSGROUPS+= STD 99STDDIR= ${CXXINCLUDEDIR} 100STD_HEADERS+= __assert 101STD_HEADERS+= __availability 102STD_HEADERS+= __bit_reference 103STD_HEADERS+= __bsd_locale_defaults.h 104STD_HEADERS+= __bsd_locale_fallbacks.h 105STD_HEADERS+= __config 106STD_HEADERS+= __debug 107STD_HEADERS+= __errc 108STD_HEADERS+= __hash_table 109STD_HEADERS+= __locale 110STD_HEADERS+= __mbstate_t.h 111STD_HEADERS+= __mutex_base 112STD_HEADERS+= __node_handle 113STD_HEADERS+= __split_buffer 114STD_HEADERS+= __std_stream 115STD_HEADERS+= __threading_support 116STD_HEADERS+= __tree 117STD_HEADERS+= __undef_macros 118STD_HEADERS+= __verbose_abort 119STD_HEADERS+= algorithm 120STD_HEADERS+= any 121STD_HEADERS+= array 122STD_HEADERS+= atomic 123STD_HEADERS+= barrier 124STD_HEADERS+= bit 125STD_HEADERS+= bitset 126STD_HEADERS+= cassert 127STD_HEADERS+= ccomplex 128STD_HEADERS+= cctype 129STD_HEADERS+= cerrno 130STD_HEADERS+= cfenv 131STD_HEADERS+= cfloat 132STD_HEADERS+= charconv 133STD_HEADERS+= chrono 134STD_HEADERS+= cinttypes 135STD_HEADERS+= ciso646 136STD_HEADERS+= climits 137STD_HEADERS+= clocale 138STD_HEADERS+= cmath 139STD_HEADERS+= codecvt 140STD_HEADERS+= compare 141STD_HEADERS+= complex 142STD_HEADERS+= complex.h 143STD_HEADERS+= concepts 144STD_HEADERS+= condition_variable 145STD_HEADERS+= coroutine 146STD_HEADERS+= csetjmp 147STD_HEADERS+= csignal 148STD_HEADERS+= cstdarg 149STD_HEADERS+= cstdbool 150STD_HEADERS+= cstddef 151STD_HEADERS+= cstdint 152STD_HEADERS+= cstdio 153STD_HEADERS+= cstdlib 154STD_HEADERS+= cstring 155STD_HEADERS+= ctgmath 156STD_HEADERS+= ctime 157STD_HEADERS+= ctype.h 158STD_HEADERS+= cuchar 159STD_HEADERS+= cwchar 160STD_HEADERS+= cwctype 161STD_HEADERS+= deque 162STD_HEADERS+= errno.h 163STD_HEADERS+= exception 164STD_HEADERS+= execution 165STD_HEADERS+= expected 166STD_HEADERS+= fenv.h 167STD_HEADERS+= filesystem 168STD_HEADERS+= float.h 169STD_HEADERS+= format 170STD_HEADERS+= forward_list 171STD_HEADERS+= fstream 172STD_HEADERS+= functional 173STD_HEADERS+= future 174STD_HEADERS+= initializer_list 175STD_HEADERS+= inttypes.h 176STD_HEADERS+= iomanip 177STD_HEADERS+= ios 178STD_HEADERS+= iosfwd 179STD_HEADERS+= iostream 180STD_HEADERS+= istream 181STD_HEADERS+= iterator 182STD_HEADERS+= latch 183STD_HEADERS+= libcxx.imp 184STD_HEADERS+= limits 185STD_HEADERS+= limits.h 186STD_HEADERS+= list 187STD_HEADERS+= locale 188STD_HEADERS+= locale.h 189STD_HEADERS+= map 190STD_HEADERS+= math.h 191STD_HEADERS+= memory 192STD_HEADERS+= memory_resource 193STD_HEADERS+= mutex 194STD_HEADERS+= new 195STD_HEADERS+= numbers 196STD_HEADERS+= numeric 197STD_HEADERS+= optional 198STD_HEADERS+= ostream 199STD_HEADERS+= queue 200STD_HEADERS+= random 201STD_HEADERS+= ranges 202STD_HEADERS+= ratio 203STD_HEADERS+= regex 204STD_HEADERS+= scoped_allocator 205STD_HEADERS+= semaphore 206STD_HEADERS+= set 207STD_HEADERS+= setjmp.h 208STD_HEADERS+= shared_mutex 209STD_HEADERS+= source_location 210STD_HEADERS+= span 211STD_HEADERS+= sstream 212STD_HEADERS+= stack 213STD_HEADERS+= stdatomic.h 214STD_HEADERS+= stdbool.h 215STD_HEADERS+= stddef.h 216STD_HEADERS+= stdexcept 217STD_HEADERS+= stdint.h 218STD_HEADERS+= stdio.h 219STD_HEADERS+= stdlib.h 220STD_HEADERS+= streambuf 221STD_HEADERS+= string 222STD_HEADERS+= string.h 223STD_HEADERS+= string_view 224STD_HEADERS+= strstream 225STD_HEADERS+= system_error 226STD_HEADERS+= tgmath.h 227STD_HEADERS+= thread 228STD_HEADERS+= tuple 229STD_HEADERS+= type_traits 230STD_HEADERS+= typeindex 231STD_HEADERS+= typeinfo 232STD_HEADERS+= uchar.h 233STD_HEADERS+= unordered_map 234STD_HEADERS+= unordered_set 235STD_HEADERS+= utility 236STD_HEADERS+= valarray 237STD_HEADERS+= variant 238STD_HEADERS+= vector 239STD_HEADERS+= version 240STD_HEADERS+= wchar.h 241STD_HEADERS+= wctype.h 242.for hdr in ${STD_HEADERS} 243STD+= ${HDRDIR}/${hdr} 244.endfor 245 246# Special case for __config_site, which as of libc++ 12.0.0 is generated by 247# CMake, and as of 13.0.0 installed side-by-side with__config. 248STD+= ${.CURDIR}/__config_site 249 250# Special case for module.modulemap, which as of libc++ 15.0.0 is generated by 251# CMake. 252STD+= ${.CURDIR}/module.modulemap 253 254RT_HEADERS+= cxxabi.h 255.for hdr in ${RT_HEADERS} 256STD+= ${_LIBCXXRTDIR}/${hdr} 257.endfor 258 259INCSGROUPS+= ALG 260ALGDIR= ${CXXINCLUDEDIR}/__algorithm 261ALG_HEADERS+= adjacent_find.h 262ALG_HEADERS+= all_of.h 263ALG_HEADERS+= any_of.h 264ALG_HEADERS+= binary_search.h 265ALG_HEADERS+= clamp.h 266ALG_HEADERS+= comp.h 267ALG_HEADERS+= comp_ref_type.h 268ALG_HEADERS+= copy.h 269ALG_HEADERS+= copy_backward.h 270ALG_HEADERS+= copy_if.h 271ALG_HEADERS+= copy_move_common.h 272ALG_HEADERS+= copy_n.h 273ALG_HEADERS+= count.h 274ALG_HEADERS+= count_if.h 275ALG_HEADERS+= equal.h 276ALG_HEADERS+= equal_range.h 277ALG_HEADERS+= fill.h 278ALG_HEADERS+= fill_n.h 279ALG_HEADERS+= find.h 280ALG_HEADERS+= find_end.h 281ALG_HEADERS+= find_first_of.h 282ALG_HEADERS+= find_if.h 283ALG_HEADERS+= find_if_not.h 284ALG_HEADERS+= for_each.h 285ALG_HEADERS+= for_each_n.h 286ALG_HEADERS+= generate.h 287ALG_HEADERS+= generate_n.h 288ALG_HEADERS+= half_positive.h 289ALG_HEADERS+= in_found_result.h 290ALG_HEADERS+= in_fun_result.h 291ALG_HEADERS+= in_in_out_result.h 292ALG_HEADERS+= in_in_result.h 293ALG_HEADERS+= in_out_out_result.h 294ALG_HEADERS+= in_out_result.h 295ALG_HEADERS+= includes.h 296ALG_HEADERS+= inplace_merge.h 297ALG_HEADERS+= is_heap.h 298ALG_HEADERS+= is_heap_until.h 299ALG_HEADERS+= is_partitioned.h 300ALG_HEADERS+= is_permutation.h 301ALG_HEADERS+= is_sorted.h 302ALG_HEADERS+= is_sorted_until.h 303ALG_HEADERS+= iter_swap.h 304ALG_HEADERS+= iterator_operations.h 305ALG_HEADERS+= lexicographical_compare.h 306ALG_HEADERS+= lower_bound.h 307ALG_HEADERS+= make_heap.h 308ALG_HEADERS+= make_projected.h 309ALG_HEADERS+= max.h 310ALG_HEADERS+= max_element.h 311ALG_HEADERS+= merge.h 312ALG_HEADERS+= min.h 313ALG_HEADERS+= min_element.h 314ALG_HEADERS+= min_max_result.h 315ALG_HEADERS+= minmax.h 316ALG_HEADERS+= minmax_element.h 317ALG_HEADERS+= mismatch.h 318ALG_HEADERS+= move.h 319ALG_HEADERS+= move_backward.h 320ALG_HEADERS+= next_permutation.h 321ALG_HEADERS+= none_of.h 322ALG_HEADERS+= nth_element.h 323ALG_HEADERS+= partial_sort.h 324ALG_HEADERS+= partial_sort_copy.h 325ALG_HEADERS+= partition.h 326ALG_HEADERS+= partition_copy.h 327ALG_HEADERS+= partition_point.h 328ALG_HEADERS+= pop_heap.h 329ALG_HEADERS+= prev_permutation.h 330ALG_HEADERS+= push_heap.h 331ALG_HEADERS+= ranges_adjacent_find.h 332ALG_HEADERS+= ranges_all_of.h 333ALG_HEADERS+= ranges_any_of.h 334ALG_HEADERS+= ranges_binary_search.h 335ALG_HEADERS+= ranges_clamp.h 336ALG_HEADERS+= ranges_copy.h 337ALG_HEADERS+= ranges_copy_backward.h 338ALG_HEADERS+= ranges_copy_if.h 339ALG_HEADERS+= ranges_copy_n.h 340ALG_HEADERS+= ranges_count.h 341ALG_HEADERS+= ranges_count_if.h 342ALG_HEADERS+= ranges_equal.h 343ALG_HEADERS+= ranges_equal_range.h 344ALG_HEADERS+= ranges_fill.h 345ALG_HEADERS+= ranges_fill_n.h 346ALG_HEADERS+= ranges_find.h 347ALG_HEADERS+= ranges_find_end.h 348ALG_HEADERS+= ranges_find_first_of.h 349ALG_HEADERS+= ranges_find_if.h 350ALG_HEADERS+= ranges_find_if_not.h 351ALG_HEADERS+= ranges_for_each.h 352ALG_HEADERS+= ranges_for_each_n.h 353ALG_HEADERS+= ranges_generate.h 354ALG_HEADERS+= ranges_generate_n.h 355ALG_HEADERS+= ranges_includes.h 356ALG_HEADERS+= ranges_inplace_merge.h 357ALG_HEADERS+= ranges_is_heap.h 358ALG_HEADERS+= ranges_is_heap_until.h 359ALG_HEADERS+= ranges_is_partitioned.h 360ALG_HEADERS+= ranges_is_permutation.h 361ALG_HEADERS+= ranges_is_sorted.h 362ALG_HEADERS+= ranges_is_sorted_until.h 363ALG_HEADERS+= ranges_iterator_concept.h 364ALG_HEADERS+= ranges_lexicographical_compare.h 365ALG_HEADERS+= ranges_lower_bound.h 366ALG_HEADERS+= ranges_make_heap.h 367ALG_HEADERS+= ranges_max.h 368ALG_HEADERS+= ranges_max_element.h 369ALG_HEADERS+= ranges_merge.h 370ALG_HEADERS+= ranges_min.h 371ALG_HEADERS+= ranges_min_element.h 372ALG_HEADERS+= ranges_minmax.h 373ALG_HEADERS+= ranges_minmax_element.h 374ALG_HEADERS+= ranges_mismatch.h 375ALG_HEADERS+= ranges_move.h 376ALG_HEADERS+= ranges_move_backward.h 377ALG_HEADERS+= ranges_next_permutation.h 378ALG_HEADERS+= ranges_none_of.h 379ALG_HEADERS+= ranges_nth_element.h 380ALG_HEADERS+= ranges_partial_sort.h 381ALG_HEADERS+= ranges_partial_sort_copy.h 382ALG_HEADERS+= ranges_partition.h 383ALG_HEADERS+= ranges_partition_copy.h 384ALG_HEADERS+= ranges_partition_point.h 385ALG_HEADERS+= ranges_pop_heap.h 386ALG_HEADERS+= ranges_prev_permutation.h 387ALG_HEADERS+= ranges_push_heap.h 388ALG_HEADERS+= ranges_remove.h 389ALG_HEADERS+= ranges_remove_copy.h 390ALG_HEADERS+= ranges_remove_copy_if.h 391ALG_HEADERS+= ranges_remove_if.h 392ALG_HEADERS+= ranges_replace.h 393ALG_HEADERS+= ranges_replace_copy.h 394ALG_HEADERS+= ranges_replace_copy_if.h 395ALG_HEADERS+= ranges_replace_if.h 396ALG_HEADERS+= ranges_reverse.h 397ALG_HEADERS+= ranges_reverse_copy.h 398ALG_HEADERS+= ranges_rotate.h 399ALG_HEADERS+= ranges_rotate_copy.h 400ALG_HEADERS+= ranges_sample.h 401ALG_HEADERS+= ranges_search.h 402ALG_HEADERS+= ranges_search_n.h 403ALG_HEADERS+= ranges_set_difference.h 404ALG_HEADERS+= ranges_set_intersection.h 405ALG_HEADERS+= ranges_set_symmetric_difference.h 406ALG_HEADERS+= ranges_set_union.h 407ALG_HEADERS+= ranges_shuffle.h 408ALG_HEADERS+= ranges_sort.h 409ALG_HEADERS+= ranges_sort_heap.h 410ALG_HEADERS+= ranges_stable_partition.h 411ALG_HEADERS+= ranges_stable_sort.h 412ALG_HEADERS+= ranges_swap_ranges.h 413ALG_HEADERS+= ranges_transform.h 414ALG_HEADERS+= ranges_unique.h 415ALG_HEADERS+= ranges_unique_copy.h 416ALG_HEADERS+= ranges_upper_bound.h 417ALG_HEADERS+= remove.h 418ALG_HEADERS+= remove_copy.h 419ALG_HEADERS+= remove_copy_if.h 420ALG_HEADERS+= remove_if.h 421ALG_HEADERS+= replace.h 422ALG_HEADERS+= replace_copy.h 423ALG_HEADERS+= replace_copy_if.h 424ALG_HEADERS+= replace_if.h 425ALG_HEADERS+= reverse.h 426ALG_HEADERS+= reverse_copy.h 427ALG_HEADERS+= rotate.h 428ALG_HEADERS+= rotate_copy.h 429ALG_HEADERS+= sample.h 430ALG_HEADERS+= search.h 431ALG_HEADERS+= search_n.h 432ALG_HEADERS+= set_difference.h 433ALG_HEADERS+= set_intersection.h 434ALG_HEADERS+= set_symmetric_difference.h 435ALG_HEADERS+= set_union.h 436ALG_HEADERS+= shift_left.h 437ALG_HEADERS+= shift_right.h 438ALG_HEADERS+= shuffle.h 439ALG_HEADERS+= sift_down.h 440ALG_HEADERS+= sort.h 441ALG_HEADERS+= sort_heap.h 442ALG_HEADERS+= stable_partition.h 443ALG_HEADERS+= stable_sort.h 444ALG_HEADERS+= swap_ranges.h 445ALG_HEADERS+= transform.h 446ALG_HEADERS+= uniform_random_bit_generator_adaptor.h 447ALG_HEADERS+= unique.h 448ALG_HEADERS+= unique_copy.h 449ALG_HEADERS+= unwrap_iter.h 450ALG_HEADERS+= unwrap_range.h 451ALG_HEADERS+= upper_bound.h 452.for hdr in ${ALG_HEADERS} 453ALG+= ${HDRDIR}/__algorithm/${hdr} 454.endfor 455 456INCSGROUPS+= BIT 457BITDIR= ${CXXINCLUDEDIR}/__bit 458BIT_HEADERS+= bit_cast.h 459BIT_HEADERS+= bit_ceil.h 460BIT_HEADERS+= bit_floor.h 461BIT_HEADERS+= bit_log2.h 462BIT_HEADERS+= bit_width.h 463BIT_HEADERS+= blsr.h 464BIT_HEADERS+= byteswap.h 465BIT_HEADERS+= countl.h 466BIT_HEADERS+= countr.h 467BIT_HEADERS+= endian.h 468BIT_HEADERS+= has_single_bit.h 469BIT_HEADERS+= popcount.h 470BIT_HEADERS+= rotate.h 471.for hdr in ${BIT_HEADERS} 472BIT+= ${HDRDIR}/__bit/${hdr} 473.endfor 474 475INCSGROUPS+= CHC 476CHCDIR= ${CXXINCLUDEDIR}/__charconv 477CHC_HEADERS+= chars_format.h 478CHC_HEADERS+= from_chars_result.h 479CHC_HEADERS+= tables.h 480CHC_HEADERS+= to_chars_base_10.h 481CHC_HEADERS+= to_chars_result.h 482.for hdr in ${CHC_HEADERS} 483CHC+= ${HDRDIR}/__charconv/${hdr} 484.endfor 485 486INCSGROUPS+= CHR 487CHRDIR= ${CXXINCLUDEDIR}/__chrono 488CHR_HEADERS+= calendar.h 489CHR_HEADERS+= convert_to_timespec.h 490CHR_HEADERS+= convert_to_tm.h 491CHR_HEADERS+= day.h 492CHR_HEADERS+= duration.h 493CHR_HEADERS+= file_clock.h 494CHR_HEADERS+= formatter.h 495CHR_HEADERS+= hh_mm_ss.h 496CHR_HEADERS+= high_resolution_clock.h 497CHR_HEADERS+= literals.h 498CHR_HEADERS+= month.h 499CHR_HEADERS+= month_weekday.h 500CHR_HEADERS+= monthday.h 501CHR_HEADERS+= ostream.h 502CHR_HEADERS+= parser_std_format_spec.h 503CHR_HEADERS+= statically_widen.h 504CHR_HEADERS+= steady_clock.h 505CHR_HEADERS+= system_clock.h 506CHR_HEADERS+= time_point.h 507CHR_HEADERS+= weekday.h 508CHR_HEADERS+= year.h 509CHR_HEADERS+= year_month.h 510CHR_HEADERS+= year_month_day.h 511CHR_HEADERS+= year_month_weekday.h 512.for hdr in ${CHR_HEADERS} 513CHR+= ${HDRDIR}/__chrono/${hdr} 514.endfor 515 516INCSGROUPS+= CMP 517CMPDIR= ${CXXINCLUDEDIR}/__compare 518CMP_HEADERS+= common_comparison_category.h 519CMP_HEADERS+= compare_partial_order_fallback.h 520CMP_HEADERS+= compare_strong_order_fallback.h 521CMP_HEADERS+= compare_three_way.h 522CMP_HEADERS+= compare_three_way_result.h 523CMP_HEADERS+= compare_weak_order_fallback.h 524CMP_HEADERS+= is_eq.h 525CMP_HEADERS+= ordering.h 526CMP_HEADERS+= partial_order.h 527CMP_HEADERS+= strong_order.h 528CMP_HEADERS+= synth_three_way.h 529CMP_HEADERS+= three_way_comparable.h 530CMP_HEADERS+= weak_order.h 531.for hdr in ${CMP_HEADERS} 532CMP+= ${HDRDIR}/__compare/${hdr} 533.endfor 534 535INCSGROUPS+= CON 536CONDIR= ${CXXINCLUDEDIR}/__concepts 537CON_HEADERS+= arithmetic.h 538CON_HEADERS+= assignable.h 539CON_HEADERS+= boolean_testable.h 540CON_HEADERS+= class_or_enum.h 541CON_HEADERS+= common_reference_with.h 542CON_HEADERS+= common_with.h 543CON_HEADERS+= constructible.h 544CON_HEADERS+= convertible_to.h 545CON_HEADERS+= copyable.h 546CON_HEADERS+= derived_from.h 547CON_HEADERS+= destructible.h 548CON_HEADERS+= different_from.h 549CON_HEADERS+= equality_comparable.h 550CON_HEADERS+= invocable.h 551CON_HEADERS+= movable.h 552CON_HEADERS+= predicate.h 553CON_HEADERS+= regular.h 554CON_HEADERS+= relation.h 555CON_HEADERS+= same_as.h 556CON_HEADERS+= semiregular.h 557CON_HEADERS+= swappable.h 558CON_HEADERS+= totally_ordered.h 559.for hdr in ${CON_HEADERS} 560CON+= ${HDRDIR}/__concepts/${hdr} 561.endfor 562 563INCSGROUPS+= COR 564CORDIR= ${CXXINCLUDEDIR}/__coroutine 565COR_HEADERS+= coroutine_handle.h 566COR_HEADERS+= coroutine_traits.h 567COR_HEADERS+= noop_coroutine_handle.h 568COR_HEADERS+= trivial_awaitables.h 569.for hdr in ${COR_HEADERS} 570COR+= ${HDRDIR}/__coroutine/${hdr} 571.endfor 572 573INCSGROUPS+= DBG 574DBGDIR= ${CXXINCLUDEDIR}/__debug_utils 575DBG_HEADERS+= randomize_range.h 576.for hdr in ${DBG_HEADERS} 577DBG+= ${HDRDIR}/__debug_utils/${hdr} 578.endfor 579 580INCSGROUPS+= EXC 581EXCDIR= ${CXXINCLUDEDIR}/__expected 582EXC_HEADERS+= bad_expected_access.h 583EXC_HEADERS+= expected.h 584EXC_HEADERS+= unexpect.h 585EXC_HEADERS+= unexpected.h 586.for hdr in ${EXC_HEADERS} 587EXC+= ${HDRDIR}/__expected/${hdr} 588.endfor 589 590INCSGROUPS+= FS 591FSDIR= ${CXXINCLUDEDIR}/__filesystem 592FS_HEADERS+= copy_options.h 593FS_HEADERS+= directory_entry.h 594FS_HEADERS+= directory_iterator.h 595FS_HEADERS+= directory_options.h 596FS_HEADERS+= file_status.h 597FS_HEADERS+= file_time_type.h 598FS_HEADERS+= file_type.h 599FS_HEADERS+= filesystem_error.h 600FS_HEADERS+= operations.h 601FS_HEADERS+= path.h 602FS_HEADERS+= path_iterator.h 603FS_HEADERS+= perm_options.h 604FS_HEADERS+= perms.h 605FS_HEADERS+= recursive_directory_iterator.h 606FS_HEADERS+= space_info.h 607FS_HEADERS+= u8path.h 608.for hdr in ${FS_HEADERS} 609FS+= ${HDRDIR}/__filesystem/${hdr} 610.endfor 611 612INCSGROUPS+= FMT 613FMTDIR= ${CXXINCLUDEDIR}/__format 614FMT_HEADERS+= buffer.h 615FMT_HEADERS+= concepts.h 616FMT_HEADERS+= container_adaptor.h 617FMT_HEADERS+= enable_insertable.h 618FMT_HEADERS+= escaped_output_table.h 619FMT_HEADERS+= extended_grapheme_cluster_table.h 620FMT_HEADERS+= format_arg.h 621FMT_HEADERS+= format_arg_store.h 622FMT_HEADERS+= format_args.h 623FMT_HEADERS+= format_context.h 624FMT_HEADERS+= format_error.h 625FMT_HEADERS+= format_functions.h 626FMT_HEADERS+= format_fwd.h 627FMT_HEADERS+= format_parse_context.h 628FMT_HEADERS+= format_string.h 629FMT_HEADERS+= format_to_n_result.h 630FMT_HEADERS+= formatter.h 631FMT_HEADERS+= formatter_bool.h 632FMT_HEADERS+= formatter_char.h 633FMT_HEADERS+= formatter_floating_point.h 634FMT_HEADERS+= formatter_integer.h 635FMT_HEADERS+= formatter_integral.h 636FMT_HEADERS+= formatter_output.h 637FMT_HEADERS+= formatter_pointer.h 638FMT_HEADERS+= formatter_string.h 639FMT_HEADERS+= formatter_tuple.h 640FMT_HEADERS+= parser_std_format_spec.h 641FMT_HEADERS+= range_default_formatter.h 642FMT_HEADERS+= range_formatter.h 643FMT_HEADERS+= unicode.h 644.for hdr in ${FMT_HEADERS} 645FMT+= ${HDRDIR}/__format/${hdr} 646.endfor 647 648INCSGROUPS+= FUN 649FUNDIR= ${CXXINCLUDEDIR}/__functional 650FUN_HEADERS+= binary_function.h 651FUN_HEADERS+= binary_negate.h 652FUN_HEADERS+= bind.h 653FUN_HEADERS+= bind_back.h 654FUN_HEADERS+= bind_front.h 655FUN_HEADERS+= binder1st.h 656FUN_HEADERS+= binder2nd.h 657FUN_HEADERS+= boyer_moore_searcher.h 658FUN_HEADERS+= compose.h 659FUN_HEADERS+= default_searcher.h 660FUN_HEADERS+= function.h 661FUN_HEADERS+= hash.h 662FUN_HEADERS+= identity.h 663FUN_HEADERS+= invoke.h 664FUN_HEADERS+= is_transparent.h 665FUN_HEADERS+= mem_fn.h 666FUN_HEADERS+= mem_fun_ref.h 667FUN_HEADERS+= not_fn.h 668FUN_HEADERS+= operations.h 669FUN_HEADERS+= perfect_forward.h 670FUN_HEADERS+= pointer_to_binary_function.h 671FUN_HEADERS+= pointer_to_unary_function.h 672FUN_HEADERS+= ranges_operations.h 673FUN_HEADERS+= reference_wrapper.h 674FUN_HEADERS+= unary_function.h 675FUN_HEADERS+= unary_negate.h 676FUN_HEADERS+= unwrap_ref.h 677FUN_HEADERS+= weak_result_type.h 678.for hdr in ${FUN_HEADERS} 679FUN+= ${HDRDIR}/__functional/${hdr} 680.endfor 681 682INCSGROUPS+= FWD 683FWDDIR= ${CXXINCLUDEDIR}/__fwd 684FWD_HEADERS+= array.h 685FWD_HEADERS+= get.h 686FWD_HEADERS+= hash.h 687FWD_HEADERS+= memory_resource.h 688FWD_HEADERS+= pair.h 689FWD_HEADERS+= span.h 690FWD_HEADERS+= string.h 691FWD_HEADERS+= string_view.h 692FWD_HEADERS+= subrange.h 693FWD_HEADERS+= tuple.h 694.for hdr in ${FWD_HEADERS} 695FWD+= ${HDRDIR}/__fwd/${hdr} 696.endfor 697 698INCSGROUPS+= IOS 699IOSDIR= ${CXXINCLUDEDIR}/__ios 700IOS_HEADERS+= fpos.h 701.for hdr in ${IOS_HEADERS} 702IOS+= ${HDRDIR}/__ios/${hdr} 703.endfor 704 705INCSGROUPS+= IT 706ITDIR= ${CXXINCLUDEDIR}/__iterator 707IT_HEADERS+= access.h 708IT_HEADERS+= advance.h 709IT_HEADERS+= back_insert_iterator.h 710IT_HEADERS+= bounded_iter.h 711IT_HEADERS+= common_iterator.h 712IT_HEADERS+= concepts.h 713IT_HEADERS+= counted_iterator.h 714IT_HEADERS+= data.h 715IT_HEADERS+= default_sentinel.h 716IT_HEADERS+= distance.h 717IT_HEADERS+= empty.h 718IT_HEADERS+= erase_if_container.h 719IT_HEADERS+= front_insert_iterator.h 720IT_HEADERS+= incrementable_traits.h 721IT_HEADERS+= indirectly_comparable.h 722IT_HEADERS+= insert_iterator.h 723IT_HEADERS+= istream_iterator.h 724IT_HEADERS+= istreambuf_iterator.h 725IT_HEADERS+= iter_move.h 726IT_HEADERS+= iter_swap.h 727IT_HEADERS+= iterator.h 728IT_HEADERS+= iterator_traits.h 729IT_HEADERS+= iterator_with_data.h 730IT_HEADERS+= mergeable.h 731IT_HEADERS+= move_iterator.h 732IT_HEADERS+= move_sentinel.h 733IT_HEADERS+= next.h 734IT_HEADERS+= ostream_iterator.h 735IT_HEADERS+= ostreambuf_iterator.h 736IT_HEADERS+= permutable.h 737IT_HEADERS+= prev.h 738IT_HEADERS+= projected.h 739IT_HEADERS+= readable_traits.h 740IT_HEADERS+= reverse_access.h 741IT_HEADERS+= reverse_iterator.h 742IT_HEADERS+= segmented_iterator.h 743IT_HEADERS+= size.h 744IT_HEADERS+= sortable.h 745IT_HEADERS+= unreachable_sentinel.h 746IT_HEADERS+= wrap_iter.h 747.for hdr in ${IT_HEADERS} 748IT+= ${HDRDIR}/__iterator/${hdr} 749.endfor 750 751INCSGROUPS+= MEM 752MEMDIR= ${CXXINCLUDEDIR}/__memory 753MEM_HEADERS+= addressof.h 754MEM_HEADERS+= align.h 755MEM_HEADERS+= allocate_at_least.h 756MEM_HEADERS+= allocation_guard.h 757MEM_HEADERS+= allocator.h 758MEM_HEADERS+= allocator_arg_t.h 759MEM_HEADERS+= allocator_destructor.h 760MEM_HEADERS+= allocator_traits.h 761MEM_HEADERS+= assume_aligned.h 762MEM_HEADERS+= auto_ptr.h 763MEM_HEADERS+= builtin_new_allocator.h 764MEM_HEADERS+= compressed_pair.h 765MEM_HEADERS+= concepts.h 766MEM_HEADERS+= construct_at.h 767MEM_HEADERS+= destruct_n.h 768MEM_HEADERS+= pointer_traits.h 769MEM_HEADERS+= ranges_construct_at.h 770MEM_HEADERS+= ranges_uninitialized_algorithms.h 771MEM_HEADERS+= raw_storage_iterator.h 772MEM_HEADERS+= shared_ptr.h 773MEM_HEADERS+= swap_allocator.h 774MEM_HEADERS+= temp_value.h 775MEM_HEADERS+= temporary_buffer.h 776MEM_HEADERS+= uninitialized_algorithms.h 777MEM_HEADERS+= unique_ptr.h 778MEM_HEADERS+= uses_allocator.h 779MEM_HEADERS+= uses_allocator_construction.h 780MEM_HEADERS+= voidify.h 781.for hdr in ${MEM_HEADERS} 782MEM+= ${HDRDIR}/__memory/${hdr} 783.endfor 784 785INCSGROUPS+= MER 786MERDIR= ${CXXINCLUDEDIR}/__memory_resource 787MER_HEADERS+= memory_resource.h 788MER_HEADERS+= monotonic_buffer_resource.h 789MER_HEADERS+= polymorphic_allocator.h 790MER_HEADERS+= pool_options.h 791MER_HEADERS+= synchronized_pool_resource.h 792MER_HEADERS+= unsynchronized_pool_resource.h 793.for hdr in ${MER_HEADERS} 794MER+= ${HDRDIR}/__memory_resource/${hdr} 795.endfor 796 797INCSGROUPS+= NUM 798NUMDIR= ${CXXINCLUDEDIR}/__numeric 799NUM_HEADERS+= accumulate.h 800NUM_HEADERS+= adjacent_difference.h 801NUM_HEADERS+= exclusive_scan.h 802NUM_HEADERS+= gcd_lcm.h 803NUM_HEADERS+= inclusive_scan.h 804NUM_HEADERS+= inner_product.h 805NUM_HEADERS+= iota.h 806NUM_HEADERS+= midpoint.h 807NUM_HEADERS+= partial_sum.h 808NUM_HEADERS+= reduce.h 809NUM_HEADERS+= transform_exclusive_scan.h 810NUM_HEADERS+= transform_inclusive_scan.h 811NUM_HEADERS+= transform_reduce.h 812.for hdr in ${NUM_HEADERS} 813NUM+= ${HDRDIR}/__numeric/${hdr} 814.endfor 815 816INCSGROUPS+= RND 817RNDDIR= ${CXXINCLUDEDIR}/__random 818RND_HEADERS+= bernoulli_distribution.h 819RND_HEADERS+= binomial_distribution.h 820RND_HEADERS+= cauchy_distribution.h 821RND_HEADERS+= chi_squared_distribution.h 822RND_HEADERS+= clamp_to_integral.h 823RND_HEADERS+= default_random_engine.h 824RND_HEADERS+= discard_block_engine.h 825RND_HEADERS+= discrete_distribution.h 826RND_HEADERS+= exponential_distribution.h 827RND_HEADERS+= extreme_value_distribution.h 828RND_HEADERS+= fisher_f_distribution.h 829RND_HEADERS+= gamma_distribution.h 830RND_HEADERS+= generate_canonical.h 831RND_HEADERS+= geometric_distribution.h 832RND_HEADERS+= independent_bits_engine.h 833RND_HEADERS+= is_seed_sequence.h 834RND_HEADERS+= is_valid.h 835RND_HEADERS+= knuth_b.h 836RND_HEADERS+= linear_congruential_engine.h 837RND_HEADERS+= log2.h 838RND_HEADERS+= lognormal_distribution.h 839RND_HEADERS+= mersenne_twister_engine.h 840RND_HEADERS+= negative_binomial_distribution.h 841RND_HEADERS+= normal_distribution.h 842RND_HEADERS+= piecewise_constant_distribution.h 843RND_HEADERS+= piecewise_linear_distribution.h 844RND_HEADERS+= poisson_distribution.h 845RND_HEADERS+= random_device.h 846RND_HEADERS+= ranlux.h 847RND_HEADERS+= seed_seq.h 848RND_HEADERS+= shuffle_order_engine.h 849RND_HEADERS+= student_t_distribution.h 850RND_HEADERS+= subtract_with_carry_engine.h 851RND_HEADERS+= uniform_int_distribution.h 852RND_HEADERS+= uniform_random_bit_generator.h 853RND_HEADERS+= uniform_real_distribution.h 854RND_HEADERS+= weibull_distribution.h 855.for hdr in ${RND_HEADERS} 856RND+= ${HDRDIR}/__random/${hdr} 857.endfor 858 859INCSGROUPS+= RNG 860RNGDIR= ${CXXINCLUDEDIR}/__ranges 861RNG_HEADERS+= access.h 862RNG_HEADERS+= all.h 863RNG_HEADERS+= as_rvalue_view.h 864RNG_HEADERS+= common_view.h 865RNG_HEADERS+= concepts.h 866RNG_HEADERS+= copyable_box.h 867RNG_HEADERS+= counted.h 868RNG_HEADERS+= dangling.h 869RNG_HEADERS+= data.h 870RNG_HEADERS+= drop_view.h 871RNG_HEADERS+= drop_while_view.h 872RNG_HEADERS+= elements_view.h 873RNG_HEADERS+= empty.h 874RNG_HEADERS+= empty_view.h 875RNG_HEADERS+= enable_borrowed_range.h 876RNG_HEADERS+= enable_view.h 877RNG_HEADERS+= filter_view.h 878RNG_HEADERS+= iota_view.h 879RNG_HEADERS+= istream_view.h 880RNG_HEADERS+= join_view.h 881RNG_HEADERS+= lazy_split_view.h 882RNG_HEADERS+= non_propagating_cache.h 883RNG_HEADERS+= owning_view.h 884RNG_HEADERS+= range_adaptor.h 885RNG_HEADERS+= rbegin.h 886RNG_HEADERS+= ref_view.h 887RNG_HEADERS+= rend.h 888RNG_HEADERS+= reverse_view.h 889RNG_HEADERS+= single_view.h 890RNG_HEADERS+= size.h 891RNG_HEADERS+= split_view.h 892RNG_HEADERS+= subrange.h 893RNG_HEADERS+= take_view.h 894RNG_HEADERS+= take_while_view.h 895RNG_HEADERS+= transform_view.h 896RNG_HEADERS+= view_interface.h 897RNG_HEADERS+= views.h 898RNG_HEADERS+= zip_view.h 899.for hdr in ${RNG_HEADERS} 900RNG+= ${HDRDIR}/__ranges/${hdr} 901.endfor 902 903INCSGROUPS+= STR 904STRDIR= ${CXXINCLUDEDIR}/__string 905STR_HEADERS+= char_traits.h 906STR_HEADERS+= extern_template_lists.h 907.for hdr in ${STR_HEADERS} 908STR+= ${HDRDIR}/__string/${hdr} 909.endfor 910 911INCSGROUPS+= THR 912THRDIR= ${CXXINCLUDEDIR}/__thread 913THR_HEADERS+= poll_with_backoff.h 914THR_HEADERS+= timed_backoff_policy.h 915.for hdr in ${THR_HEADERS} 916THR+= ${HDRDIR}/__thread/${hdr} 917.endfor 918 919INCSGROUPS+= TUP 920TUPDIR= ${CXXINCLUDEDIR}/__tuple_dir 921TUP_HEADERS+= apply_cv.h 922TUP_HEADERS+= make_tuple_types.h 923TUP_HEADERS+= pair_like.h 924TUP_HEADERS+= sfinae_helpers.h 925TUP_HEADERS+= tuple_element.h 926TUP_HEADERS+= tuple_indices.h 927TUP_HEADERS+= tuple_like.h 928TUP_HEADERS+= tuple_like_ext.h 929TUP_HEADERS+= tuple_size.h 930TUP_HEADERS+= tuple_types.h 931.for hdr in ${TUP_HEADERS} 932TUP+= ${HDRDIR}/__tuple_dir/${hdr} 933.endfor 934 935INCSGROUPS+= TTR 936TTRDIR= ${CXXINCLUDEDIR}/__type_traits 937TTR_HEADERS+= add_const.h 938TTR_HEADERS+= add_cv.h 939TTR_HEADERS+= add_lvalue_reference.h 940TTR_HEADERS+= add_pointer.h 941TTR_HEADERS+= add_rvalue_reference.h 942TTR_HEADERS+= add_volatile.h 943TTR_HEADERS+= aligned_storage.h 944TTR_HEADERS+= aligned_union.h 945TTR_HEADERS+= alignment_of.h 946TTR_HEADERS+= apply_cv.h 947TTR_HEADERS+= can_extract_key.h 948TTR_HEADERS+= common_reference.h 949TTR_HEADERS+= common_type.h 950TTR_HEADERS+= conditional.h 951TTR_HEADERS+= conjunction.h 952TTR_HEADERS+= copy_cv.h 953TTR_HEADERS+= copy_cvref.h 954TTR_HEADERS+= decay.h 955TTR_HEADERS+= dependent_type.h 956TTR_HEADERS+= disjunction.h 957TTR_HEADERS+= enable_if.h 958TTR_HEADERS+= extent.h 959TTR_HEADERS+= has_unique_object_representation.h 960TTR_HEADERS+= has_virtual_destructor.h 961TTR_HEADERS+= integral_constant.h 962TTR_HEADERS+= is_abstract.h 963TTR_HEADERS+= is_aggregate.h 964TTR_HEADERS+= is_allocator.h 965TTR_HEADERS+= is_always_bitcastable.h 966TTR_HEADERS+= is_arithmetic.h 967TTR_HEADERS+= is_array.h 968TTR_HEADERS+= is_assignable.h 969TTR_HEADERS+= is_base_of.h 970TTR_HEADERS+= is_bounded_array.h 971TTR_HEADERS+= is_callable.h 972TTR_HEADERS+= is_char_like_type.h 973TTR_HEADERS+= is_class.h 974TTR_HEADERS+= is_compound.h 975TTR_HEADERS+= is_const.h 976TTR_HEADERS+= is_constant_evaluated.h 977TTR_HEADERS+= is_constructible.h 978TTR_HEADERS+= is_convertible.h 979TTR_HEADERS+= is_copy_assignable.h 980TTR_HEADERS+= is_copy_constructible.h 981TTR_HEADERS+= is_core_convertible.h 982TTR_HEADERS+= is_default_constructible.h 983TTR_HEADERS+= is_destructible.h 984TTR_HEADERS+= is_empty.h 985TTR_HEADERS+= is_enum.h 986TTR_HEADERS+= is_final.h 987TTR_HEADERS+= is_floating_point.h 988TTR_HEADERS+= is_function.h 989TTR_HEADERS+= is_fundamental.h 990TTR_HEADERS+= is_implicitly_default_constructible.h 991TTR_HEADERS+= is_integral.h 992TTR_HEADERS+= is_literal_type.h 993TTR_HEADERS+= is_member_function_pointer.h 994TTR_HEADERS+= is_member_object_pointer.h 995TTR_HEADERS+= is_member_pointer.h 996TTR_HEADERS+= is_move_assignable.h 997TTR_HEADERS+= is_move_constructible.h 998TTR_HEADERS+= is_nothrow_assignable.h 999TTR_HEADERS+= is_nothrow_constructible.h 1000TTR_HEADERS+= is_nothrow_convertible.h 1001TTR_HEADERS+= is_nothrow_copy_assignable.h 1002TTR_HEADERS+= is_nothrow_copy_constructible.h 1003TTR_HEADERS+= is_nothrow_default_constructible.h 1004TTR_HEADERS+= is_nothrow_destructible.h 1005TTR_HEADERS+= is_nothrow_move_assignable.h 1006TTR_HEADERS+= is_nothrow_move_constructible.h 1007TTR_HEADERS+= is_null_pointer.h 1008TTR_HEADERS+= is_object.h 1009TTR_HEADERS+= is_pod.h 1010TTR_HEADERS+= is_pointer.h 1011TTR_HEADERS+= is_polymorphic.h 1012TTR_HEADERS+= is_primary_template.h 1013TTR_HEADERS+= is_reference.h 1014TTR_HEADERS+= is_reference_wrapper.h 1015TTR_HEADERS+= is_referenceable.h 1016TTR_HEADERS+= is_same.h 1017TTR_HEADERS+= is_scalar.h 1018TTR_HEADERS+= is_scoped_enum.h 1019TTR_HEADERS+= is_signed.h 1020TTR_HEADERS+= is_signed_integer.h 1021TTR_HEADERS+= is_specialization.h 1022TTR_HEADERS+= is_standard_layout.h 1023TTR_HEADERS+= is_swappable.h 1024TTR_HEADERS+= is_trivial.h 1025TTR_HEADERS+= is_trivially_assignable.h 1026TTR_HEADERS+= is_trivially_constructible.h 1027TTR_HEADERS+= is_trivially_copy_assignable.h 1028TTR_HEADERS+= is_trivially_copy_constructible.h 1029TTR_HEADERS+= is_trivially_copyable.h 1030TTR_HEADERS+= is_trivially_default_constructible.h 1031TTR_HEADERS+= is_trivially_destructible.h 1032TTR_HEADERS+= is_trivially_move_assignable.h 1033TTR_HEADERS+= is_trivially_move_constructible.h 1034TTR_HEADERS+= is_unbounded_array.h 1035TTR_HEADERS+= is_union.h 1036TTR_HEADERS+= is_unsigned.h 1037TTR_HEADERS+= is_unsigned_integer.h 1038TTR_HEADERS+= is_valid_expansion.h 1039TTR_HEADERS+= is_void.h 1040TTR_HEADERS+= is_volatile.h 1041TTR_HEADERS+= lazy.h 1042TTR_HEADERS+= make_32_64_or_128_bit.h 1043TTR_HEADERS+= make_const_lvalue_ref.h 1044TTR_HEADERS+= make_signed.h 1045TTR_HEADERS+= make_unsigned.h 1046TTR_HEADERS+= maybe_const.h 1047TTR_HEADERS+= nat.h 1048TTR_HEADERS+= negation.h 1049TTR_HEADERS+= noexcept_move_assign_container.h 1050TTR_HEADERS+= promote.h 1051TTR_HEADERS+= rank.h 1052TTR_HEADERS+= remove_all_extents.h 1053TTR_HEADERS+= remove_const.h 1054TTR_HEADERS+= remove_const_ref.h 1055TTR_HEADERS+= remove_cv.h 1056TTR_HEADERS+= remove_cvref.h 1057TTR_HEADERS+= remove_extent.h 1058TTR_HEADERS+= remove_pointer.h 1059TTR_HEADERS+= remove_reference.h 1060TTR_HEADERS+= remove_volatile.h 1061TTR_HEADERS+= result_of.h 1062TTR_HEADERS+= strip_signature.h 1063TTR_HEADERS+= type_identity.h 1064TTR_HEADERS+= type_list.h 1065TTR_HEADERS+= underlying_type.h 1066TTR_HEADERS+= void_t.h 1067.for hdr in ${TTR_HEADERS} 1068TTR+= ${HDRDIR}/__type_traits/${hdr} 1069.endfor 1070 1071INCSGROUPS+= UTL 1072UTLDIR= ${CXXINCLUDEDIR}/__utility 1073UTL_HEADERS+= as_const.h 1074UTL_HEADERS+= auto_cast.h 1075UTL_HEADERS+= cmp.h 1076UTL_HEADERS+= convert_to_integral.h 1077UTL_HEADERS+= declval.h 1078UTL_HEADERS+= exception_guard.h 1079UTL_HEADERS+= exchange.h 1080UTL_HEADERS+= forward.h 1081UTL_HEADERS+= forward_like.h 1082UTL_HEADERS+= in_place.h 1083UTL_HEADERS+= integer_sequence.h 1084UTL_HEADERS+= move.h 1085UTL_HEADERS+= pair.h 1086UTL_HEADERS+= piecewise_construct.h 1087UTL_HEADERS+= priority_tag.h 1088UTL_HEADERS+= rel_ops.h 1089UTL_HEADERS+= swap.h 1090UTL_HEADERS+= to_underlying.h 1091UTL_HEADERS+= unreachable.h 1092.for hdr in ${UTL_HEADERS} 1093UTL+= ${HDRDIR}/__utility/${hdr} 1094.endfor 1095 1096INCSGROUPS+= VAR 1097VARDIR= ${CXXINCLUDEDIR}/__variant 1098VAR_HEADERS+= monostate.h 1099.for hdr in ${VAR_HEADERS} 1100VAR+= ${HDRDIR}/__variant/${hdr} 1101.endfor 1102 1103INCSGROUPS+= EXP 1104EXPDIR= ${CXXINCLUDEDIR}/experimental 1105EXP_HEADERS+= __config 1106EXP_HEADERS+= __memory 1107EXP_HEADERS+= algorithm 1108EXP_HEADERS+= coroutine 1109EXP_HEADERS+= deque 1110EXP_HEADERS+= forward_list 1111EXP_HEADERS+= functional 1112EXP_HEADERS+= iterator 1113EXP_HEADERS+= list 1114EXP_HEADERS+= map 1115EXP_HEADERS+= memory_resource 1116EXP_HEADERS+= propagate_const 1117EXP_HEADERS+= regex 1118EXP_HEADERS+= set 1119EXP_HEADERS+= simd 1120EXP_HEADERS+= string 1121EXP_HEADERS+= type_traits 1122EXP_HEADERS+= unordered_map 1123EXP_HEADERS+= unordered_set 1124EXP_HEADERS+= utility 1125EXP_HEADERS+= vector 1126.for hdr in ${EXP_HEADERS} 1127EXP+= ${HDRDIR}/experimental/${hdr} 1128.endfor 1129 1130INCSGROUPS+= EXT 1131EXTDIR= ${CXXINCLUDEDIR}/ext 1132EXT_HEADERS+= __hash 1133EXT_HEADERS+= hash_map 1134EXT_HEADERS+= hash_set 1135.for hdr in ${EXT_HEADERS} 1136EXT+= ${HDRDIR}/ext/${hdr} 1137.endfor 1138 1139.include <bsd.lib.mk> 1140