xref: /freebsd-14.2/lib/libc++/Makefile (revision a58f00ea)
17a984708SDavid Chisnall
25e6a2d6eSDimitry AndricSHLIBDIR?=	/lib
35e6a2d6eSDimitry Andric
4aa7703beSBaptiste Daroussin.include <src.opts.mk>
5aa7703beSBaptiste Daroussin
6c389411cSGlen BarberPACKAGE=	clibs
73f910b91SDimitry Andric_LIBCXXRTDIR=	${SRCTOP}/contrib/libcxxrt
80b57cec5SDimitry AndricHDRDIR=		${SRCTOP}/contrib/llvm-project/libcxx/include
90b57cec5SDimitry AndricSRCDIR=		${SRCTOP}/contrib/llvm-project/libcxx/src
107a984708SDavid ChisnallCXXINCLUDEDIR=	${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
117a984708SDavid Chisnall
127a984708SDavid Chisnall.PATH: ${SRCDIR}
137a984708SDavid Chisnall
147a984708SDavid ChisnallLIB=		c++
157a984708SDavid ChisnallSHLIB_MAJOR=	1
16e669ff37SDimitry AndricSHLIB_LDSCRIPT=	libc++.ldscript
177a984708SDavid Chisnall
183f910b91SDimitry AndricSRCS+=		algorithm.cpp
193f910b91SDimitry AndricSRCS+=		any.cpp
20c37f312dSDimitry AndricSRCS+=		atomic.cpp
21c37f312dSDimitry AndricSRCS+=		barrier.cpp
223f910b91SDimitry AndricSRCS+=		bind.cpp
23c9157d92SDimitry AndricSRCS+=		call_once.cpp
24488aa40aSDimitry AndricSRCS+=		charconv.cpp
253f910b91SDimitry AndricSRCS+=		chrono.cpp
263f910b91SDimitry AndricSRCS+=		condition_variable.cpp
27b0d4288fSDimitry AndricSRCS+=		condition_variable_destructor.cpp
28c9157d92SDimitry AndricSRCS+=		error_category.cpp
293f910b91SDimitry AndricSRCS+=		exception.cpp
30fe013be4SDimitry AndricSRCS+=		filesystem/directory_entry.cpp
31b0d4288fSDimitry AndricSRCS+=		filesystem/directory_iterator.cpp
32fe013be4SDimitry AndricSRCS+=		filesystem/filesystem_clock.cpp
33fe013be4SDimitry AndricSRCS+=		filesystem/filesystem_error.cpp
34b0d4288fSDimitry AndricSRCS+=		filesystem/int128_builtins.cpp
35b0d4288fSDimitry AndricSRCS+=		filesystem/operations.cpp
36fe013be4SDimitry AndricSRCS+=		filesystem/path.cpp
37540d2a8bSDimitry AndricSRCS+=		functional.cpp
383f910b91SDimitry AndricSRCS+=		future.cpp
393f910b91SDimitry AndricSRCS+=		hash.cpp
403f910b91SDimitry AndricSRCS+=		ios.cpp
41d409305fSDimitry AndricSRCS+=		ios.instantiations.cpp
423f910b91SDimitry AndricSRCS+=		iostream.cpp
435e801ac6SDimitry AndricSRCS+=		legacy_pointer_safety.cpp
443f910b91SDimitry AndricSRCS+=		locale.cpp
453f910b91SDimitry AndricSRCS+=		memory.cpp
46bdd1243dSDimitry AndricSRCS+=		memory_resource.cpp
473f910b91SDimitry AndricSRCS+=		mutex.cpp
48b0d4288fSDimitry AndricSRCS+=		mutex_destructor.cpp
493f910b91SDimitry AndricSRCS+=		new.cpp
50fe013be4SDimitry AndricSRCS+=		new_handler.cpp
51fe013be4SDimitry AndricSRCS+=		new_helpers.cpp
523f910b91SDimitry AndricSRCS+=		optional.cpp
53e710425bSDimitry AndricSRCS+=		ostream.cpp
54fe013be4SDimitry AndricSRCS+=		print.cpp
553f910b91SDimitry AndricSRCS+=		random.cpp
56c37f312dSDimitry AndricSRCS+=		random_shuffle.cpp
573f910b91SDimitry AndricSRCS+=		regex.cpp
5804eeddc0SDimitry AndricSRCS+=		ryu/d2fixed.cpp
5904eeddc0SDimitry AndricSRCS+=		ryu/d2s.cpp
6004eeddc0SDimitry AndricSRCS+=		ryu/f2s.cpp
613f910b91SDimitry AndricSRCS+=		shared_mutex.cpp
623f910b91SDimitry AndricSRCS+=		stdexcept.cpp
633f910b91SDimitry AndricSRCS+=		string.cpp
643f910b91SDimitry AndricSRCS+=		strstream.cpp
653f910b91SDimitry AndricSRCS+=		system_error.cpp
663f910b91SDimitry AndricSRCS+=		thread.cpp
673f910b91SDimitry AndricSRCS+=		typeinfo.cpp
683f910b91SDimitry AndricSRCS+=		valarray.cpp
695d77776cSDimitry AndricSRCS+=		variant.cpp
7024d58133SDimitry AndricSRCS+=		vector.cpp
7161cfbce3SDimitry AndricSRCS+=		verbose_abort.cpp
727a984708SDavid Chisnall
733f910b91SDimitry AndricCXXRT_SRCS+=	auxhelper.cc
743f910b91SDimitry AndricCXXRT_SRCS+=	dynamic_cast.cc
753f910b91SDimitry AndricCXXRT_SRCS+=	exception.cc
763f910b91SDimitry AndricCXXRT_SRCS+=	guard.cc
773f910b91SDimitry AndricCXXRT_SRCS+=	libelftc_dem_gnu3.c
783f910b91SDimitry AndricCXXRT_SRCS+=	memory.cc
793f910b91SDimitry AndricCXXRT_SRCS+=	stdexcept.cc
803f910b91SDimitry AndricCXXRT_SRCS+=	terminate.cc
813f910b91SDimitry AndricCXXRT_SRCS+=	typeinfo.cc
8215e154dfSDimitry Andric
8315e154dfSDimitry Andric.for _S in ${CXXRT_SRCS}
847533aa15SBryan DreweryCLEANFILES+=	cxxrt_${_S}
8515e154dfSDimitry AndricSTATICOBJS+=	cxxrt_${_S:R}.o
863c89d6b0SBryan Drewerycxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA
87b791fbe6SBryan Drewery	ln -sf ${.ALLSRC} ${.TARGET}
8815e154dfSDimitry Andric.endfor
8915e154dfSDimitry Andric
90ecebb3ccSKyle EvansWARNS?=		0
91*a58f00eaSDimitry AndricCFLAGS+=	-isystem ${SRCDIR}
926e75b2fbSDimitry AndricCFLAGS+=	-isystem ${.CURDIR}
93302affcbSDimitry AndricCFLAGS+=	-isystem ${HDRDIR}
94302affcbSDimitry AndricCFLAGS+=	-isystem ${_LIBCXXRTDIR}
95302affcbSDimitry AndricCFLAGS+=	-nostdinc++
96302affcbSDimitry AndricCFLAGS+=	-nostdlib
97302affcbSDimitry AndricCFLAGS+=	-D_LIBCPP_BUILDING_LIBRARY
98*a58f00eaSDimitry AndricCFLAGS+=	-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
99*a58f00eaSDimitry AndricCFLAGS+=	-D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES
100302affcbSDimitry AndricCFLAGS+=	-DLIBCXXRT
10197e6bc16SDimitry AndricCFLAGS+=	-fdata-sections
102*a58f00eaSDimitry AndricCFLAGS+=	-ffunction-sections
103*a58f00eaSDimitry AndricCFLAGS+=	-fno-semantic-interposition
104*a58f00eaSDimitry AndricCFLAGS+=	-fvisibility-inlines-hidden
105*a58f00eaSDimitry AndricCFLAGS+=	-fvisibility=hidden
10604eeddc0SDimitry AndricCXXSTD?=	c++20
1077a984708SDavid Chisnall
1086b129086SBaptiste DaroussinLIBADD+=	cxxrt
1097a984708SDavid Chisnall
1106e75b2fbSDimitry AndricINCSGROUPS+=	STD
1116e75b2fbSDimitry AndricSTDDIR=		${CXXINCLUDEDIR}
11281ad6265SDimitry AndricSTD_HEADERS+=	__assert
113d409305fSDimitry AndricSTD_HEADERS+=	__availability
1143f910b91SDimitry AndricSTD_HEADERS+=	__bit_reference
1156e75b2fbSDimitry AndricSTD_HEADERS+=	__config
1163f910b91SDimitry AndricSTD_HEADERS+=	__hash_table
1173f910b91SDimitry AndricSTD_HEADERS+=	__locale
1185e801ac6SDimitry AndricSTD_HEADERS+=	__mbstate_t.h
119488aa40aSDimitry AndricSTD_HEADERS+=	__node_handle
1203f910b91SDimitry AndricSTD_HEADERS+=	__split_buffer
121c9157d92SDimitry AndricSTD_HEADERS+=	__std_clang_module
122fe013be4SDimitry AndricSTD_HEADERS+=	__std_mbstate_t.h
1233f910b91SDimitry AndricSTD_HEADERS+=	__threading_support
1243f910b91SDimitry AndricSTD_HEADERS+=	__tree
125f9448bf3SDimitry AndricSTD_HEADERS+=	__undef_macros
12661cfbce3SDimitry AndricSTD_HEADERS+=	__verbose_abort
1273f910b91SDimitry AndricSTD_HEADERS+=	algorithm
1283f910b91SDimitry AndricSTD_HEADERS+=	any
1293f910b91SDimitry AndricSTD_HEADERS+=	array
1303f910b91SDimitry AndricSTD_HEADERS+=	atomic
13195aa617eSDimitry AndricSTD_HEADERS+=	barrier
13258a7b5d6SDimitry AndricSTD_HEADERS+=	bit
1333f910b91SDimitry AndricSTD_HEADERS+=	bitset
1343f910b91SDimitry AndricSTD_HEADERS+=	cassert
1353f910b91SDimitry AndricSTD_HEADERS+=	ccomplex
1363f910b91SDimitry AndricSTD_HEADERS+=	cctype
1373f910b91SDimitry AndricSTD_HEADERS+=	cerrno
1383f910b91SDimitry AndricSTD_HEADERS+=	cfenv
1393f910b91SDimitry AndricSTD_HEADERS+=	cfloat
140488aa40aSDimitry AndricSTD_HEADERS+=	charconv
1413f910b91SDimitry AndricSTD_HEADERS+=	chrono
1423f910b91SDimitry AndricSTD_HEADERS+=	cinttypes
1433f910b91SDimitry AndricSTD_HEADERS+=	ciso646
1443f910b91SDimitry AndricSTD_HEADERS+=	climits
1453f910b91SDimitry AndricSTD_HEADERS+=	clocale
1463f910b91SDimitry AndricSTD_HEADERS+=	cmath
1473f910b91SDimitry AndricSTD_HEADERS+=	codecvt
148488aa40aSDimitry AndricSTD_HEADERS+=	compare
1493f910b91SDimitry AndricSTD_HEADERS+=	complex
1503f910b91SDimitry AndricSTD_HEADERS+=	complex.h
15195aa617eSDimitry AndricSTD_HEADERS+=	concepts
1523f910b91SDimitry AndricSTD_HEADERS+=	condition_variable
1535e801ac6SDimitry AndricSTD_HEADERS+=	coroutine
1543f910b91SDimitry AndricSTD_HEADERS+=	csetjmp
1553f910b91SDimitry AndricSTD_HEADERS+=	csignal
1563f910b91SDimitry AndricSTD_HEADERS+=	cstdarg
1573f910b91SDimitry AndricSTD_HEADERS+=	cstdbool
1583f910b91SDimitry AndricSTD_HEADERS+=	cstddef
1593f910b91SDimitry AndricSTD_HEADERS+=	cstdint
1603f910b91SDimitry AndricSTD_HEADERS+=	cstdio
1613f910b91SDimitry AndricSTD_HEADERS+=	cstdlib
1623f910b91SDimitry AndricSTD_HEADERS+=	cstring
1633f910b91SDimitry AndricSTD_HEADERS+=	ctgmath
1643f910b91SDimitry AndricSTD_HEADERS+=	ctime
1653f910b91SDimitry AndricSTD_HEADERS+=	ctype.h
16681ad6265SDimitry AndricSTD_HEADERS+=	cuchar
1673f910b91SDimitry AndricSTD_HEADERS+=	cwchar
1683f910b91SDimitry AndricSTD_HEADERS+=	cwctype
1693f910b91SDimitry AndricSTD_HEADERS+=	deque
1703f910b91SDimitry AndricSTD_HEADERS+=	errno.h
1713f910b91SDimitry AndricSTD_HEADERS+=	exception
17295aa617eSDimitry AndricSTD_HEADERS+=	execution
173bdd1243dSDimitry AndricSTD_HEADERS+=	expected
174b0d4288fSDimitry AndricSTD_HEADERS+=	fenv.h
175488aa40aSDimitry AndricSTD_HEADERS+=	filesystem
1763f910b91SDimitry AndricSTD_HEADERS+=	float.h
1776e75b2fbSDimitry AndricSTD_HEADERS+=	format
1783f910b91SDimitry AndricSTD_HEADERS+=	forward_list
1793f910b91SDimitry AndricSTD_HEADERS+=	fstream
1803f910b91SDimitry AndricSTD_HEADERS+=	functional
1813f910b91SDimitry AndricSTD_HEADERS+=	future
1823f910b91SDimitry AndricSTD_HEADERS+=	initializer_list
1833f910b91SDimitry AndricSTD_HEADERS+=	inttypes.h
1843f910b91SDimitry AndricSTD_HEADERS+=	iomanip
1853f910b91SDimitry AndricSTD_HEADERS+=	ios
1863f910b91SDimitry AndricSTD_HEADERS+=	iosfwd
1873f910b91SDimitry AndricSTD_HEADERS+=	iostream
1883f910b91SDimitry AndricSTD_HEADERS+=	istream
1893f910b91SDimitry AndricSTD_HEADERS+=	iterator
19095aa617eSDimitry AndricSTD_HEADERS+=	latch
191bdd1243dSDimitry AndricSTD_HEADERS+=	libcxx.imp
1923f910b91SDimitry AndricSTD_HEADERS+=	limits
1933f910b91SDimitry AndricSTD_HEADERS+=	list
1943f910b91SDimitry AndricSTD_HEADERS+=	locale
1953f910b91SDimitry AndricSTD_HEADERS+=	locale.h
1963f910b91SDimitry AndricSTD_HEADERS+=	map
1973f910b91SDimitry AndricSTD_HEADERS+=	math.h
198fe013be4SDimitry AndricSTD_HEADERS+=	mdspan
1993f910b91SDimitry AndricSTD_HEADERS+=	memory
200bdd1243dSDimitry AndricSTD_HEADERS+=	memory_resource
2013f910b91SDimitry AndricSTD_HEADERS+=	mutex
2023f910b91SDimitry AndricSTD_HEADERS+=	new
20395aa617eSDimitry AndricSTD_HEADERS+=	numbers
2043f910b91SDimitry AndricSTD_HEADERS+=	numeric
2053f910b91SDimitry AndricSTD_HEADERS+=	optional
2063f910b91SDimitry AndricSTD_HEADERS+=	ostream
207fe013be4SDimitry AndricSTD_HEADERS+=	print
2083f910b91SDimitry AndricSTD_HEADERS+=	queue
2093f910b91SDimitry AndricSTD_HEADERS+=	random
2106e75b2fbSDimitry AndricSTD_HEADERS+=	ranges
2113f910b91SDimitry AndricSTD_HEADERS+=	ratio
2123f910b91SDimitry AndricSTD_HEADERS+=	regex
2133f910b91SDimitry AndricSTD_HEADERS+=	scoped_allocator
21495aa617eSDimitry AndricSTD_HEADERS+=	semaphore
2153f910b91SDimitry AndricSTD_HEADERS+=	set
2163f910b91SDimitry AndricSTD_HEADERS+=	shared_mutex
217bdd1243dSDimitry AndricSTD_HEADERS+=	source_location
218488aa40aSDimitry AndricSTD_HEADERS+=	span
2193f910b91SDimitry AndricSTD_HEADERS+=	sstream
2203f910b91SDimitry AndricSTD_HEADERS+=	stack
22181ad6265SDimitry AndricSTD_HEADERS+=	stdatomic.h
2223f910b91SDimitry AndricSTD_HEADERS+=	stdbool.h
2233f910b91SDimitry AndricSTD_HEADERS+=	stddef.h
2243f910b91SDimitry AndricSTD_HEADERS+=	stdexcept
2253f910b91SDimitry AndricSTD_HEADERS+=	stdint.h
2263f910b91SDimitry AndricSTD_HEADERS+=	stdio.h
2273f910b91SDimitry AndricSTD_HEADERS+=	stdlib.h
228fe013be4SDimitry AndricSTD_HEADERS+=	stop_token
2293f910b91SDimitry AndricSTD_HEADERS+=	streambuf
2303f910b91SDimitry AndricSTD_HEADERS+=	string
2313f910b91SDimitry AndricSTD_HEADERS+=	string.h
2323f910b91SDimitry AndricSTD_HEADERS+=	string_view
2333f910b91SDimitry AndricSTD_HEADERS+=	strstream
234c9157d92SDimitry AndricSTD_HEADERS+=	syncstream
2353f910b91SDimitry AndricSTD_HEADERS+=	system_error
2363f910b91SDimitry AndricSTD_HEADERS+=	tgmath.h
2373f910b91SDimitry AndricSTD_HEADERS+=	thread
2383f910b91SDimitry AndricSTD_HEADERS+=	tuple
2393f910b91SDimitry AndricSTD_HEADERS+=	type_traits
2403f910b91SDimitry AndricSTD_HEADERS+=	typeindex
2413f910b91SDimitry AndricSTD_HEADERS+=	typeinfo
24281ad6265SDimitry AndricSTD_HEADERS+=	uchar.h
2433f910b91SDimitry AndricSTD_HEADERS+=	unordered_map
2443f910b91SDimitry AndricSTD_HEADERS+=	unordered_set
2453f910b91SDimitry AndricSTD_HEADERS+=	utility
2463f910b91SDimitry AndricSTD_HEADERS+=	valarray
2473f910b91SDimitry AndricSTD_HEADERS+=	variant
2483f910b91SDimitry AndricSTD_HEADERS+=	vector
249488aa40aSDimitry AndricSTD_HEADERS+=	version
2503f910b91SDimitry AndricSTD_HEADERS+=	wchar.h
2513f910b91SDimitry AndricSTD_HEADERS+=	wctype.h
2526e75b2fbSDimitry Andric.for hdr in ${STD_HEADERS}
2536e75b2fbSDimitry AndricSTD+=		${HDRDIR}/${hdr}
2546e75b2fbSDimitry Andric.endfor
2556e75b2fbSDimitry Andric
256*a58f00eaSDimitry Andric# Special case for __assertion_handler, which as of libc++ 18.0.0 is generated
257*a58f00eaSDimitry Andric# by CMake.
258*a58f00eaSDimitry AndricSTD+=		${.CURDIR}/__assertion_handler
259*a58f00eaSDimitry Andric
2606e75b2fbSDimitry Andric# Special case for __config_site, which as of libc++ 12.0.0 is generated by
2616e75b2fbSDimitry Andric# CMake, and as of 13.0.0 installed side-by-side with__config.
2626e75b2fbSDimitry AndricSTD+=		${.CURDIR}/__config_site
2633f910b91SDimitry Andric
26481ad6265SDimitry Andric# Special case for module.modulemap, which as of libc++ 15.0.0 is generated by
26581ad6265SDimitry Andric# CMake.
26681ad6265SDimitry AndricSTD+=		${.CURDIR}/module.modulemap
26781ad6265SDimitry Andric
2683f910b91SDimitry AndricRT_HEADERS+=	cxxabi.h
269cd38c408SDimitry Andric.for hdr in ${RT_HEADERS}
2703c89d6b0SBryan DrewerySTD+=		${_LIBCXXRTDIR}/${hdr}
271cd38c408SDimitry Andric.endfor
2727a984708SDavid Chisnall
2736e75b2fbSDimitry AndricINCSGROUPS+=	ALG
2746e75b2fbSDimitry AndricALGDIR=		${CXXINCLUDEDIR}/__algorithm
2756e75b2fbSDimitry AndricALG_HEADERS+=	adjacent_find.h
2766e75b2fbSDimitry AndricALG_HEADERS+=	all_of.h
2776e75b2fbSDimitry AndricALG_HEADERS+=	any_of.h
2786e75b2fbSDimitry AndricALG_HEADERS+=	binary_search.h
2796e75b2fbSDimitry AndricALG_HEADERS+=	clamp.h
2806e75b2fbSDimitry AndricALG_HEADERS+=	comp.h
2816e75b2fbSDimitry AndricALG_HEADERS+=	comp_ref_type.h
2826e75b2fbSDimitry AndricALG_HEADERS+=	copy.h
2836e75b2fbSDimitry AndricALG_HEADERS+=	copy_backward.h
2846e75b2fbSDimitry AndricALG_HEADERS+=	copy_if.h
285bdd1243dSDimitry AndricALG_HEADERS+=	copy_move_common.h
2866e75b2fbSDimitry AndricALG_HEADERS+=	copy_n.h
2876e75b2fbSDimitry AndricALG_HEADERS+=	count.h
2886e75b2fbSDimitry AndricALG_HEADERS+=	count_if.h
2896e75b2fbSDimitry AndricALG_HEADERS+=	equal.h
2906e75b2fbSDimitry AndricALG_HEADERS+=	equal_range.h
2916e75b2fbSDimitry AndricALG_HEADERS+=	fill.h
2926e75b2fbSDimitry AndricALG_HEADERS+=	fill_n.h
2936e75b2fbSDimitry AndricALG_HEADERS+=	find.h
2946e75b2fbSDimitry AndricALG_HEADERS+=	find_end.h
2956e75b2fbSDimitry AndricALG_HEADERS+=	find_first_of.h
2966e75b2fbSDimitry AndricALG_HEADERS+=	find_if.h
2976e75b2fbSDimitry AndricALG_HEADERS+=	find_if_not.h
298c9157d92SDimitry AndricALG_HEADERS+=	find_segment_if.h
299e710425bSDimitry AndricALG_HEADERS+=	fold.h
3006e75b2fbSDimitry AndricALG_HEADERS+=	for_each.h
3016e75b2fbSDimitry AndricALG_HEADERS+=	for_each_n.h
302fe013be4SDimitry AndricALG_HEADERS+=	for_each_segment.h
3036e75b2fbSDimitry AndricALG_HEADERS+=	generate.h
3046e75b2fbSDimitry AndricALG_HEADERS+=	generate_n.h
3056e75b2fbSDimitry AndricALG_HEADERS+=	half_positive.h
30681ad6265SDimitry AndricALG_HEADERS+=	in_found_result.h
30781ad6265SDimitry AndricALG_HEADERS+=	in_fun_result.h
3081fd87a68SDimitry AndricALG_HEADERS+=	in_in_out_result.h
30904eeddc0SDimitry AndricALG_HEADERS+=	in_in_result.h
31081ad6265SDimitry AndricALG_HEADERS+=	in_out_out_result.h
31104eeddc0SDimitry AndricALG_HEADERS+=	in_out_result.h
3126e75b2fbSDimitry AndricALG_HEADERS+=	includes.h
3136e75b2fbSDimitry AndricALG_HEADERS+=	inplace_merge.h
3146e75b2fbSDimitry AndricALG_HEADERS+=	is_heap.h
3156e75b2fbSDimitry AndricALG_HEADERS+=	is_heap_until.h
3166e75b2fbSDimitry AndricALG_HEADERS+=	is_partitioned.h
3176e75b2fbSDimitry AndricALG_HEADERS+=	is_permutation.h
3186e75b2fbSDimitry AndricALG_HEADERS+=	is_sorted.h
3196e75b2fbSDimitry AndricALG_HEADERS+=	is_sorted_until.h
3206e75b2fbSDimitry AndricALG_HEADERS+=	iter_swap.h
32181ad6265SDimitry AndricALG_HEADERS+=	iterator_operations.h
3226e75b2fbSDimitry AndricALG_HEADERS+=	lexicographical_compare.h
323fe013be4SDimitry AndricALG_HEADERS+=	lexicographical_compare_three_way.h
3246e75b2fbSDimitry AndricALG_HEADERS+=	lower_bound.h
3256e75b2fbSDimitry AndricALG_HEADERS+=	make_heap.h
32681ad6265SDimitry AndricALG_HEADERS+=	make_projected.h
3276e75b2fbSDimitry AndricALG_HEADERS+=	max.h
3286e75b2fbSDimitry AndricALG_HEADERS+=	max_element.h
3296e75b2fbSDimitry AndricALG_HEADERS+=	merge.h
3306e75b2fbSDimitry AndricALG_HEADERS+=	min.h
3316e75b2fbSDimitry AndricALG_HEADERS+=	min_element.h
33281ad6265SDimitry AndricALG_HEADERS+=	min_max_result.h
3336e75b2fbSDimitry AndricALG_HEADERS+=	minmax.h
3346e75b2fbSDimitry AndricALG_HEADERS+=	minmax_element.h
3356e75b2fbSDimitry AndricALG_HEADERS+=	mismatch.h
3366e75b2fbSDimitry AndricALG_HEADERS+=	move.h
3376e75b2fbSDimitry AndricALG_HEADERS+=	move_backward.h
3386e75b2fbSDimitry AndricALG_HEADERS+=	next_permutation.h
3396e75b2fbSDimitry AndricALG_HEADERS+=	none_of.h
3406e75b2fbSDimitry AndricALG_HEADERS+=	nth_element.h
3416e75b2fbSDimitry AndricALG_HEADERS+=	partial_sort.h
3426e75b2fbSDimitry AndricALG_HEADERS+=	partial_sort_copy.h
3436e75b2fbSDimitry AndricALG_HEADERS+=	partition.h
3446e75b2fbSDimitry AndricALG_HEADERS+=	partition_copy.h
3456e75b2fbSDimitry AndricALG_HEADERS+=	partition_point.h
3466e75b2fbSDimitry AndricALG_HEADERS+=	pop_heap.h
3476e75b2fbSDimitry AndricALG_HEADERS+=	prev_permutation.h
348fe013be4SDimitry AndricALG_HEADERS+=	pstl_any_all_none_of.h
349fe013be4SDimitry AndricALG_HEADERS+=	pstl_backend.h
350fe013be4SDimitry AndricALG_HEADERS+=	pstl_copy.h
351fe013be4SDimitry AndricALG_HEADERS+=	pstl_count.h
352c9157d92SDimitry AndricALG_HEADERS+=	pstl_equal.h
353fe013be4SDimitry AndricALG_HEADERS+=	pstl_fill.h
354fe013be4SDimitry AndricALG_HEADERS+=	pstl_find.h
355fe013be4SDimitry AndricALG_HEADERS+=	pstl_for_each.h
356fe013be4SDimitry AndricALG_HEADERS+=	pstl_frontend_dispatch.h
357fe013be4SDimitry AndricALG_HEADERS+=	pstl_generate.h
358fe013be4SDimitry AndricALG_HEADERS+=	pstl_is_partitioned.h
359fe013be4SDimitry AndricALG_HEADERS+=	pstl_merge.h
360c9157d92SDimitry AndricALG_HEADERS+=	pstl_move.h
361fe013be4SDimitry AndricALG_HEADERS+=	pstl_replace.h
362c9157d92SDimitry AndricALG_HEADERS+=	pstl_rotate_copy.h
363fe013be4SDimitry AndricALG_HEADERS+=	pstl_sort.h
364fe013be4SDimitry AndricALG_HEADERS+=	pstl_stable_sort.h
365fe013be4SDimitry AndricALG_HEADERS+=	pstl_transform.h
3666e75b2fbSDimitry AndricALG_HEADERS+=	push_heap.h
36781ad6265SDimitry AndricALG_HEADERS+=	ranges_adjacent_find.h
36881ad6265SDimitry AndricALG_HEADERS+=	ranges_all_of.h
36981ad6265SDimitry AndricALG_HEADERS+=	ranges_any_of.h
37081ad6265SDimitry AndricALG_HEADERS+=	ranges_binary_search.h
37161cfbce3SDimitry AndricALG_HEADERS+=	ranges_clamp.h
372e710425bSDimitry AndricALG_HEADERS+=	ranges_contains.h
37381ad6265SDimitry AndricALG_HEADERS+=	ranges_copy.h
37481ad6265SDimitry AndricALG_HEADERS+=	ranges_copy_backward.h
37581ad6265SDimitry AndricALG_HEADERS+=	ranges_copy_if.h
37681ad6265SDimitry AndricALG_HEADERS+=	ranges_copy_n.h
37781ad6265SDimitry AndricALG_HEADERS+=	ranges_count.h
37881ad6265SDimitry AndricALG_HEADERS+=	ranges_count_if.h
379c9157d92SDimitry AndricALG_HEADERS+=	ranges_ends_with.h
38081ad6265SDimitry AndricALG_HEADERS+=	ranges_equal.h
381753f127fSDimitry AndricALG_HEADERS+=	ranges_equal_range.h
38281ad6265SDimitry AndricALG_HEADERS+=	ranges_fill.h
38381ad6265SDimitry AndricALG_HEADERS+=	ranges_fill_n.h
38481ad6265SDimitry AndricALG_HEADERS+=	ranges_find.h
385753f127fSDimitry AndricALG_HEADERS+=	ranges_find_end.h
38681ad6265SDimitry AndricALG_HEADERS+=	ranges_find_first_of.h
38781ad6265SDimitry AndricALG_HEADERS+=	ranges_find_if.h
38881ad6265SDimitry AndricALG_HEADERS+=	ranges_find_if_not.h
38981ad6265SDimitry AndricALG_HEADERS+=	ranges_for_each.h
39081ad6265SDimitry AndricALG_HEADERS+=	ranges_for_each_n.h
391753f127fSDimitry AndricALG_HEADERS+=	ranges_generate.h
392753f127fSDimitry AndricALG_HEADERS+=	ranges_generate_n.h
393753f127fSDimitry AndricALG_HEADERS+=	ranges_includes.h
394753f127fSDimitry AndricALG_HEADERS+=	ranges_inplace_merge.h
395753f127fSDimitry AndricALG_HEADERS+=	ranges_is_heap.h
396753f127fSDimitry AndricALG_HEADERS+=	ranges_is_heap_until.h
39781ad6265SDimitry AndricALG_HEADERS+=	ranges_is_partitioned.h
39861cfbce3SDimitry AndricALG_HEADERS+=	ranges_is_permutation.h
39981ad6265SDimitry AndricALG_HEADERS+=	ranges_is_sorted.h
40081ad6265SDimitry AndricALG_HEADERS+=	ranges_is_sorted_until.h
401fcaf7f86SDimitry AndricALG_HEADERS+=	ranges_iterator_concept.h
40281ad6265SDimitry AndricALG_HEADERS+=	ranges_lexicographical_compare.h
40381ad6265SDimitry AndricALG_HEADERS+=	ranges_lower_bound.h
404753f127fSDimitry AndricALG_HEADERS+=	ranges_make_heap.h
40581ad6265SDimitry AndricALG_HEADERS+=	ranges_max.h
40681ad6265SDimitry AndricALG_HEADERS+=	ranges_max_element.h
407753f127fSDimitry AndricALG_HEADERS+=	ranges_merge.h
40881ad6265SDimitry AndricALG_HEADERS+=	ranges_min.h
40981ad6265SDimitry AndricALG_HEADERS+=	ranges_min_element.h
41081ad6265SDimitry AndricALG_HEADERS+=	ranges_minmax.h
41181ad6265SDimitry AndricALG_HEADERS+=	ranges_minmax_element.h
41281ad6265SDimitry AndricALG_HEADERS+=	ranges_mismatch.h
41381ad6265SDimitry AndricALG_HEADERS+=	ranges_move.h
41481ad6265SDimitry AndricALG_HEADERS+=	ranges_move_backward.h
41561cfbce3SDimitry AndricALG_HEADERS+=	ranges_next_permutation.h
41681ad6265SDimitry AndricALG_HEADERS+=	ranges_none_of.h
417753f127fSDimitry AndricALG_HEADERS+=	ranges_nth_element.h
418fcaf7f86SDimitry AndricALG_HEADERS+=	ranges_partial_sort.h
419753f127fSDimitry AndricALG_HEADERS+=	ranges_partial_sort_copy.h
420753f127fSDimitry AndricALG_HEADERS+=	ranges_partition.h
421753f127fSDimitry AndricALG_HEADERS+=	ranges_partition_copy.h
422753f127fSDimitry AndricALG_HEADERS+=	ranges_partition_point.h
423753f127fSDimitry AndricALG_HEADERS+=	ranges_pop_heap.h
42461cfbce3SDimitry AndricALG_HEADERS+=	ranges_prev_permutation.h
425753f127fSDimitry AndricALG_HEADERS+=	ranges_push_heap.h
426753f127fSDimitry AndricALG_HEADERS+=	ranges_remove.h
427753f127fSDimitry AndricALG_HEADERS+=	ranges_remove_copy.h
428753f127fSDimitry AndricALG_HEADERS+=	ranges_remove_copy_if.h
429753f127fSDimitry AndricALG_HEADERS+=	ranges_remove_if.h
43081ad6265SDimitry AndricALG_HEADERS+=	ranges_replace.h
431753f127fSDimitry AndricALG_HEADERS+=	ranges_replace_copy.h
432753f127fSDimitry AndricALG_HEADERS+=	ranges_replace_copy_if.h
43381ad6265SDimitry AndricALG_HEADERS+=	ranges_replace_if.h
43481ad6265SDimitry AndricALG_HEADERS+=	ranges_reverse.h
435753f127fSDimitry AndricALG_HEADERS+=	ranges_reverse_copy.h
43661cfbce3SDimitry AndricALG_HEADERS+=	ranges_rotate.h
437753f127fSDimitry AndricALG_HEADERS+=	ranges_rotate_copy.h
43861cfbce3SDimitry AndricALG_HEADERS+=	ranges_sample.h
439753f127fSDimitry AndricALG_HEADERS+=	ranges_search.h
440753f127fSDimitry AndricALG_HEADERS+=	ranges_search_n.h
441753f127fSDimitry AndricALG_HEADERS+=	ranges_set_difference.h
442753f127fSDimitry AndricALG_HEADERS+=	ranges_set_intersection.h
443753f127fSDimitry AndricALG_HEADERS+=	ranges_set_symmetric_difference.h
444753f127fSDimitry AndricALG_HEADERS+=	ranges_set_union.h
445753f127fSDimitry AndricALG_HEADERS+=	ranges_shuffle.h
44681ad6265SDimitry AndricALG_HEADERS+=	ranges_sort.h
447753f127fSDimitry AndricALG_HEADERS+=	ranges_sort_heap.h
448753f127fSDimitry AndricALG_HEADERS+=	ranges_stable_partition.h
44981ad6265SDimitry AndricALG_HEADERS+=	ranges_stable_sort.h
450fe013be4SDimitry AndricALG_HEADERS+=	ranges_starts_with.h
45181ad6265SDimitry AndricALG_HEADERS+=	ranges_swap_ranges.h
45281ad6265SDimitry AndricALG_HEADERS+=	ranges_transform.h
453753f127fSDimitry AndricALG_HEADERS+=	ranges_unique.h
454753f127fSDimitry AndricALG_HEADERS+=	ranges_unique_copy.h
45581ad6265SDimitry AndricALG_HEADERS+=	ranges_upper_bound.h
4566e75b2fbSDimitry AndricALG_HEADERS+=	remove.h
4576e75b2fbSDimitry AndricALG_HEADERS+=	remove_copy.h
4586e75b2fbSDimitry AndricALG_HEADERS+=	remove_copy_if.h
4596e75b2fbSDimitry AndricALG_HEADERS+=	remove_if.h
4606e75b2fbSDimitry AndricALG_HEADERS+=	replace.h
4616e75b2fbSDimitry AndricALG_HEADERS+=	replace_copy.h
4626e75b2fbSDimitry AndricALG_HEADERS+=	replace_copy_if.h
4636e75b2fbSDimitry AndricALG_HEADERS+=	replace_if.h
4646e75b2fbSDimitry AndricALG_HEADERS+=	reverse.h
4656e75b2fbSDimitry AndricALG_HEADERS+=	reverse_copy.h
4666e75b2fbSDimitry AndricALG_HEADERS+=	rotate.h
4676e75b2fbSDimitry AndricALG_HEADERS+=	rotate_copy.h
4686e75b2fbSDimitry AndricALG_HEADERS+=	sample.h
4696e75b2fbSDimitry AndricALG_HEADERS+=	search.h
4706e75b2fbSDimitry AndricALG_HEADERS+=	search_n.h
4716e75b2fbSDimitry AndricALG_HEADERS+=	set_difference.h
4726e75b2fbSDimitry AndricALG_HEADERS+=	set_intersection.h
4736e75b2fbSDimitry AndricALG_HEADERS+=	set_symmetric_difference.h
4746e75b2fbSDimitry AndricALG_HEADERS+=	set_union.h
4756e75b2fbSDimitry AndricALG_HEADERS+=	shift_left.h
4766e75b2fbSDimitry AndricALG_HEADERS+=	shift_right.h
4776e75b2fbSDimitry AndricALG_HEADERS+=	shuffle.h
4786e75b2fbSDimitry AndricALG_HEADERS+=	sift_down.h
4796e75b2fbSDimitry AndricALG_HEADERS+=	sort.h
4806e75b2fbSDimitry AndricALG_HEADERS+=	sort_heap.h
4816e75b2fbSDimitry AndricALG_HEADERS+=	stable_partition.h
4826e75b2fbSDimitry AndricALG_HEADERS+=	stable_sort.h
4836e75b2fbSDimitry AndricALG_HEADERS+=	swap_ranges.h
484fe013be4SDimitry AndricALG_HEADERS+=	three_way_comp_ref_type.h
4856e75b2fbSDimitry AndricALG_HEADERS+=	transform.h
48661cfbce3SDimitry AndricALG_HEADERS+=	uniform_random_bit_generator_adaptor.h
4876e75b2fbSDimitry AndricALG_HEADERS+=	unique.h
4886e75b2fbSDimitry AndricALG_HEADERS+=	unique_copy.h
4896e75b2fbSDimitry AndricALG_HEADERS+=	unwrap_iter.h
49061cfbce3SDimitry AndricALG_HEADERS+=	unwrap_range.h
4916e75b2fbSDimitry AndricALG_HEADERS+=	upper_bound.h
4926e75b2fbSDimitry Andric.for hdr in ${ALG_HEADERS}
4936e75b2fbSDimitry AndricALG+=		${HDRDIR}/__algorithm/${hdr}
4946e75b2fbSDimitry Andric.endfor
495d409305fSDimitry Andric
496fe013be4SDimitry AndricINCSGROUPS+=	PSB
497fe013be4SDimitry AndricPSBDIR=		${CXXINCLUDEDIR}/__algorithm/pstl_backends
498fe013be4SDimitry AndricPSB_HEADERS+=	cpu_backend.h
499fe013be4SDimitry Andric.for hdr in ${PSB_HEADERS}
500fe013be4SDimitry AndricPSB+=		${HDRDIR}/__algorithm/pstl_backends/${hdr}
501fe013be4SDimitry Andric.endfor
502fe013be4SDimitry Andric
503fe013be4SDimitry AndricINCSGROUPS+=	PCB
504fe013be4SDimitry AndricPCBDIR=		${CXXINCLUDEDIR}/__algorithm/pstl_backends/cpu_backends
505fe013be4SDimitry AndricPCB_HEADERS+=	any_of.h
506fe013be4SDimitry AndricPCB_HEADERS+=	backend.h
507fe013be4SDimitry AndricPCB_HEADERS+=	fill.h
508fe013be4SDimitry AndricPCB_HEADERS+=	find_if.h
509fe013be4SDimitry AndricPCB_HEADERS+=	for_each.h
510fe013be4SDimitry AndricPCB_HEADERS+=	libdispatch.h
511fe013be4SDimitry AndricPCB_HEADERS+=	merge.h
512fe013be4SDimitry AndricPCB_HEADERS+=	serial.h
513fe013be4SDimitry AndricPCB_HEADERS+=	stable_sort.h
514fe013be4SDimitry AndricPCB_HEADERS+=	thread.h
515fe013be4SDimitry AndricPCB_HEADERS+=	transform.h
516fe013be4SDimitry AndricPCB_HEADERS+=	transform_reduce.h
517fe013be4SDimitry Andric.for hdr in ${PCB_HEADERS}
518fe013be4SDimitry AndricPCB+=		${HDRDIR}/__algorithm/pstl_backends/cpu_backends/${hdr}
519fe013be4SDimitry Andric.endfor
520fe013be4SDimitry Andric
521fe013be4SDimitry AndricINCSGROUPS+=	ATM
522fe013be4SDimitry AndricATMDIR=		${CXXINCLUDEDIR}/__atomic
523fe013be4SDimitry AndricATM_HEADERS+=	aliases.h
524fe013be4SDimitry AndricATM_HEADERS+=	atomic.h
525fe013be4SDimitry AndricATM_HEADERS+=	atomic_base.h
526fe013be4SDimitry AndricATM_HEADERS+=	atomic_flag.h
527fe013be4SDimitry AndricATM_HEADERS+=	atomic_init.h
528fe013be4SDimitry AndricATM_HEADERS+=	atomic_lock_free.h
529fe013be4SDimitry AndricATM_HEADERS+=	atomic_sync.h
530fe013be4SDimitry AndricATM_HEADERS+=	check_memory_order.h
531fe013be4SDimitry AndricATM_HEADERS+=	contention_t.h
532fe013be4SDimitry AndricATM_HEADERS+=	cxx_atomic_impl.h
533fe013be4SDimitry AndricATM_HEADERS+=	fence.h
534fe013be4SDimitry AndricATM_HEADERS+=	is_always_lock_free.h
535fe013be4SDimitry AndricATM_HEADERS+=	kill_dependency.h
536fe013be4SDimitry AndricATM_HEADERS+=	memory_order.h
537fe013be4SDimitry Andric.for hdr in ${ATM_HEADERS}
538fe013be4SDimitry AndricATM+=		${HDRDIR}/__atomic/${hdr}
539fe013be4SDimitry Andric.endfor
540fe013be4SDimitry Andric
5415e801ac6SDimitry AndricINCSGROUPS+=	BIT
5425e801ac6SDimitry AndricBITDIR=		${CXXINCLUDEDIR}/__bit
5435e801ac6SDimitry AndricBIT_HEADERS+=	bit_cast.h
544bdd1243dSDimitry AndricBIT_HEADERS+=	bit_ceil.h
545bdd1243dSDimitry AndricBIT_HEADERS+=	bit_floor.h
546bdd1243dSDimitry AndricBIT_HEADERS+=	bit_log2.h
547bdd1243dSDimitry AndricBIT_HEADERS+=	bit_width.h
548bdd1243dSDimitry AndricBIT_HEADERS+=	blsr.h
5494824e7fdSDimitry AndricBIT_HEADERS+=	byteswap.h
550bdd1243dSDimitry AndricBIT_HEADERS+=	countl.h
551bdd1243dSDimitry AndricBIT_HEADERS+=	countr.h
552bdd1243dSDimitry AndricBIT_HEADERS+=	endian.h
553bdd1243dSDimitry AndricBIT_HEADERS+=	has_single_bit.h
554c9157d92SDimitry AndricBIT_HEADERS+=	invert_if.h
555bdd1243dSDimitry AndricBIT_HEADERS+=	popcount.h
556bdd1243dSDimitry AndricBIT_HEADERS+=	rotate.h
5575e801ac6SDimitry Andric.for hdr in ${BIT_HEADERS}
5585e801ac6SDimitry AndricBIT+=		${HDRDIR}/__bit/${hdr}
5595e801ac6SDimitry Andric.endfor
5605e801ac6SDimitry Andric
5615e801ac6SDimitry AndricINCSGROUPS+=	CHC
5625e801ac6SDimitry AndricCHCDIR=		${CXXINCLUDEDIR}/__charconv
5635e801ac6SDimitry AndricCHC_HEADERS+=	chars_format.h
564fe013be4SDimitry AndricCHC_HEADERS+=	from_chars_integral.h
5655e801ac6SDimitry AndricCHC_HEADERS+=	from_chars_result.h
56681ad6265SDimitry AndricCHC_HEADERS+=	tables.h
567fe013be4SDimitry AndricCHC_HEADERS+=	to_chars.h
56881ad6265SDimitry AndricCHC_HEADERS+=	to_chars_base_10.h
569fe013be4SDimitry AndricCHC_HEADERS+=	to_chars_floating_point.h
570fe013be4SDimitry AndricCHC_HEADERS+=	to_chars_integral.h
5715e801ac6SDimitry AndricCHC_HEADERS+=	to_chars_result.h
572fe013be4SDimitry AndricCHC_HEADERS+=	traits.h
5735e801ac6SDimitry Andric.for hdr in ${CHC_HEADERS}
5745e801ac6SDimitry AndricCHC+=		${HDRDIR}/__charconv/${hdr}
5755e801ac6SDimitry Andric.endfor
5765e801ac6SDimitry Andric
57704eeddc0SDimitry AndricINCSGROUPS+=	CHR
57804eeddc0SDimitry AndricCHRDIR=		${CXXINCLUDEDIR}/__chrono
57904eeddc0SDimitry AndricCHR_HEADERS+=	calendar.h
580fe013be4SDimitry AndricCHR_HEADERS+=	concepts.h
58104eeddc0SDimitry AndricCHR_HEADERS+=	convert_to_timespec.h
582bdd1243dSDimitry AndricCHR_HEADERS+=	convert_to_tm.h
58381ad6265SDimitry AndricCHR_HEADERS+=	day.h
58404eeddc0SDimitry AndricCHR_HEADERS+=	duration.h
58504eeddc0SDimitry AndricCHR_HEADERS+=	file_clock.h
586bdd1243dSDimitry AndricCHR_HEADERS+=	formatter.h
58781ad6265SDimitry AndricCHR_HEADERS+=	hh_mm_ss.h
58804eeddc0SDimitry AndricCHR_HEADERS+=	high_resolution_clock.h
58981ad6265SDimitry AndricCHR_HEADERS+=	literals.h
59081ad6265SDimitry AndricCHR_HEADERS+=	month.h
59181ad6265SDimitry AndricCHR_HEADERS+=	month_weekday.h
59281ad6265SDimitry AndricCHR_HEADERS+=	monthday.h
593bdd1243dSDimitry AndricCHR_HEADERS+=	ostream.h
594bdd1243dSDimitry AndricCHR_HEADERS+=	parser_std_format_spec.h
595bdd1243dSDimitry AndricCHR_HEADERS+=	statically_widen.h
59604eeddc0SDimitry AndricCHR_HEADERS+=	steady_clock.h
59704eeddc0SDimitry AndricCHR_HEADERS+=	system_clock.h
59804eeddc0SDimitry AndricCHR_HEADERS+=	time_point.h
599c9157d92SDimitry AndricCHR_HEADERS+=	tzdb.h
600c9157d92SDimitry AndricCHR_HEADERS+=	tzdb_list.h
60181ad6265SDimitry AndricCHR_HEADERS+=	weekday.h
60281ad6265SDimitry AndricCHR_HEADERS+=	year.h
60381ad6265SDimitry AndricCHR_HEADERS+=	year_month.h
60481ad6265SDimitry AndricCHR_HEADERS+=	year_month_day.h
60581ad6265SDimitry AndricCHR_HEADERS+=	year_month_weekday.h
60604eeddc0SDimitry Andric.for hdr in ${CHR_HEADERS}
60704eeddc0SDimitry AndricCHR+=		${HDRDIR}/__chrono/${hdr}
60804eeddc0SDimitry Andric.endfor
60904eeddc0SDimitry Andric
6105e801ac6SDimitry AndricINCSGROUPS+=	CMP
6115e801ac6SDimitry AndricCMPDIR=		${CXXINCLUDEDIR}/__compare
6125e801ac6SDimitry AndricCMP_HEADERS+=	common_comparison_category.h
6131fd87a68SDimitry AndricCMP_HEADERS+=	compare_partial_order_fallback.h
6141fd87a68SDimitry AndricCMP_HEADERS+=	compare_strong_order_fallback.h
6155e801ac6SDimitry AndricCMP_HEADERS+=	compare_three_way.h
6165e801ac6SDimitry AndricCMP_HEADERS+=	compare_three_way_result.h
6171fd87a68SDimitry AndricCMP_HEADERS+=	compare_weak_order_fallback.h
6185e801ac6SDimitry AndricCMP_HEADERS+=	is_eq.h
6195e801ac6SDimitry AndricCMP_HEADERS+=	ordering.h
6204824e7fdSDimitry AndricCMP_HEADERS+=	partial_order.h
6214824e7fdSDimitry AndricCMP_HEADERS+=	strong_order.h
6225e801ac6SDimitry AndricCMP_HEADERS+=	synth_three_way.h
6235e801ac6SDimitry AndricCMP_HEADERS+=	three_way_comparable.h
6244824e7fdSDimitry AndricCMP_HEADERS+=	weak_order.h
6255e801ac6SDimitry Andric.for hdr in ${CMP_HEADERS}
6265e801ac6SDimitry AndricCMP+=		${HDRDIR}/__compare/${hdr}
6275e801ac6SDimitry Andric.endfor
6285e801ac6SDimitry Andric
6295e801ac6SDimitry AndricINCSGROUPS+=	CON
6305e801ac6SDimitry AndricCONDIR=		${CXXINCLUDEDIR}/__concepts
6315e801ac6SDimitry AndricCON_HEADERS+=	arithmetic.h
6325e801ac6SDimitry AndricCON_HEADERS+=	assignable.h
6335e801ac6SDimitry AndricCON_HEADERS+=	boolean_testable.h
6345e801ac6SDimitry AndricCON_HEADERS+=	class_or_enum.h
6355e801ac6SDimitry AndricCON_HEADERS+=	common_reference_with.h
6365e801ac6SDimitry AndricCON_HEADERS+=	common_with.h
6375e801ac6SDimitry AndricCON_HEADERS+=	constructible.h
6385e801ac6SDimitry AndricCON_HEADERS+=	convertible_to.h
6395e801ac6SDimitry AndricCON_HEADERS+=	copyable.h
6405e801ac6SDimitry AndricCON_HEADERS+=	derived_from.h
6415e801ac6SDimitry AndricCON_HEADERS+=	destructible.h
6425e801ac6SDimitry AndricCON_HEADERS+=	different_from.h
6435e801ac6SDimitry AndricCON_HEADERS+=	equality_comparable.h
6445e801ac6SDimitry AndricCON_HEADERS+=	invocable.h
6455e801ac6SDimitry AndricCON_HEADERS+=	movable.h
6465e801ac6SDimitry AndricCON_HEADERS+=	predicate.h
6475e801ac6SDimitry AndricCON_HEADERS+=	regular.h
6485e801ac6SDimitry AndricCON_HEADERS+=	relation.h
6495e801ac6SDimitry AndricCON_HEADERS+=	same_as.h
6505e801ac6SDimitry AndricCON_HEADERS+=	semiregular.h
6515e801ac6SDimitry AndricCON_HEADERS+=	swappable.h
6525e801ac6SDimitry AndricCON_HEADERS+=	totally_ordered.h
6535e801ac6SDimitry Andric.for hdr in ${CON_HEADERS}
6545e801ac6SDimitry AndricCON+=		${HDRDIR}/__concepts/${hdr}
6555e801ac6SDimitry Andric.endfor
6565e801ac6SDimitry Andric
657fe013be4SDimitry AndricINCSGROUPS+=	CND
658fe013be4SDimitry AndricCNDDIR=		${CXXINCLUDEDIR}/__condition_variable
659fe013be4SDimitry AndricCND_HEADERS+=	condition_variable.h
660fe013be4SDimitry Andric.for hdr in ${CND_HEADERS}
661fe013be4SDimitry AndricCND+=		${HDRDIR}/__condition_variable/${hdr}
662fe013be4SDimitry Andric.endfor
663fe013be4SDimitry Andric
6645e801ac6SDimitry AndricINCSGROUPS+=	COR
6655e801ac6SDimitry AndricCORDIR=		${CXXINCLUDEDIR}/__coroutine
6665e801ac6SDimitry AndricCOR_HEADERS+=	coroutine_handle.h
6675e801ac6SDimitry AndricCOR_HEADERS+=	coroutine_traits.h
6685e801ac6SDimitry AndricCOR_HEADERS+=	noop_coroutine_handle.h
6695e801ac6SDimitry AndricCOR_HEADERS+=	trivial_awaitables.h
6705e801ac6SDimitry Andric.for hdr in ${COR_HEADERS}
6715e801ac6SDimitry AndricCOR+=		${HDRDIR}/__coroutine/${hdr}
6725e801ac6SDimitry Andric.endfor
6735e801ac6SDimitry Andric
674753f127fSDimitry AndricINCSGROUPS+=	DBG
675753f127fSDimitry AndricDBGDIR=		${CXXINCLUDEDIR}/__debug_utils
676753f127fSDimitry AndricDBG_HEADERS+=	randomize_range.h
677fe013be4SDimitry AndricDBG_HEADERS+=	strict_weak_ordering_check.h
678753f127fSDimitry Andric.for hdr in ${DBG_HEADERS}
679753f127fSDimitry AndricDBG+=		${HDRDIR}/__debug_utils/${hdr}
680753f127fSDimitry Andric.endfor
681753f127fSDimitry Andric
682bdd1243dSDimitry AndricINCSGROUPS+=	EXC
683fe013be4SDimitry AndricEXCDIR=		${CXXINCLUDEDIR}/__exception
684fe013be4SDimitry AndricEXC_HEADERS+=	exception.h
685fe013be4SDimitry AndricEXC_HEADERS+=	exception_ptr.h
686fe013be4SDimitry AndricEXC_HEADERS+=	nested_exception.h
687fe013be4SDimitry AndricEXC_HEADERS+=	operations.h
688fe013be4SDimitry AndricEXC_HEADERS+=	terminate.h
689bdd1243dSDimitry Andric.for hdr in ${EXC_HEADERS}
690fe013be4SDimitry AndricEXC+=		${HDRDIR}/__exception/${hdr}
691fe013be4SDimitry Andric.endfor
692fe013be4SDimitry Andric
693fe013be4SDimitry AndricINCSGROUPS+=	EXD
694fe013be4SDimitry AndricEXDDIR=		${CXXINCLUDEDIR}/__expected
695fe013be4SDimitry AndricEXD_HEADERS+=	bad_expected_access.h
696fe013be4SDimitry AndricEXD_HEADERS+=	expected.h
697fe013be4SDimitry AndricEXD_HEADERS+=	unexpect.h
698fe013be4SDimitry AndricEXD_HEADERS+=	unexpected.h
699fe013be4SDimitry Andric.for hdr in ${EXD_HEADERS}
700fe013be4SDimitry AndricEXD+=		${HDRDIR}/__expected/${hdr}
701bdd1243dSDimitry Andric.endfor
702bdd1243dSDimitry Andric
70304eeddc0SDimitry AndricINCSGROUPS+=	FS
70404eeddc0SDimitry AndricFSDIR=		${CXXINCLUDEDIR}/__filesystem
70504eeddc0SDimitry AndricFS_HEADERS+=	copy_options.h
70604eeddc0SDimitry AndricFS_HEADERS+=	directory_entry.h
70704eeddc0SDimitry AndricFS_HEADERS+=	directory_iterator.h
70804eeddc0SDimitry AndricFS_HEADERS+=	directory_options.h
70904eeddc0SDimitry AndricFS_HEADERS+=	file_status.h
71004eeddc0SDimitry AndricFS_HEADERS+=	file_time_type.h
71104eeddc0SDimitry AndricFS_HEADERS+=	file_type.h
71204eeddc0SDimitry AndricFS_HEADERS+=	filesystem_error.h
71304eeddc0SDimitry AndricFS_HEADERS+=	operations.h
71404eeddc0SDimitry AndricFS_HEADERS+=	path.h
71504eeddc0SDimitry AndricFS_HEADERS+=	path_iterator.h
71604eeddc0SDimitry AndricFS_HEADERS+=	perm_options.h
71704eeddc0SDimitry AndricFS_HEADERS+=	perms.h
71804eeddc0SDimitry AndricFS_HEADERS+=	recursive_directory_iterator.h
71904eeddc0SDimitry AndricFS_HEADERS+=	space_info.h
72004eeddc0SDimitry AndricFS_HEADERS+=	u8path.h
72104eeddc0SDimitry Andric.for hdr in ${FS_HEADERS}
72204eeddc0SDimitry AndricFS+=		${HDRDIR}/__filesystem/${hdr}
72304eeddc0SDimitry Andric.endfor
72404eeddc0SDimitry Andric
7256e75b2fbSDimitry AndricINCSGROUPS+=	FMT
7266e75b2fbSDimitry AndricFMTDIR=		${CXXINCLUDEDIR}/__format
72781ad6265SDimitry AndricFMT_HEADERS+=	buffer.h
72881ad6265SDimitry AndricFMT_HEADERS+=	concepts.h
729bdd1243dSDimitry AndricFMT_HEADERS+=	container_adaptor.h
73081ad6265SDimitry AndricFMT_HEADERS+=	enable_insertable.h
731bdd1243dSDimitry AndricFMT_HEADERS+=	escaped_output_table.h
732fcaf7f86SDimitry AndricFMT_HEADERS+=	extended_grapheme_cluster_table.h
7335e801ac6SDimitry AndricFMT_HEADERS+=	format_arg.h
73481ad6265SDimitry AndricFMT_HEADERS+=	format_arg_store.h
7355e801ac6SDimitry AndricFMT_HEADERS+=	format_args.h
7365e801ac6SDimitry AndricFMT_HEADERS+=	format_context.h
7376e75b2fbSDimitry AndricFMT_HEADERS+=	format_error.h
738bdd1243dSDimitry AndricFMT_HEADERS+=	format_functions.h
7395e801ac6SDimitry AndricFMT_HEADERS+=	format_fwd.h
7406e75b2fbSDimitry AndricFMT_HEADERS+=	format_parse_context.h
7415e801ac6SDimitry AndricFMT_HEADERS+=	format_string.h
7425e801ac6SDimitry AndricFMT_HEADERS+=	format_to_n_result.h
7435e801ac6SDimitry AndricFMT_HEADERS+=	formatter.h
7445e801ac6SDimitry AndricFMT_HEADERS+=	formatter_bool.h
7455e801ac6SDimitry AndricFMT_HEADERS+=	formatter_char.h
74604eeddc0SDimitry AndricFMT_HEADERS+=	formatter_floating_point.h
7475e801ac6SDimitry AndricFMT_HEADERS+=	formatter_integer.h
7485e801ac6SDimitry AndricFMT_HEADERS+=	formatter_integral.h
74981ad6265SDimitry AndricFMT_HEADERS+=	formatter_output.h
75004eeddc0SDimitry AndricFMT_HEADERS+=	formatter_pointer.h
7515e801ac6SDimitry AndricFMT_HEADERS+=	formatter_string.h
752bdd1243dSDimitry AndricFMT_HEADERS+=	formatter_tuple.h
7535e801ac6SDimitry AndricFMT_HEADERS+=	parser_std_format_spec.h
754bdd1243dSDimitry AndricFMT_HEADERS+=	range_default_formatter.h
755bdd1243dSDimitry AndricFMT_HEADERS+=	range_formatter.h
756fcaf7f86SDimitry AndricFMT_HEADERS+=	unicode.h
757fe013be4SDimitry AndricFMT_HEADERS+=	width_estimation_table.h
758fe013be4SDimitry AndricFMT_HEADERS+=	write_escaped.h
7596e75b2fbSDimitry Andric.for hdr in ${FMT_HEADERS}
7606e75b2fbSDimitry AndricFMT+=		${HDRDIR}/__format/${hdr}
7616e75b2fbSDimitry Andric.endfor
762d409305fSDimitry Andric
7636e75b2fbSDimitry AndricINCSGROUPS+=	FUN
7646e75b2fbSDimitry AndricFUNDIR=		${CXXINCLUDEDIR}/__functional
7656e75b2fbSDimitry AndricFUN_HEADERS+=	binary_function.h
7666e75b2fbSDimitry AndricFUN_HEADERS+=	binary_negate.h
7676e75b2fbSDimitry AndricFUN_HEADERS+=	bind.h
7685e801ac6SDimitry AndricFUN_HEADERS+=	bind_back.h
7696e75b2fbSDimitry AndricFUN_HEADERS+=	bind_front.h
7706e75b2fbSDimitry AndricFUN_HEADERS+=	binder1st.h
7716e75b2fbSDimitry AndricFUN_HEADERS+=	binder2nd.h
77281ad6265SDimitry AndricFUN_HEADERS+=	boyer_moore_searcher.h
7735e801ac6SDimitry AndricFUN_HEADERS+=	compose.h
7746e75b2fbSDimitry AndricFUN_HEADERS+=	default_searcher.h
7756e75b2fbSDimitry AndricFUN_HEADERS+=	function.h
7766e75b2fbSDimitry AndricFUN_HEADERS+=	hash.h
7776e75b2fbSDimitry AndricFUN_HEADERS+=	identity.h
7786e75b2fbSDimitry AndricFUN_HEADERS+=	invoke.h
7796e75b2fbSDimitry AndricFUN_HEADERS+=	is_transparent.h
7806e75b2fbSDimitry AndricFUN_HEADERS+=	mem_fn.h
7816e75b2fbSDimitry AndricFUN_HEADERS+=	mem_fun_ref.h
7826e75b2fbSDimitry AndricFUN_HEADERS+=	not_fn.h
7836e75b2fbSDimitry AndricFUN_HEADERS+=	operations.h
7846e75b2fbSDimitry AndricFUN_HEADERS+=	perfect_forward.h
7856e75b2fbSDimitry AndricFUN_HEADERS+=	pointer_to_binary_function.h
7866e75b2fbSDimitry AndricFUN_HEADERS+=	pointer_to_unary_function.h
7876e75b2fbSDimitry AndricFUN_HEADERS+=	ranges_operations.h
7886e75b2fbSDimitry AndricFUN_HEADERS+=	reference_wrapper.h
7896e75b2fbSDimitry AndricFUN_HEADERS+=	unary_function.h
7906e75b2fbSDimitry AndricFUN_HEADERS+=	unary_negate.h
7916e75b2fbSDimitry AndricFUN_HEADERS+=	weak_result_type.h
7926e75b2fbSDimitry Andric.for hdr in ${FUN_HEADERS}
7936e75b2fbSDimitry AndricFUN+=		${HDRDIR}/__functional/${hdr}
7946e75b2fbSDimitry Andric.endfor
7956e75b2fbSDimitry Andric
79681ad6265SDimitry AndricINCSGROUPS+=	FWD
79781ad6265SDimitry AndricFWDDIR=		${CXXINCLUDEDIR}/__fwd
798bdd1243dSDimitry AndricFWD_HEADERS+=	array.h
799c9157d92SDimitry AndricFWD_HEADERS+=	bit_reference.h
800fe013be4SDimitry AndricFWD_HEADERS+=	fstream.h
801bdd1243dSDimitry AndricFWD_HEADERS+=	get.h
802bdd1243dSDimitry AndricFWD_HEADERS+=	hash.h
803fe013be4SDimitry AndricFWD_HEADERS+=	ios.h
804fe013be4SDimitry AndricFWD_HEADERS+=	istream.h
805fe013be4SDimitry AndricFWD_HEADERS+=	mdspan.h
806bdd1243dSDimitry AndricFWD_HEADERS+=	memory_resource.h
807fe013be4SDimitry AndricFWD_HEADERS+=	ostream.h
808bdd1243dSDimitry AndricFWD_HEADERS+=	pair.h
80981ad6265SDimitry AndricFWD_HEADERS+=	span.h
810fe013be4SDimitry AndricFWD_HEADERS+=	sstream.h
811fe013be4SDimitry AndricFWD_HEADERS+=	streambuf.h
812bdd1243dSDimitry AndricFWD_HEADERS+=	string.h
81381ad6265SDimitry AndricFWD_HEADERS+=	string_view.h
814bdd1243dSDimitry AndricFWD_HEADERS+=	subrange.h
815bdd1243dSDimitry AndricFWD_HEADERS+=	tuple.h
81681ad6265SDimitry Andric.for hdr in ${FWD_HEADERS}
81781ad6265SDimitry AndricFWD+=		${HDRDIR}/__fwd/${hdr}
81881ad6265SDimitry Andric.endfor
81981ad6265SDimitry Andric
82081ad6265SDimitry AndricINCSGROUPS+=	IOS
82181ad6265SDimitry AndricIOSDIR=		${CXXINCLUDEDIR}/__ios
82281ad6265SDimitry AndricIOS_HEADERS+=	fpos.h
82381ad6265SDimitry Andric.for hdr in ${IOS_HEADERS}
82481ad6265SDimitry AndricIOS+=		${HDRDIR}/__ios/${hdr}
82581ad6265SDimitry Andric.endfor
82681ad6265SDimitry Andric
8276e75b2fbSDimitry AndricINCSGROUPS+=	IT
8286e75b2fbSDimitry AndricITDIR=		${CXXINCLUDEDIR}/__iterator
8296e75b2fbSDimitry AndricIT_HEADERS+=	access.h
8306e75b2fbSDimitry AndricIT_HEADERS+=	advance.h
8316e75b2fbSDimitry AndricIT_HEADERS+=	back_insert_iterator.h
83281ad6265SDimitry AndricIT_HEADERS+=	bounded_iter.h
8336e75b2fbSDimitry AndricIT_HEADERS+=	common_iterator.h
8346e75b2fbSDimitry AndricIT_HEADERS+=	concepts.h
8356e75b2fbSDimitry AndricIT_HEADERS+=	counted_iterator.h
836fe013be4SDimitry AndricIT_HEADERS+=	cpp17_iterator_concepts.h
8376e75b2fbSDimitry AndricIT_HEADERS+=	data.h
8386e75b2fbSDimitry AndricIT_HEADERS+=	default_sentinel.h
8396e75b2fbSDimitry AndricIT_HEADERS+=	distance.h
8406e75b2fbSDimitry AndricIT_HEADERS+=	empty.h
8416e75b2fbSDimitry AndricIT_HEADERS+=	erase_if_container.h
8426e75b2fbSDimitry AndricIT_HEADERS+=	front_insert_iterator.h
8436e75b2fbSDimitry AndricIT_HEADERS+=	incrementable_traits.h
84404eeddc0SDimitry AndricIT_HEADERS+=	indirectly_comparable.h
8456e75b2fbSDimitry AndricIT_HEADERS+=	insert_iterator.h
8466e75b2fbSDimitry AndricIT_HEADERS+=	istream_iterator.h
8476e75b2fbSDimitry AndricIT_HEADERS+=	istreambuf_iterator.h
8486e75b2fbSDimitry AndricIT_HEADERS+=	iter_move.h
8496e75b2fbSDimitry AndricIT_HEADERS+=	iter_swap.h
8506e75b2fbSDimitry AndricIT_HEADERS+=	iterator.h
8516e75b2fbSDimitry AndricIT_HEADERS+=	iterator_traits.h
852bdd1243dSDimitry AndricIT_HEADERS+=	iterator_with_data.h
85381ad6265SDimitry AndricIT_HEADERS+=	mergeable.h
8546e75b2fbSDimitry AndricIT_HEADERS+=	move_iterator.h
85581ad6265SDimitry AndricIT_HEADERS+=	move_sentinel.h
8566e75b2fbSDimitry AndricIT_HEADERS+=	next.h
8576e75b2fbSDimitry AndricIT_HEADERS+=	ostream_iterator.h
8586e75b2fbSDimitry AndricIT_HEADERS+=	ostreambuf_iterator.h
85981ad6265SDimitry AndricIT_HEADERS+=	permutable.h
8606e75b2fbSDimitry AndricIT_HEADERS+=	prev.h
8616e75b2fbSDimitry AndricIT_HEADERS+=	projected.h
862fe013be4SDimitry AndricIT_HEADERS+=	ranges_iterator_traits.h
8636e75b2fbSDimitry AndricIT_HEADERS+=	readable_traits.h
8646e75b2fbSDimitry AndricIT_HEADERS+=	reverse_access.h
8656e75b2fbSDimitry AndricIT_HEADERS+=	reverse_iterator.h
866bdd1243dSDimitry AndricIT_HEADERS+=	segmented_iterator.h
8676e75b2fbSDimitry AndricIT_HEADERS+=	size.h
86881ad6265SDimitry AndricIT_HEADERS+=	sortable.h
8695e801ac6SDimitry AndricIT_HEADERS+=	unreachable_sentinel.h
8706e75b2fbSDimitry AndricIT_HEADERS+=	wrap_iter.h
8716e75b2fbSDimitry Andric.for hdr in ${IT_HEADERS}
8726e75b2fbSDimitry AndricIT+=		${HDRDIR}/__iterator/${hdr}
8736e75b2fbSDimitry Andric.endfor
8746e75b2fbSDimitry Andric
875fe013be4SDimitry AndricINCSGROUPS+=	LBA
876fe013be4SDimitry AndricLBADIR=		${CXXINCLUDEDIR}/__locale_dir/locale_base_api
877fe013be4SDimitry AndricLBA_HEADERS+=	bsd_locale_defaults.h
878fe013be4SDimitry AndricLBA_HEADERS+=	bsd_locale_fallbacks.h
879fe013be4SDimitry AndricLBA_HEADERS+=	locale_guard.h
880fe013be4SDimitry Andric.for hdr in ${LBA_HEADERS}
881fe013be4SDimitry AndricLBA+=		${HDRDIR}/__locale_dir/locale_base_api/${hdr}
882fe013be4SDimitry Andric.endfor
883fe013be4SDimitry Andric
884c9157d92SDimitry AndricINCSGROUPS+=	MAT
885c9157d92SDimitry AndricMATDIR=		${CXXINCLUDEDIR}/__math
886c9157d92SDimitry AndricMAT_HEADERS+=	abs.h
887c9157d92SDimitry AndricMAT_HEADERS+=	copysign.h
888c9157d92SDimitry AndricMAT_HEADERS+=	error_functions.h
889c9157d92SDimitry AndricMAT_HEADERS+=	exponential_functions.h
890c9157d92SDimitry AndricMAT_HEADERS+=	fdim.h
891c9157d92SDimitry AndricMAT_HEADERS+=	fma.h
892c9157d92SDimitry AndricMAT_HEADERS+=	gamma.h
893c9157d92SDimitry AndricMAT_HEADERS+=	hyperbolic_functions.h
894c9157d92SDimitry AndricMAT_HEADERS+=	hypot.h
895c9157d92SDimitry AndricMAT_HEADERS+=	inverse_hyperbolic_functions.h
896c9157d92SDimitry AndricMAT_HEADERS+=	inverse_trigonometric_functions.h
897c9157d92SDimitry AndricMAT_HEADERS+=	logarithms.h
898c9157d92SDimitry AndricMAT_HEADERS+=	min_max.h
899c9157d92SDimitry AndricMAT_HEADERS+=	modulo.h
900c9157d92SDimitry AndricMAT_HEADERS+=	remainder.h
901c9157d92SDimitry AndricMAT_HEADERS+=	roots.h
902c9157d92SDimitry AndricMAT_HEADERS+=	rounding_functions.h
903c9157d92SDimitry AndricMAT_HEADERS+=	traits.h
904c9157d92SDimitry AndricMAT_HEADERS+=	trigonometric_functions.h
905c9157d92SDimitry Andric.for hdr in ${MAT_HEADERS}
906c9157d92SDimitry AndricMAT+=		${HDRDIR}/__math/${hdr}
907c9157d92SDimitry Andric.endfor
908c9157d92SDimitry Andric
909fe013be4SDimitry AndricINCSGROUPS+=	MDS
910fe013be4SDimitry AndricMDSDIR=		${CXXINCLUDEDIR}/__mdspan
911fe013be4SDimitry AndricMDS_HEADERS+=	default_accessor.h
912fe013be4SDimitry AndricMDS_HEADERS+=	extents.h
913fe013be4SDimitry AndricMDS_HEADERS+=	layout_left.h
914fe013be4SDimitry AndricMDS_HEADERS+=	layout_right.h
915c9157d92SDimitry AndricMDS_HEADERS+=	layout_stride.h
916a861b584SDimitry AndricMDS_HEADERS+=	mdspan.h
917fe013be4SDimitry Andric.for hdr in ${MDS_HEADERS}
918fe013be4SDimitry AndricMDS+=		${HDRDIR}/__mdspan/${hdr}
919fe013be4SDimitry Andric.endfor
920fe013be4SDimitry Andric
9216e75b2fbSDimitry AndricINCSGROUPS+=	MEM
9226e75b2fbSDimitry AndricMEMDIR=		${CXXINCLUDEDIR}/__memory
9236e75b2fbSDimitry AndricMEM_HEADERS+=	addressof.h
924bdd1243dSDimitry AndricMEM_HEADERS+=	align.h
925fe013be4SDimitry AndricMEM_HEADERS+=	aligned_alloc.h
92681ad6265SDimitry AndricMEM_HEADERS+=	allocate_at_least.h
9276e75b2fbSDimitry AndricMEM_HEADERS+=	allocation_guard.h
9286e75b2fbSDimitry AndricMEM_HEADERS+=	allocator.h
9296e75b2fbSDimitry AndricMEM_HEADERS+=	allocator_arg_t.h
930bdd1243dSDimitry AndricMEM_HEADERS+=	allocator_destructor.h
931d409305fSDimitry AndricMEM_HEADERS+=	allocator_traits.h
93281ad6265SDimitry AndricMEM_HEADERS+=	assume_aligned.h
9336e75b2fbSDimitry AndricMEM_HEADERS+=	auto_ptr.h
934bdd1243dSDimitry AndricMEM_HEADERS+=	builtin_new_allocator.h
9356e75b2fbSDimitry AndricMEM_HEADERS+=	compressed_pair.h
93604eeddc0SDimitry AndricMEM_HEADERS+=	concepts.h
9376e75b2fbSDimitry AndricMEM_HEADERS+=	construct_at.h
938bdd1243dSDimitry AndricMEM_HEADERS+=	destruct_n.h
939d409305fSDimitry AndricMEM_HEADERS+=	pointer_traits.h
94004eeddc0SDimitry AndricMEM_HEADERS+=	ranges_construct_at.h
94104eeddc0SDimitry AndricMEM_HEADERS+=	ranges_uninitialized_algorithms.h
9426e75b2fbSDimitry AndricMEM_HEADERS+=	raw_storage_iterator.h
9436e75b2fbSDimitry AndricMEM_HEADERS+=	shared_ptr.h
944972a253aSDimitry AndricMEM_HEADERS+=	swap_allocator.h
945bdd1243dSDimitry AndricMEM_HEADERS+=	temp_value.h
9466e75b2fbSDimitry AndricMEM_HEADERS+=	temporary_buffer.h
9476e75b2fbSDimitry AndricMEM_HEADERS+=	uninitialized_algorithms.h
9486e75b2fbSDimitry AndricMEM_HEADERS+=	unique_ptr.h
9496e75b2fbSDimitry AndricMEM_HEADERS+=	uses_allocator.h
950bdd1243dSDimitry AndricMEM_HEADERS+=	uses_allocator_construction.h
95104eeddc0SDimitry AndricMEM_HEADERS+=	voidify.h
952d409305fSDimitry Andric.for hdr in ${MEM_HEADERS}
953d409305fSDimitry AndricMEM+=		${HDRDIR}/__memory/${hdr}
954d409305fSDimitry Andric.endfor
955d409305fSDimitry Andric
956bdd1243dSDimitry AndricINCSGROUPS+=	MER
957bdd1243dSDimitry AndricMERDIR=		${CXXINCLUDEDIR}/__memory_resource
958bdd1243dSDimitry AndricMER_HEADERS+=	memory_resource.h
959bdd1243dSDimitry AndricMER_HEADERS+=	monotonic_buffer_resource.h
960bdd1243dSDimitry AndricMER_HEADERS+=	polymorphic_allocator.h
961bdd1243dSDimitry AndricMER_HEADERS+=	pool_options.h
962bdd1243dSDimitry AndricMER_HEADERS+=	synchronized_pool_resource.h
963bdd1243dSDimitry AndricMER_HEADERS+=	unsynchronized_pool_resource.h
964bdd1243dSDimitry Andric.for hdr in ${MER_HEADERS}
965bdd1243dSDimitry AndricMER+=		${HDRDIR}/__memory_resource/${hdr}
966bdd1243dSDimitry Andric.endfor
967bdd1243dSDimitry Andric
968fe013be4SDimitry AndricINCSGROUPS+=	MUT
969fe013be4SDimitry AndricMUTDIR=		${CXXINCLUDEDIR}/__mutex
970fe013be4SDimitry AndricMUT_HEADERS+=	lock_guard.h
971fe013be4SDimitry AndricMUT_HEADERS+=	mutex.h
972c9157d92SDimitry AndricMUT_HEADERS+=	once_flag.h
973fe013be4SDimitry AndricMUT_HEADERS+=	tag_types.h
974fe013be4SDimitry AndricMUT_HEADERS+=	unique_lock.h
975fe013be4SDimitry Andric.for hdr in ${MUT_HEADERS}
976fe013be4SDimitry AndricMUT+=		${HDRDIR}/__mutex/${hdr}
977fe013be4SDimitry Andric.endfor
978fe013be4SDimitry Andric
9794824e7fdSDimitry AndricINCSGROUPS+=	NUM
9804824e7fdSDimitry AndricNUMDIR=		${CXXINCLUDEDIR}/__numeric
9814824e7fdSDimitry AndricNUM_HEADERS+=	accumulate.h
9824824e7fdSDimitry AndricNUM_HEADERS+=	adjacent_difference.h
9834824e7fdSDimitry AndricNUM_HEADERS+=	exclusive_scan.h
9844824e7fdSDimitry AndricNUM_HEADERS+=	gcd_lcm.h
9854824e7fdSDimitry AndricNUM_HEADERS+=	inclusive_scan.h
9864824e7fdSDimitry AndricNUM_HEADERS+=	inner_product.h
9874824e7fdSDimitry AndricNUM_HEADERS+=	iota.h
9884824e7fdSDimitry AndricNUM_HEADERS+=	midpoint.h
9894824e7fdSDimitry AndricNUM_HEADERS+=	partial_sum.h
990fe013be4SDimitry AndricNUM_HEADERS+=	pstl_reduce.h
991fe013be4SDimitry AndricNUM_HEADERS+=	pstl_transform_reduce.h
9924824e7fdSDimitry AndricNUM_HEADERS+=	reduce.h
993*a58f00eaSDimitry AndricNUM_HEADERS+=	saturation_arithmetic.h
9944824e7fdSDimitry AndricNUM_HEADERS+=	transform_exclusive_scan.h
9954824e7fdSDimitry AndricNUM_HEADERS+=	transform_inclusive_scan.h
9964824e7fdSDimitry AndricNUM_HEADERS+=	transform_reduce.h
9974824e7fdSDimitry Andric.for hdr in ${NUM_HEADERS}
9984824e7fdSDimitry AndricNUM+=		${HDRDIR}/__numeric/${hdr}
9994824e7fdSDimitry Andric.endfor
10004824e7fdSDimitry Andric
10016e75b2fbSDimitry AndricINCSGROUPS+=	RND
10026e75b2fbSDimitry AndricRNDDIR=		${CXXINCLUDEDIR}/__random
10034824e7fdSDimitry AndricRND_HEADERS+=	bernoulli_distribution.h
10044824e7fdSDimitry AndricRND_HEADERS+=	binomial_distribution.h
10054824e7fdSDimitry AndricRND_HEADERS+=	cauchy_distribution.h
10064824e7fdSDimitry AndricRND_HEADERS+=	chi_squared_distribution.h
100704eeddc0SDimitry AndricRND_HEADERS+=	clamp_to_integral.h
10084824e7fdSDimitry AndricRND_HEADERS+=	default_random_engine.h
10094824e7fdSDimitry AndricRND_HEADERS+=	discard_block_engine.h
10104824e7fdSDimitry AndricRND_HEADERS+=	discrete_distribution.h
10114824e7fdSDimitry AndricRND_HEADERS+=	exponential_distribution.h
10124824e7fdSDimitry AndricRND_HEADERS+=	extreme_value_distribution.h
10134824e7fdSDimitry AndricRND_HEADERS+=	fisher_f_distribution.h
10144824e7fdSDimitry AndricRND_HEADERS+=	gamma_distribution.h
10154824e7fdSDimitry AndricRND_HEADERS+=	generate_canonical.h
10164824e7fdSDimitry AndricRND_HEADERS+=	geometric_distribution.h
10174824e7fdSDimitry AndricRND_HEADERS+=	independent_bits_engine.h
10184824e7fdSDimitry AndricRND_HEADERS+=	is_seed_sequence.h
101981ad6265SDimitry AndricRND_HEADERS+=	is_valid.h
10204824e7fdSDimitry AndricRND_HEADERS+=	knuth_b.h
10214824e7fdSDimitry AndricRND_HEADERS+=	linear_congruential_engine.h
10224824e7fdSDimitry AndricRND_HEADERS+=	log2.h
10234824e7fdSDimitry AndricRND_HEADERS+=	lognormal_distribution.h
10244824e7fdSDimitry AndricRND_HEADERS+=	mersenne_twister_engine.h
10254824e7fdSDimitry AndricRND_HEADERS+=	negative_binomial_distribution.h
10264824e7fdSDimitry AndricRND_HEADERS+=	normal_distribution.h
10274824e7fdSDimitry AndricRND_HEADERS+=	piecewise_constant_distribution.h
10284824e7fdSDimitry AndricRND_HEADERS+=	piecewise_linear_distribution.h
10294824e7fdSDimitry AndricRND_HEADERS+=	poisson_distribution.h
10304824e7fdSDimitry AndricRND_HEADERS+=	random_device.h
10314824e7fdSDimitry AndricRND_HEADERS+=	ranlux.h
10324824e7fdSDimitry AndricRND_HEADERS+=	seed_seq.h
10334824e7fdSDimitry AndricRND_HEADERS+=	shuffle_order_engine.h
10344824e7fdSDimitry AndricRND_HEADERS+=	student_t_distribution.h
10354824e7fdSDimitry AndricRND_HEADERS+=	subtract_with_carry_engine.h
10366e75b2fbSDimitry AndricRND_HEADERS+=	uniform_int_distribution.h
10374824e7fdSDimitry AndricRND_HEADERS+=	uniform_random_bit_generator.h
10384824e7fdSDimitry AndricRND_HEADERS+=	uniform_real_distribution.h
10394824e7fdSDimitry AndricRND_HEADERS+=	weibull_distribution.h
10406e75b2fbSDimitry Andric.for hdr in ${RND_HEADERS}
10416e75b2fbSDimitry AndricRND+=		${HDRDIR}/__random/${hdr}
10426e75b2fbSDimitry Andric.endfor
10436e75b2fbSDimitry Andric
10446e75b2fbSDimitry AndricINCSGROUPS+=	RNG
10456e75b2fbSDimitry AndricRNGDIR=		${CXXINCLUDEDIR}/__ranges
10466e75b2fbSDimitry AndricRNG_HEADERS+=	access.h
10476e75b2fbSDimitry AndricRNG_HEADERS+=	all.h
1048bdd1243dSDimitry AndricRNG_HEADERS+=	as_rvalue_view.h
1049c9157d92SDimitry AndricRNG_HEADERS+=	chunk_by_view.h
10506e75b2fbSDimitry AndricRNG_HEADERS+=	common_view.h
10516e75b2fbSDimitry AndricRNG_HEADERS+=	concepts.h
1052fe013be4SDimitry AndricRNG_HEADERS+=	container_compatible_range.h
10535e801ac6SDimitry AndricRNG_HEADERS+=	counted.h
10546e75b2fbSDimitry AndricRNG_HEADERS+=	dangling.h
10556e75b2fbSDimitry AndricRNG_HEADERS+=	data.h
10566e75b2fbSDimitry AndricRNG_HEADERS+=	drop_view.h
1057bdd1243dSDimitry AndricRNG_HEADERS+=	drop_while_view.h
1058bdd1243dSDimitry AndricRNG_HEADERS+=	elements_view.h
10596e75b2fbSDimitry AndricRNG_HEADERS+=	empty.h
10606e75b2fbSDimitry AndricRNG_HEADERS+=	empty_view.h
10616e75b2fbSDimitry AndricRNG_HEADERS+=	enable_borrowed_range.h
10626e75b2fbSDimitry AndricRNG_HEADERS+=	enable_view.h
106381ad6265SDimitry AndricRNG_HEADERS+=	filter_view.h
1064fe013be4SDimitry AndricRNG_HEADERS+=	from_range.h
10655e801ac6SDimitry AndricRNG_HEADERS+=	iota_view.h
1066bdd1243dSDimitry AndricRNG_HEADERS+=	istream_view.h
10675e801ac6SDimitry AndricRNG_HEADERS+=	join_view.h
106881ad6265SDimitry AndricRNG_HEADERS+=	lazy_split_view.h
1069fe013be4SDimitry AndricRNG_HEADERS+=	movable_box.h
10706e75b2fbSDimitry AndricRNG_HEADERS+=	non_propagating_cache.h
107104eeddc0SDimitry AndricRNG_HEADERS+=	owning_view.h
10725e801ac6SDimitry AndricRNG_HEADERS+=	range_adaptor.h
107381ad6265SDimitry AndricRNG_HEADERS+=	rbegin.h
10746e75b2fbSDimitry AndricRNG_HEADERS+=	ref_view.h
107581ad6265SDimitry AndricRNG_HEADERS+=	rend.h
1076fe013be4SDimitry AndricRNG_HEADERS+=	repeat_view.h
10775e801ac6SDimitry AndricRNG_HEADERS+=	reverse_view.h
10785e801ac6SDimitry AndricRNG_HEADERS+=	single_view.h
10796e75b2fbSDimitry AndricRNG_HEADERS+=	size.h
1080bdd1243dSDimitry AndricRNG_HEADERS+=	split_view.h
10816e75b2fbSDimitry AndricRNG_HEADERS+=	subrange.h
10825e801ac6SDimitry AndricRNG_HEADERS+=	take_view.h
1083bdd1243dSDimitry AndricRNG_HEADERS+=	take_while_view.h
1084fe013be4SDimitry AndricRNG_HEADERS+=	to.h
10856e75b2fbSDimitry AndricRNG_HEADERS+=	transform_view.h
10866e75b2fbSDimitry AndricRNG_HEADERS+=	view_interface.h
108753683b95SDimitry AndricRNG_HEADERS+=	views.h
108881ad6265SDimitry AndricRNG_HEADERS+=	zip_view.h
10896e75b2fbSDimitry Andric.for hdr in ${RNG_HEADERS}
10906e75b2fbSDimitry AndricRNG+=		${HDRDIR}/__ranges/${hdr}
10916e75b2fbSDimitry Andric.endfor
10926e75b2fbSDimitry Andric
1093fe013be4SDimitry AndricINCSGROUPS+=	STT
1094fe013be4SDimitry AndricSTTDIR=		${CXXINCLUDEDIR}/__stop_token
1095fe013be4SDimitry AndricSTT_HEADERS+=	atomic_unique_lock.h
1096fe013be4SDimitry AndricSTT_HEADERS+=	intrusive_list_view.h
1097fe013be4SDimitry AndricSTT_HEADERS+=	intrusive_shared_ptr.h
1098fe013be4SDimitry AndricSTT_HEADERS+=	stop_callback.h
1099fe013be4SDimitry AndricSTT_HEADERS+=	stop_source.h
1100fe013be4SDimitry AndricSTT_HEADERS+=	stop_state.h
1101fe013be4SDimitry AndricSTT_HEADERS+=	stop_token.h
1102fe013be4SDimitry Andric.for hdr in ${STT_HEADERS}
1103fe013be4SDimitry AndricSTT+=		${HDRDIR}/__stop_token/${hdr}
1104fe013be4SDimitry Andric.endfor
1105fe013be4SDimitry Andric
110681ad6265SDimitry AndricINCSGROUPS+=	STR
110781ad6265SDimitry AndricSTRDIR=		${CXXINCLUDEDIR}/__string
110881ad6265SDimitry AndricSTR_HEADERS+=	char_traits.h
1109fe013be4SDimitry AndricSTR_HEADERS+=	constexpr_c_functions.h
111081ad6265SDimitry AndricSTR_HEADERS+=	extern_template_lists.h
111181ad6265SDimitry Andric.for hdr in ${STR_HEADERS}
111281ad6265SDimitry AndricSTR+=		${HDRDIR}/__string/${hdr}
111381ad6265SDimitry Andric.endfor
111481ad6265SDimitry Andric
1115fe013be4SDimitry AndricINCSGROUPS+=	SER
1116fe013be4SDimitry AndricSERDIR=		${CXXINCLUDEDIR}/__system_error
1117fe013be4SDimitry AndricSER_HEADERS+=	errc.h
1118fe013be4SDimitry AndricSER_HEADERS+=	error_category.h
1119fe013be4SDimitry AndricSER_HEADERS+=	error_code.h
1120fe013be4SDimitry AndricSER_HEADERS+=	error_condition.h
1121fe013be4SDimitry AndricSER_HEADERS+=	system_error.h
1122fe013be4SDimitry Andric.for hdr in ${SER_HEADERS}
1123fe013be4SDimitry AndricSER+=		${HDRDIR}/__system_error/${hdr}
1124fe013be4SDimitry Andric.endfor
1125fe013be4SDimitry Andric
11265e801ac6SDimitry AndricINCSGROUPS+=	THR
11275e801ac6SDimitry AndricTHRDIR=		${CXXINCLUDEDIR}/__thread
1128fe013be4SDimitry AndricTHR_HEADERS+=	formatter.h
1129fe013be4SDimitry AndricTHR_HEADERS+=	id.h
1130c9157d92SDimitry AndricTHR_HEADERS+=	jthread.h
11315e801ac6SDimitry AndricTHR_HEADERS+=	poll_with_backoff.h
1132fe013be4SDimitry AndricTHR_HEADERS+=	this_thread.h
1133fe013be4SDimitry AndricTHR_HEADERS+=	thread.h
113404eeddc0SDimitry AndricTHR_HEADERS+=	timed_backoff_policy.h
11355e801ac6SDimitry Andric.for hdr in ${THR_HEADERS}
11365e801ac6SDimitry AndricTHR+=		${HDRDIR}/__thread/${hdr}
11375e801ac6SDimitry Andric.endfor
11385e801ac6SDimitry Andric
1139bdd1243dSDimitry AndricINCSGROUPS+=	TUP
1140fe013be4SDimitry AndricTUPDIR=		${CXXINCLUDEDIR}/__tuple
1141bdd1243dSDimitry AndricTUP_HEADERS+=	make_tuple_types.h
1142bdd1243dSDimitry AndricTUP_HEADERS+=	pair_like.h
1143bdd1243dSDimitry AndricTUP_HEADERS+=	sfinae_helpers.h
1144bdd1243dSDimitry AndricTUP_HEADERS+=	tuple_element.h
1145bdd1243dSDimitry AndricTUP_HEADERS+=	tuple_indices.h
1146bdd1243dSDimitry AndricTUP_HEADERS+=	tuple_like.h
1147bdd1243dSDimitry AndricTUP_HEADERS+=	tuple_like_ext.h
1148bdd1243dSDimitry AndricTUP_HEADERS+=	tuple_size.h
1149bdd1243dSDimitry AndricTUP_HEADERS+=	tuple_types.h
1150bdd1243dSDimitry Andric.for hdr in ${TUP_HEADERS}
1151fe013be4SDimitry AndricTUP+=		${HDRDIR}/__tuple/${hdr}
1152bdd1243dSDimitry Andric.endfor
1153bdd1243dSDimitry Andric
115481ad6265SDimitry AndricINCSGROUPS+=	TTR
115581ad6265SDimitry AndricTTRDIR=		${CXXINCLUDEDIR}/__type_traits
115681ad6265SDimitry AndricTTR_HEADERS+=	add_const.h
115781ad6265SDimitry AndricTTR_HEADERS+=	add_cv.h
115881ad6265SDimitry AndricTTR_HEADERS+=	add_lvalue_reference.h
115981ad6265SDimitry AndricTTR_HEADERS+=	add_pointer.h
116081ad6265SDimitry AndricTTR_HEADERS+=	add_rvalue_reference.h
116181ad6265SDimitry AndricTTR_HEADERS+=	add_volatile.h
1162972a253aSDimitry AndricTTR_HEADERS+=	aligned_storage.h
1163972a253aSDimitry AndricTTR_HEADERS+=	aligned_union.h
116481ad6265SDimitry AndricTTR_HEADERS+=	alignment_of.h
116581ad6265SDimitry AndricTTR_HEADERS+=	apply_cv.h
1166bdd1243dSDimitry AndricTTR_HEADERS+=	can_extract_key.h
1167972a253aSDimitry AndricTTR_HEADERS+=	common_reference.h
1168972a253aSDimitry AndricTTR_HEADERS+=	common_type.h
116981ad6265SDimitry AndricTTR_HEADERS+=	conditional.h
117081ad6265SDimitry AndricTTR_HEADERS+=	conjunction.h
1171972a253aSDimitry AndricTTR_HEADERS+=	copy_cv.h
1172972a253aSDimitry AndricTTR_HEADERS+=	copy_cvref.h
1173fe013be4SDimitry AndricTTR_HEADERS+=	datasizeof.h
117481ad6265SDimitry AndricTTR_HEADERS+=	decay.h
1175bdd1243dSDimitry AndricTTR_HEADERS+=	dependent_type.h
117681ad6265SDimitry AndricTTR_HEADERS+=	disjunction.h
117781ad6265SDimitry AndricTTR_HEADERS+=	enable_if.h
117881ad6265SDimitry AndricTTR_HEADERS+=	extent.h
117981ad6265SDimitry AndricTTR_HEADERS+=	has_unique_object_representation.h
118081ad6265SDimitry AndricTTR_HEADERS+=	has_virtual_destructor.h
118181ad6265SDimitry AndricTTR_HEADERS+=	integral_constant.h
1182fe013be4SDimitry AndricTTR_HEADERS+=	invoke.h
118381ad6265SDimitry AndricTTR_HEADERS+=	is_abstract.h
118481ad6265SDimitry AndricTTR_HEADERS+=	is_aggregate.h
1185bdd1243dSDimitry AndricTTR_HEADERS+=	is_allocator.h
1186bdd1243dSDimitry AndricTTR_HEADERS+=	is_always_bitcastable.h
118781ad6265SDimitry AndricTTR_HEADERS+=	is_arithmetic.h
118881ad6265SDimitry AndricTTR_HEADERS+=	is_array.h
118981ad6265SDimitry AndricTTR_HEADERS+=	is_assignable.h
119081ad6265SDimitry AndricTTR_HEADERS+=	is_base_of.h
119181ad6265SDimitry AndricTTR_HEADERS+=	is_bounded_array.h
119281ad6265SDimitry AndricTTR_HEADERS+=	is_callable.h
1193bdd1243dSDimitry AndricTTR_HEADERS+=	is_char_like_type.h
119481ad6265SDimitry AndricTTR_HEADERS+=	is_class.h
119581ad6265SDimitry AndricTTR_HEADERS+=	is_compound.h
119681ad6265SDimitry AndricTTR_HEADERS+=	is_const.h
119781ad6265SDimitry AndricTTR_HEADERS+=	is_constant_evaluated.h
119881ad6265SDimitry AndricTTR_HEADERS+=	is_constructible.h
119981ad6265SDimitry AndricTTR_HEADERS+=	is_convertible.h
120081ad6265SDimitry AndricTTR_HEADERS+=	is_copy_assignable.h
120181ad6265SDimitry AndricTTR_HEADERS+=	is_copy_constructible.h
120281ad6265SDimitry AndricTTR_HEADERS+=	is_core_convertible.h
120381ad6265SDimitry AndricTTR_HEADERS+=	is_default_constructible.h
120481ad6265SDimitry AndricTTR_HEADERS+=	is_destructible.h
120581ad6265SDimitry AndricTTR_HEADERS+=	is_empty.h
120681ad6265SDimitry AndricTTR_HEADERS+=	is_enum.h
1207fe013be4SDimitry AndricTTR_HEADERS+=	is_equality_comparable.h
1208fe013be4SDimitry AndricTTR_HEADERS+=	is_execution_policy.h
120981ad6265SDimitry AndricTTR_HEADERS+=	is_final.h
121081ad6265SDimitry AndricTTR_HEADERS+=	is_floating_point.h
121181ad6265SDimitry AndricTTR_HEADERS+=	is_function.h
121281ad6265SDimitry AndricTTR_HEADERS+=	is_fundamental.h
1213bdd1243dSDimitry AndricTTR_HEADERS+=	is_implicitly_default_constructible.h
121481ad6265SDimitry AndricTTR_HEADERS+=	is_integral.h
121581ad6265SDimitry AndricTTR_HEADERS+=	is_literal_type.h
121681ad6265SDimitry AndricTTR_HEADERS+=	is_member_function_pointer.h
121781ad6265SDimitry AndricTTR_HEADERS+=	is_member_object_pointer.h
121881ad6265SDimitry AndricTTR_HEADERS+=	is_member_pointer.h
121981ad6265SDimitry AndricTTR_HEADERS+=	is_move_assignable.h
122081ad6265SDimitry AndricTTR_HEADERS+=	is_move_constructible.h
122181ad6265SDimitry AndricTTR_HEADERS+=	is_nothrow_assignable.h
122281ad6265SDimitry AndricTTR_HEADERS+=	is_nothrow_constructible.h
1223972a253aSDimitry AndricTTR_HEADERS+=	is_nothrow_convertible.h
122481ad6265SDimitry AndricTTR_HEADERS+=	is_nothrow_copy_assignable.h
122581ad6265SDimitry AndricTTR_HEADERS+=	is_nothrow_copy_constructible.h
122681ad6265SDimitry AndricTTR_HEADERS+=	is_nothrow_default_constructible.h
122781ad6265SDimitry AndricTTR_HEADERS+=	is_nothrow_destructible.h
122881ad6265SDimitry AndricTTR_HEADERS+=	is_nothrow_move_assignable.h
122981ad6265SDimitry AndricTTR_HEADERS+=	is_nothrow_move_constructible.h
123081ad6265SDimitry AndricTTR_HEADERS+=	is_null_pointer.h
123181ad6265SDimitry AndricTTR_HEADERS+=	is_object.h
123281ad6265SDimitry AndricTTR_HEADERS+=	is_pod.h
123381ad6265SDimitry AndricTTR_HEADERS+=	is_pointer.h
123481ad6265SDimitry AndricTTR_HEADERS+=	is_polymorphic.h
1235972a253aSDimitry AndricTTR_HEADERS+=	is_primary_template.h
123681ad6265SDimitry AndricTTR_HEADERS+=	is_reference.h
123781ad6265SDimitry AndricTTR_HEADERS+=	is_reference_wrapper.h
123881ad6265SDimitry AndricTTR_HEADERS+=	is_referenceable.h
123981ad6265SDimitry AndricTTR_HEADERS+=	is_same.h
124081ad6265SDimitry AndricTTR_HEADERS+=	is_scalar.h
124181ad6265SDimitry AndricTTR_HEADERS+=	is_scoped_enum.h
124281ad6265SDimitry AndricTTR_HEADERS+=	is_signed.h
1243972a253aSDimitry AndricTTR_HEADERS+=	is_signed_integer.h
1244bdd1243dSDimitry AndricTTR_HEADERS+=	is_specialization.h
124581ad6265SDimitry AndricTTR_HEADERS+=	is_standard_layout.h
1246bdd1243dSDimitry AndricTTR_HEADERS+=	is_swappable.h
124781ad6265SDimitry AndricTTR_HEADERS+=	is_trivial.h
124881ad6265SDimitry AndricTTR_HEADERS+=	is_trivially_assignable.h
124981ad6265SDimitry AndricTTR_HEADERS+=	is_trivially_constructible.h
125081ad6265SDimitry AndricTTR_HEADERS+=	is_trivially_copy_assignable.h
125181ad6265SDimitry AndricTTR_HEADERS+=	is_trivially_copy_constructible.h
125281ad6265SDimitry AndricTTR_HEADERS+=	is_trivially_copyable.h
125381ad6265SDimitry AndricTTR_HEADERS+=	is_trivially_default_constructible.h
125481ad6265SDimitry AndricTTR_HEADERS+=	is_trivially_destructible.h
1255fe013be4SDimitry AndricTTR_HEADERS+=	is_trivially_lexicographically_comparable.h
125681ad6265SDimitry AndricTTR_HEADERS+=	is_trivially_move_assignable.h
125781ad6265SDimitry AndricTTR_HEADERS+=	is_trivially_move_constructible.h
125881ad6265SDimitry AndricTTR_HEADERS+=	is_unbounded_array.h
125981ad6265SDimitry AndricTTR_HEADERS+=	is_union.h
126081ad6265SDimitry AndricTTR_HEADERS+=	is_unsigned.h
1261972a253aSDimitry AndricTTR_HEADERS+=	is_unsigned_integer.h
1262972a253aSDimitry AndricTTR_HEADERS+=	is_valid_expansion.h
126381ad6265SDimitry AndricTTR_HEADERS+=	is_void.h
126481ad6265SDimitry AndricTTR_HEADERS+=	is_volatile.h
1265972a253aSDimitry AndricTTR_HEADERS+=	lazy.h
1266972a253aSDimitry AndricTTR_HEADERS+=	make_32_64_or_128_bit.h
1267bdd1243dSDimitry AndricTTR_HEADERS+=	make_const_lvalue_ref.h
1268972a253aSDimitry AndricTTR_HEADERS+=	make_signed.h
1269972a253aSDimitry AndricTTR_HEADERS+=	make_unsigned.h
1270bdd1243dSDimitry AndricTTR_HEADERS+=	maybe_const.h
1271972a253aSDimitry AndricTTR_HEADERS+=	nat.h
127281ad6265SDimitry AndricTTR_HEADERS+=	negation.h
1273bdd1243dSDimitry AndricTTR_HEADERS+=	noexcept_move_assign_container.h
1274fe013be4SDimitry AndricTTR_HEADERS+=	operation_traits.h
1275972a253aSDimitry AndricTTR_HEADERS+=	promote.h
127681ad6265SDimitry AndricTTR_HEADERS+=	rank.h
127781ad6265SDimitry AndricTTR_HEADERS+=	remove_all_extents.h
127881ad6265SDimitry AndricTTR_HEADERS+=	remove_const.h
1279bdd1243dSDimitry AndricTTR_HEADERS+=	remove_const_ref.h
128081ad6265SDimitry AndricTTR_HEADERS+=	remove_cv.h
1281972a253aSDimitry AndricTTR_HEADERS+=	remove_cvref.h
128281ad6265SDimitry AndricTTR_HEADERS+=	remove_extent.h
128381ad6265SDimitry AndricTTR_HEADERS+=	remove_pointer.h
128481ad6265SDimitry AndricTTR_HEADERS+=	remove_reference.h
128581ad6265SDimitry AndricTTR_HEADERS+=	remove_volatile.h
1286bdd1243dSDimitry AndricTTR_HEADERS+=	result_of.h
1287bdd1243dSDimitry AndricTTR_HEADERS+=	strip_signature.h
128881ad6265SDimitry AndricTTR_HEADERS+=	type_identity.h
1289972a253aSDimitry AndricTTR_HEADERS+=	type_list.h
129081ad6265SDimitry AndricTTR_HEADERS+=	underlying_type.h
1291fe013be4SDimitry AndricTTR_HEADERS+=	unwrap_ref.h
129281ad6265SDimitry AndricTTR_HEADERS+=	void_t.h
129381ad6265SDimitry Andric.for hdr in ${TTR_HEADERS}
129481ad6265SDimitry AndricTTR+=		${HDRDIR}/__type_traits/${hdr}
129581ad6265SDimitry Andric.endfor
129681ad6265SDimitry Andric
12976e75b2fbSDimitry AndricINCSGROUPS+=	UTL
12986e75b2fbSDimitry AndricUTLDIR=		${CXXINCLUDEDIR}/__utility
12996e75b2fbSDimitry AndricUTL_HEADERS+=	as_const.h
1300c9157d92SDimitry AndricUTL_HEADERS+=	as_lvalue.h
130104eeddc0SDimitry AndricUTL_HEADERS+=	auto_cast.h
13026e75b2fbSDimitry AndricUTL_HEADERS+=	cmp.h
1303bdd1243dSDimitry AndricUTL_HEADERS+=	convert_to_integral.h
13046e75b2fbSDimitry AndricUTL_HEADERS+=	declval.h
1305c9157d92SDimitry AndricUTL_HEADERS+=	empty.h
1306bdd1243dSDimitry AndricUTL_HEADERS+=	exception_guard.h
13076e75b2fbSDimitry AndricUTL_HEADERS+=	exchange.h
13086e75b2fbSDimitry AndricUTL_HEADERS+=	forward.h
1309bdd1243dSDimitry AndricUTL_HEADERS+=	forward_like.h
13106e75b2fbSDimitry AndricUTL_HEADERS+=	in_place.h
13116e75b2fbSDimitry AndricUTL_HEADERS+=	integer_sequence.h
1312fe013be4SDimitry AndricUTL_HEADERS+=	is_pointer_in_range.h
13136e75b2fbSDimitry AndricUTL_HEADERS+=	move.h
1314c9157d92SDimitry AndricUTL_HEADERS+=	no_destroy.h
13156e75b2fbSDimitry AndricUTL_HEADERS+=	pair.h
13166e75b2fbSDimitry AndricUTL_HEADERS+=	piecewise_construct.h
13174824e7fdSDimitry AndricUTL_HEADERS+=	priority_tag.h
13186e75b2fbSDimitry AndricUTL_HEADERS+=	rel_ops.h
1319c9157d92SDimitry AndricUTL_HEADERS+=	small_buffer.h
13206e75b2fbSDimitry AndricUTL_HEADERS+=	swap.h
13216e75b2fbSDimitry AndricUTL_HEADERS+=	to_underlying.h
132281ad6265SDimitry AndricUTL_HEADERS+=	unreachable.h
13236e75b2fbSDimitry Andric.for hdr in ${UTL_HEADERS}
13246e75b2fbSDimitry AndricUTL+=		${HDRDIR}/__utility/${hdr}
13256e75b2fbSDimitry Andric.endfor
13266e75b2fbSDimitry Andric
13276e75b2fbSDimitry AndricINCSGROUPS+=	VAR
13286e75b2fbSDimitry AndricVARDIR=	${CXXINCLUDEDIR}/__variant
13294824e7fdSDimitry AndricVAR_HEADERS+=	monostate.h
13306e75b2fbSDimitry Andric.for hdr in ${VAR_HEADERS}
13316e75b2fbSDimitry AndricVAR+=		${HDRDIR}/__variant/${hdr}
13326e75b2fbSDimitry Andric.endfor
13336e75b2fbSDimitry Andric
13346e75b2fbSDimitry AndricINCSGROUPS+=	EXP
13356e75b2fbSDimitry AndricEXPDIR=		${CXXINCLUDEDIR}/experimental
13363f910b91SDimitry AndricEXP_HEADERS+=	__config
13373f910b91SDimitry AndricEXP_HEADERS+=	__memory
13383f910b91SDimitry AndricEXP_HEADERS+=	iterator
1339c9157d92SDimitry AndricEXP_HEADERS+=	memory
13403f910b91SDimitry AndricEXP_HEADERS+=	propagate_const
1341488aa40aSDimitry AndricEXP_HEADERS+=	simd
13423f910b91SDimitry AndricEXP_HEADERS+=	type_traits
13433f910b91SDimitry AndricEXP_HEADERS+=	utility
13444f7ab58eSDimitry Andric.for hdr in ${EXP_HEADERS}
13454f7ab58eSDimitry AndricEXP+=		${HDRDIR}/experimental/${hdr}
13464f7ab58eSDimitry Andric.endfor
13474f7ab58eSDimitry Andric
1348c9157d92SDimitry AndricINCSGROUPS+=	EXS
1349c9157d92SDimitry AndricEXSDIR=		${CXXINCLUDEDIR}/experimental/__simd
1350c9157d92SDimitry AndricEXS_HEADERS+=	aligned_tag.h
1351c9157d92SDimitry AndricEXS_HEADERS+=	declaration.h
1352c9157d92SDimitry AndricEXS_HEADERS+=	reference.h
1353c9157d92SDimitry AndricEXS_HEADERS+=	scalar.h
1354c9157d92SDimitry AndricEXS_HEADERS+=	simd.h
1355c9157d92SDimitry AndricEXS_HEADERS+=	simd_mask.h
1356c9157d92SDimitry AndricEXS_HEADERS+=	traits.h
1357c9157d92SDimitry AndricEXS_HEADERS+=	utility.h
1358c9157d92SDimitry AndricEXS_HEADERS+=	vec_ext.h
1359c9157d92SDimitry Andric.for hdr in ${EXS_HEADERS}
1360c9157d92SDimitry AndricEXS+=		${HDRDIR}/experimental/__simd/${hdr}
1361c9157d92SDimitry Andric.endfor
1362c9157d92SDimitry Andric
13636e75b2fbSDimitry AndricINCSGROUPS+=	EXT
13646e75b2fbSDimitry AndricEXTDIR=		${CXXINCLUDEDIR}/ext
13653f910b91SDimitry AndricEXT_HEADERS+=	__hash
13663f910b91SDimitry AndricEXT_HEADERS+=	hash_map
13673f910b91SDimitry AndricEXT_HEADERS+=	hash_set
13687a984708SDavid Chisnall.for hdr in ${EXT_HEADERS}
13697a984708SDavid ChisnallEXT+=		${HDRDIR}/ext/${hdr}
13707a984708SDavid Chisnall.endfor
13717a984708SDavid Chisnall
13727a984708SDavid Chisnall.include <bsd.lib.mk>
1373