xref: /openbsd/gnu/lib/libcxx/Makefile (revision 3bef86f7)
1*3bef86f7Srobert# $OpenBSD: Makefile,v 1.7 2024/01/26 11:51:45 robert Exp $
2f950054fSpatrick
3f950054fSpatrick.include <bsd.own.mk>
4f950054fSpatrick
5f950054fSpatrick.if ${COMPILER_VERSION:L} != "clang"
6f950054fSpatrickCC=		clang
7f950054fSpatrickCXX=		clang++
8f950054fSpatrick.endif
9f950054fSpatrick
10f950054fSpatrick.if ${BUILD_CLANG:L} == "yes"
11f950054fSpatrick
12f08594bdSpatrickHDRDIR=		${.CURDIR}/../../../gnu/llvm/libcxx/include
13f08594bdSpatrickSRCDIR=		${.CURDIR}/../../../gnu/llvm/libcxx/src
14f08594bdSpatrickAHDRDIR=	${.CURDIR}/../../../gnu/llvm/libcxxabi/include
15f950054fSpatrickUHDRDIR=	${.CURDIR}/../../../gnu/llvm/libunwind/include
16f950054fSpatrickCXXINCLUDEDIR=	/usr/include/c++/v1
17f950054fSpatrick
185a38ef86SpatrickLOCALHDRDIR=	${.CURDIR}/include/c++/v1
195a38ef86SpatrickCONFIG_SITE=	${LOCALHDRDIR}/__config_site
205a38ef86Spatrick
21*3bef86f7Srobert.PATH:	${SRCDIR} ${SRCDIR}/filesystem ${SRCDIR}/ryu
22f950054fSpatrick
23f950054fSpatrickLIB=		c++
24f950054fSpatrick
25f950054fSpatrickSRCS+=		algorithm.cpp \
26f950054fSpatrick		any.cpp \
27998fd449Spatrick		atomic.cpp \
28998fd449Spatrick		barrier.cpp \
29f950054fSpatrick		bind.cpp \
30f950054fSpatrick		charconv.cpp \
31f950054fSpatrick		chrono.cpp \
32f950054fSpatrick		condition_variable.cpp \
33f08594bdSpatrick		condition_variable_destructor.cpp \
34f950054fSpatrick		debug.cpp \
35f950054fSpatrick		exception.cpp \
36f950054fSpatrick		functional.cpp \
37f950054fSpatrick		future.cpp \
38f950054fSpatrick		hash.cpp \
39f950054fSpatrick		ios.cpp \
405a38ef86Spatrick		ios.instantiations.cpp \
41f950054fSpatrick		iostream.cpp \
42*3bef86f7Srobert		legacy_debug_handler.cpp \
43*3bef86f7Srobert		legacy_pointer_safety.cpp \
44f950054fSpatrick		locale.cpp \
45f950054fSpatrick		memory.cpp \
46*3bef86f7Srobert		memory_resource.cpp \
47f950054fSpatrick		mutex.cpp \
48f08594bdSpatrick		mutex_destructor.cpp \
49f950054fSpatrick		new.cpp \
50f950054fSpatrick		optional.cpp \
51f950054fSpatrick		random.cpp \
52998fd449Spatrick		random_shuffle.cpp \
53f950054fSpatrick		regex.cpp \
54f950054fSpatrick		shared_mutex.cpp \
55f950054fSpatrick		stdexcept.cpp \
56f950054fSpatrick		string.cpp \
57f950054fSpatrick		strstream.cpp \
58f950054fSpatrick		system_error.cpp \
59f950054fSpatrick		thread.cpp \
60f950054fSpatrick		typeinfo.cpp \
61f950054fSpatrick		utility.cpp \
62f950054fSpatrick		valarray.cpp \
63f950054fSpatrick		variant.cpp \
64*3bef86f7Srobert		vector.cpp \
65*3bef86f7Srobert		verbose_abort.cpp
66f950054fSpatrick
67*3bef86f7Srobert# filesystem
68*3bef86f7SrobertSRCS+=		directory_iterator.cpp \
69*3bef86f7Srobert		operations.cpp
70*3bef86f7Srobert# ryu
71*3bef86f7SrobertSRCS+=		d2fixed.cpp \
72*3bef86f7Srobert		d2s.cpp \
73*3bef86f7Srobert		f2s.cpp
74*3bef86f7Srobert
75*3bef86f7SrobertCPPFLAGS+=	-Wall -DLIBCXXABI -I${HDRDIR} -I${SRCDIR} -D_LIBCPP_BUILDING_LIBRARY \
765a38ef86Spatrick		-DLIBCXX_BUILDING_LIBCXXABI -I${AHDRDIR} -I${UHDRDIR} -I${LOCALHDRDIR} \
77f950054fSpatrick		-DNDEBUG
78*3bef86f7Srobert
79*3bef86f7Srobert# This is required because our __string directory has been moved
80*3bef86f7SrobertCPPFLAGS+=	-I${HDRDIR}/__string.d/
81*3bef86f7Srobert
82f950054fSpatrickCXXFLAGS+=	-nostdlib -nostdinc++
83f950054fSpatrick.if empty(CXXFLAGS:M-std=*)
84*3bef86f7SrobertCXXFLAGS+=	-std=c++20
85f950054fSpatrick.endif
86f950054fSpatrick
879ddbe891SpatrickLDADD+=		-L${BSDOBJDIR}/gnu/lib/libcxxabi -lc++abi
88f950054fSpatrick
89f950054fSpatrick
905a38ef86SpatrickSTD_HEADERS=	\
915a38ef86Spatrick	__algorithm/adjacent_find.h \
925a38ef86Spatrick	__algorithm/all_of.h \
935a38ef86Spatrick	__algorithm/any_of.h \
945a38ef86Spatrick	__algorithm/binary_search.h \
955a38ef86Spatrick	__algorithm/clamp.h \
965a38ef86Spatrick	__algorithm/comp.h \
97*3bef86f7Srobert	__algorithm/comp_ref_type.h \
98*3bef86f7Srobert	__algorithm/copy.h \
995a38ef86Spatrick	__algorithm/copy_backward.h \
1005a38ef86Spatrick	__algorithm/copy_if.h \
101*3bef86f7Srobert	__algorithm/copy_move_common.h \
1025a38ef86Spatrick	__algorithm/copy_n.h \
1035a38ef86Spatrick	__algorithm/count.h \
104*3bef86f7Srobert	__algorithm/count_if.h \
1055a38ef86Spatrick	__algorithm/equal.h \
106*3bef86f7Srobert	__algorithm/equal_range.h \
1075a38ef86Spatrick	__algorithm/fill.h \
108*3bef86f7Srobert	__algorithm/fill_n.h \
109*3bef86f7Srobert	__algorithm/find.h \
1105a38ef86Spatrick	__algorithm/find_end.h \
1115a38ef86Spatrick	__algorithm/find_first_of.h \
1125a38ef86Spatrick	__algorithm/find_if.h \
113*3bef86f7Srobert	__algorithm/find_if_not.h \
1145a38ef86Spatrick	__algorithm/for_each.h \
115*3bef86f7Srobert	__algorithm/for_each_n.h \
1165a38ef86Spatrick	__algorithm/generate.h \
117*3bef86f7Srobert	__algorithm/generate_n.h \
1185a38ef86Spatrick	__algorithm/half_positive.h \
119*3bef86f7Srobert	__algorithm/in_found_result.h \
120*3bef86f7Srobert	__algorithm/in_fun_result.h \
121*3bef86f7Srobert	__algorithm/in_in_out_result.h \
122*3bef86f7Srobert	__algorithm/in_in_result.h \
123*3bef86f7Srobert	__algorithm/in_out_out_result.h \
124*3bef86f7Srobert	__algorithm/in_out_result.h \
1255a38ef86Spatrick	__algorithm/includes.h \
1265a38ef86Spatrick	__algorithm/inplace_merge.h \
1275a38ef86Spatrick	__algorithm/is_heap.h \
128*3bef86f7Srobert	__algorithm/is_heap_until.h \
1295a38ef86Spatrick	__algorithm/is_partitioned.h \
1305a38ef86Spatrick	__algorithm/is_permutation.h \
1315a38ef86Spatrick	__algorithm/is_sorted.h \
132*3bef86f7Srobert	__algorithm/is_sorted_until.h \
1335a38ef86Spatrick	__algorithm/iter_swap.h \
134*3bef86f7Srobert	__algorithm/iterator_operations.h \
1355a38ef86Spatrick	__algorithm/lexicographical_compare.h \
1365a38ef86Spatrick	__algorithm/lower_bound.h \
1375a38ef86Spatrick	__algorithm/make_heap.h \
138*3bef86f7Srobert	__algorithm/make_projected.h \
1395a38ef86Spatrick	__algorithm/max.h \
140*3bef86f7Srobert	__algorithm/max_element.h \
1415a38ef86Spatrick	__algorithm/merge.h \
1425a38ef86Spatrick	__algorithm/min.h \
143*3bef86f7Srobert	__algorithm/min_element.h \
144*3bef86f7Srobert	__algorithm/min_max_result.h \
1455a38ef86Spatrick	__algorithm/minmax.h \
146*3bef86f7Srobert	__algorithm/minmax_element.h \
1475a38ef86Spatrick	__algorithm/mismatch.h \
1485a38ef86Spatrick	__algorithm/move.h \
149*3bef86f7Srobert	__algorithm/move_backward.h \
1505a38ef86Spatrick	__algorithm/next_permutation.h \
1515a38ef86Spatrick	__algorithm/none_of.h \
1525a38ef86Spatrick	__algorithm/nth_element.h \
1535a38ef86Spatrick	__algorithm/partial_sort.h \
154*3bef86f7Srobert	__algorithm/partial_sort_copy.h \
155*3bef86f7Srobert	__algorithm/partition.h \
1565a38ef86Spatrick	__algorithm/partition_copy.h \
1575a38ef86Spatrick	__algorithm/partition_point.h \
1585a38ef86Spatrick	__algorithm/pop_heap.h \
1595a38ef86Spatrick	__algorithm/prev_permutation.h \
1605a38ef86Spatrick	__algorithm/push_heap.h \
161*3bef86f7Srobert	__algorithm/ranges_adjacent_find.h \
162*3bef86f7Srobert	__algorithm/ranges_all_of.h \
163*3bef86f7Srobert	__algorithm/ranges_any_of.h \
164*3bef86f7Srobert	__algorithm/ranges_binary_search.h \
165*3bef86f7Srobert	__algorithm/ranges_clamp.h \
166*3bef86f7Srobert	__algorithm/ranges_copy.h \
167*3bef86f7Srobert	__algorithm/ranges_copy_backward.h \
168*3bef86f7Srobert	__algorithm/ranges_copy_if.h \
169*3bef86f7Srobert	__algorithm/ranges_copy_n.h \
170*3bef86f7Srobert	__algorithm/ranges_count.h \
171*3bef86f7Srobert	__algorithm/ranges_count_if.h \
172*3bef86f7Srobert	__algorithm/ranges_equal.h \
173*3bef86f7Srobert	__algorithm/ranges_equal_range.h \
174*3bef86f7Srobert	__algorithm/ranges_fill.h \
175*3bef86f7Srobert	__algorithm/ranges_fill_n.h \
176dcb03dacSrobert	__algorithm/ranges_find.h \
177*3bef86f7Srobert	__algorithm/ranges_find_end.h \
178*3bef86f7Srobert	__algorithm/ranges_find_first_of.h \
179dcb03dacSrobert	__algorithm/ranges_find_if.h \
180dcb03dacSrobert	__algorithm/ranges_find_if_not.h \
181*3bef86f7Srobert	__algorithm/ranges_for_each.h \
182*3bef86f7Srobert	__algorithm/ranges_for_each_n.h \
183*3bef86f7Srobert	__algorithm/ranges_generate.h \
184*3bef86f7Srobert	__algorithm/ranges_generate_n.h \
185*3bef86f7Srobert	__algorithm/ranges_includes.h \
186*3bef86f7Srobert	__algorithm/ranges_inplace_merge.h \
187*3bef86f7Srobert	__algorithm/ranges_is_heap.h \
188*3bef86f7Srobert	__algorithm/ranges_is_heap_until.h \
189*3bef86f7Srobert	__algorithm/ranges_is_partitioned.h \
190*3bef86f7Srobert	__algorithm/ranges_is_permutation.h \
191*3bef86f7Srobert	__algorithm/ranges_is_sorted.h \
192*3bef86f7Srobert	__algorithm/ranges_is_sorted_until.h \
193*3bef86f7Srobert	__algorithm/ranges_iterator_concept.h \
194*3bef86f7Srobert	__algorithm/ranges_lexicographical_compare.h \
195*3bef86f7Srobert	__algorithm/ranges_lower_bound.h \
196*3bef86f7Srobert	__algorithm/ranges_make_heap.h \
197*3bef86f7Srobert	__algorithm/ranges_max.h \
198*3bef86f7Srobert	__algorithm/ranges_max_element.h \
199*3bef86f7Srobert	__algorithm/ranges_merge.h \
200*3bef86f7Srobert	__algorithm/ranges_min.h \
201*3bef86f7Srobert	__algorithm/ranges_min_element.h \
202*3bef86f7Srobert	__algorithm/ranges_minmax.h \
203*3bef86f7Srobert	__algorithm/ranges_minmax_element.h \
204*3bef86f7Srobert	__algorithm/ranges_mismatch.h \
205*3bef86f7Srobert	__algorithm/ranges_move.h \
206*3bef86f7Srobert	__algorithm/ranges_move_backward.h \
207*3bef86f7Srobert	__algorithm/ranges_next_permutation.h \
208*3bef86f7Srobert	__algorithm/ranges_none_of.h \
209*3bef86f7Srobert	__algorithm/ranges_nth_element.h \
210*3bef86f7Srobert	__algorithm/ranges_partial_sort.h \
211*3bef86f7Srobert	__algorithm/ranges_partial_sort_copy.h \
212*3bef86f7Srobert	__algorithm/ranges_partition.h \
213*3bef86f7Srobert	__algorithm/ranges_partition_copy.h \
214*3bef86f7Srobert	__algorithm/ranges_partition_point.h \
215*3bef86f7Srobert	__algorithm/ranges_pop_heap.h \
216*3bef86f7Srobert	__algorithm/ranges_prev_permutation.h \
217*3bef86f7Srobert	__algorithm/ranges_push_heap.h \
218*3bef86f7Srobert	__algorithm/ranges_remove.h \
219*3bef86f7Srobert	__algorithm/ranges_remove_copy.h \
220*3bef86f7Srobert	__algorithm/ranges_remove_copy_if.h \
221*3bef86f7Srobert	__algorithm/ranges_remove_if.h \
222*3bef86f7Srobert	__algorithm/ranges_replace.h \
223*3bef86f7Srobert	__algorithm/ranges_replace_copy.h \
224*3bef86f7Srobert	__algorithm/ranges_replace_copy_if.h \
225*3bef86f7Srobert	__algorithm/ranges_replace_if.h \
226*3bef86f7Srobert	__algorithm/ranges_reverse.h \
227*3bef86f7Srobert	__algorithm/ranges_reverse_copy.h \
228*3bef86f7Srobert	__algorithm/ranges_rotate.h \
229*3bef86f7Srobert	__algorithm/ranges_rotate_copy.h \
230*3bef86f7Srobert	__algorithm/ranges_sample.h \
231*3bef86f7Srobert	__algorithm/ranges_search.h \
232*3bef86f7Srobert	__algorithm/ranges_search_n.h \
233*3bef86f7Srobert	__algorithm/ranges_set_difference.h \
234*3bef86f7Srobert	__algorithm/ranges_set_intersection.h \
235*3bef86f7Srobert	__algorithm/ranges_set_symmetric_difference.h \
236*3bef86f7Srobert	__algorithm/ranges_set_union.h \
237*3bef86f7Srobert	__algorithm/ranges_shuffle.h \
238*3bef86f7Srobert	__algorithm/ranges_sort.h \
239*3bef86f7Srobert	__algorithm/ranges_sort_heap.h \
240*3bef86f7Srobert	__algorithm/ranges_stable_partition.h \
241*3bef86f7Srobert	__algorithm/ranges_stable_sort.h \
242*3bef86f7Srobert	__algorithm/ranges_swap_ranges.h \
243*3bef86f7Srobert	__algorithm/ranges_transform.h \
244*3bef86f7Srobert	__algorithm/ranges_unique.h \
245*3bef86f7Srobert	__algorithm/ranges_unique_copy.h \
246*3bef86f7Srobert	__algorithm/ranges_upper_bound.h \
2475a38ef86Spatrick	__algorithm/remove.h \
248*3bef86f7Srobert	__algorithm/remove_copy.h \
249*3bef86f7Srobert	__algorithm/remove_copy_if.h \
250*3bef86f7Srobert	__algorithm/remove_if.h \
2515a38ef86Spatrick	__algorithm/replace.h \
252*3bef86f7Srobert	__algorithm/replace_copy.h \
253*3bef86f7Srobert	__algorithm/replace_copy_if.h \
254*3bef86f7Srobert	__algorithm/replace_if.h \
2555a38ef86Spatrick	__algorithm/reverse.h \
256*3bef86f7Srobert	__algorithm/reverse_copy.h \
2575a38ef86Spatrick	__algorithm/rotate.h \
258*3bef86f7Srobert	__algorithm/rotate_copy.h \
2595a38ef86Spatrick	__algorithm/sample.h \
2605a38ef86Spatrick	__algorithm/search.h \
261*3bef86f7Srobert	__algorithm/search_n.h \
2625a38ef86Spatrick	__algorithm/set_difference.h \
2635a38ef86Spatrick	__algorithm/set_intersection.h \
2645a38ef86Spatrick	__algorithm/set_symmetric_difference.h \
2655a38ef86Spatrick	__algorithm/set_union.h \
2665a38ef86Spatrick	__algorithm/shift_left.h \
2675a38ef86Spatrick	__algorithm/shift_right.h \
2685a38ef86Spatrick	__algorithm/shuffle.h \
2695a38ef86Spatrick	__algorithm/sift_down.h \
2705a38ef86Spatrick	__algorithm/sort.h \
271*3bef86f7Srobert	__algorithm/sort_heap.h \
2725a38ef86Spatrick	__algorithm/stable_partition.h \
2735a38ef86Spatrick	__algorithm/stable_sort.h \
2745a38ef86Spatrick	__algorithm/swap_ranges.h \
2755a38ef86Spatrick	__algorithm/transform.h \
276*3bef86f7Srobert	__algorithm/uniform_random_bit_generator_adaptor.h \
2775a38ef86Spatrick	__algorithm/unique.h \
278*3bef86f7Srobert	__algorithm/unique_copy.h \
2795a38ef86Spatrick	__algorithm/unwrap_iter.h \
280*3bef86f7Srobert	__algorithm/unwrap_range.h \
2815a38ef86Spatrick	__algorithm/upper_bound.h \
282*3bef86f7Srobert	__assert \
2835a38ef86Spatrick	__availability \
284*3bef86f7Srobert	__bit/bit_cast.h \
285*3bef86f7Srobert	__bit/bit_ceil.h \
286*3bef86f7Srobert	__bit/bit_floor.h \
287*3bef86f7Srobert	__bit/bit_log2.h \
288*3bef86f7Srobert	__bit/bit_width.h \
289*3bef86f7Srobert	__bit/blsr.h \
290*3bef86f7Srobert	__bit/byteswap.h \
291*3bef86f7Srobert	__bit/countl.h \
292*3bef86f7Srobert	__bit/countr.h \
293*3bef86f7Srobert	__bit/endian.h \
294*3bef86f7Srobert	__bit/has_single_bit.h \
295*3bef86f7Srobert	__bit/popcount.h \
296*3bef86f7Srobert	__bit/rotate.h \
2975a38ef86Spatrick	__bit_reference \
298f950054fSpatrick	__bsd_locale_defaults.h \
299f950054fSpatrick	__bsd_locale_fallbacks.h \
300*3bef86f7Srobert	__charconv/chars_format.h \
301*3bef86f7Srobert	__charconv/from_chars_result.h \
302*3bef86f7Srobert	__charconv/tables.h \
303*3bef86f7Srobert	__charconv/to_chars_base_10.h \
304*3bef86f7Srobert	__charconv/to_chars_result.h \
305*3bef86f7Srobert	__chrono/calendar.h \
306*3bef86f7Srobert	__chrono/convert_to_timespec.h \
307*3bef86f7Srobert	__chrono/convert_to_tm.h \
308*3bef86f7Srobert	__chrono/day.h \
309*3bef86f7Srobert	__chrono/duration.h \
310*3bef86f7Srobert	__chrono/file_clock.h \
311*3bef86f7Srobert	__chrono/formatter.h \
312*3bef86f7Srobert	__chrono/hh_mm_ss.h \
313*3bef86f7Srobert	__chrono/high_resolution_clock.h \
314*3bef86f7Srobert	__chrono/literals.h \
315*3bef86f7Srobert	__chrono/month.h \
316*3bef86f7Srobert	__chrono/month_weekday.h \
317*3bef86f7Srobert	__chrono/monthday.h \
318*3bef86f7Srobert	__chrono/ostream.h \
319*3bef86f7Srobert	__chrono/parser_std_format_spec.h \
320*3bef86f7Srobert	__chrono/statically_widen.h \
321*3bef86f7Srobert	__chrono/steady_clock.h \
322*3bef86f7Srobert	__chrono/system_clock.h \
323*3bef86f7Srobert	__chrono/time_point.h \
324*3bef86f7Srobert	__chrono/weekday.h \
325*3bef86f7Srobert	__chrono/year.h \
326*3bef86f7Srobert	__chrono/year_month.h \
327*3bef86f7Srobert	__chrono/year_month_day.h \
328*3bef86f7Srobert	__chrono/year_month_weekday.h \
329*3bef86f7Srobert	__compare/common_comparison_category.h \
330*3bef86f7Srobert	__compare/compare_partial_order_fallback.h \
331*3bef86f7Srobert	__compare/compare_strong_order_fallback.h \
332*3bef86f7Srobert	__compare/compare_three_way.h \
333*3bef86f7Srobert	__compare/compare_three_way_result.h \
334*3bef86f7Srobert	__compare/compare_weak_order_fallback.h \
335*3bef86f7Srobert	__compare/is_eq.h \
336*3bef86f7Srobert	__compare/ordering.h \
337*3bef86f7Srobert	__compare/partial_order.h \
338*3bef86f7Srobert	__compare/strong_order.h \
339*3bef86f7Srobert	__compare/synth_three_way.h \
340*3bef86f7Srobert	__compare/three_way_comparable.h \
341*3bef86f7Srobert	__compare/weak_order.h \
342*3bef86f7Srobert	__concepts/arithmetic.h \
343*3bef86f7Srobert	__concepts/assignable.h \
344*3bef86f7Srobert	__concepts/boolean_testable.h \
345*3bef86f7Srobert	__concepts/class_or_enum.h \
346*3bef86f7Srobert	__concepts/common_reference_with.h \
347*3bef86f7Srobert	__concepts/common_with.h \
348*3bef86f7Srobert	__concepts/constructible.h \
349*3bef86f7Srobert	__concepts/convertible_to.h \
350*3bef86f7Srobert	__concepts/copyable.h \
351*3bef86f7Srobert	__concepts/derived_from.h \
352*3bef86f7Srobert	__concepts/destructible.h \
353*3bef86f7Srobert	__concepts/different_from.h \
354*3bef86f7Srobert	__concepts/equality_comparable.h \
355*3bef86f7Srobert	__concepts/invocable.h \
356*3bef86f7Srobert	__concepts/movable.h \
357*3bef86f7Srobert	__concepts/predicate.h \
358*3bef86f7Srobert	__concepts/regular.h \
359*3bef86f7Srobert	__concepts/relation.h \
360*3bef86f7Srobert	__concepts/same_as.h \
361*3bef86f7Srobert	__concepts/semiregular.h \
362*3bef86f7Srobert	__concepts/swappable.h \
363*3bef86f7Srobert	__concepts/totally_ordered.h \
364f950054fSpatrick	__config \
365*3bef86f7Srobert	__coroutine/coroutine_handle.h \
366*3bef86f7Srobert	__coroutine/coroutine_traits.h \
367*3bef86f7Srobert	__coroutine/noop_coroutine_handle.h \
368*3bef86f7Srobert	__coroutine/trivial_awaitables.h \
369f950054fSpatrick	__debug \
370*3bef86f7Srobert	__debug_utils/randomize_range.h \
371f950054fSpatrick	__errc \
372*3bef86f7Srobert	__expected/bad_expected_access.h \
373*3bef86f7Srobert	__expected/expected.h \
374*3bef86f7Srobert	__expected/unexpect.h \
375*3bef86f7Srobert	__expected/unexpected.h \
376*3bef86f7Srobert	__filesystem/copy_options.h \
377*3bef86f7Srobert	__filesystem/directory_entry.h \
378*3bef86f7Srobert	__filesystem/directory_iterator.h \
379*3bef86f7Srobert	__filesystem/directory_options.h \
380*3bef86f7Srobert	__filesystem/file_status.h \
381*3bef86f7Srobert	__filesystem/file_time_type.h \
382*3bef86f7Srobert	__filesystem/file_type.h \
383*3bef86f7Srobert	__filesystem/filesystem_error.h \
384*3bef86f7Srobert	__filesystem/operations.h \
385*3bef86f7Srobert	__filesystem/path.h \
386*3bef86f7Srobert	__filesystem/path_iterator.h \
387*3bef86f7Srobert	__filesystem/perm_options.h \
388*3bef86f7Srobert	__filesystem/perms.h \
389*3bef86f7Srobert	__filesystem/recursive_directory_iterator.h \
390*3bef86f7Srobert	__filesystem/space_info.h \
391*3bef86f7Srobert	__filesystem/u8path.h \
392*3bef86f7Srobert	__format/buffer.h \
393*3bef86f7Srobert	__format/concepts.h \
394*3bef86f7Srobert	__format/container_adaptor.h \
395*3bef86f7Srobert	__format/enable_insertable.h \
396*3bef86f7Srobert	__format/escaped_output_table.h \
397*3bef86f7Srobert	__format/extended_grapheme_cluster_table.h \
398*3bef86f7Srobert	__format/format_arg.h \
399*3bef86f7Srobert	__format/format_arg_store.h \
400*3bef86f7Srobert	__format/format_args.h \
401*3bef86f7Srobert	__format/format_context.h \
4025a38ef86Spatrick	__format/format_error.h \
403*3bef86f7Srobert	__format/format_functions.h \
404*3bef86f7Srobert	__format/format_fwd.h \
4055a38ef86Spatrick	__format/format_parse_context.h \
406*3bef86f7Srobert	__format/format_string.h \
407*3bef86f7Srobert	__format/format_to_n_result.h \
408*3bef86f7Srobert	__format/formatter.h \
409*3bef86f7Srobert	__format/formatter_bool.h \
410*3bef86f7Srobert	__format/formatter_char.h \
411*3bef86f7Srobert	__format/formatter_floating_point.h \
412*3bef86f7Srobert	__format/formatter_integer.h \
413*3bef86f7Srobert	__format/formatter_integral.h \
414*3bef86f7Srobert	__format/formatter_output.h \
415*3bef86f7Srobert	__format/formatter_pointer.h \
416*3bef86f7Srobert	__format/formatter_string.h \
417*3bef86f7Srobert	__format/formatter_tuple.h \
418*3bef86f7Srobert	__format/parser_std_format_spec.h \
419*3bef86f7Srobert	__format/range_default_formatter.h \
420*3bef86f7Srobert	__format/range_formatter.h \
421*3bef86f7Srobert	__format/unicode.h \
4225a38ef86Spatrick	__functional/binary_function.h \
4235a38ef86Spatrick	__functional/binary_negate.h \
4245a38ef86Spatrick	__functional/bind.h \
425*3bef86f7Srobert	__functional/bind_back.h \
426*3bef86f7Srobert	__functional/bind_front.h \
4275a38ef86Spatrick	__functional/binder1st.h \
4285a38ef86Spatrick	__functional/binder2nd.h \
429*3bef86f7Srobert	__functional/boyer_moore_searcher.h \
430*3bef86f7Srobert	__functional/compose.h \
4315a38ef86Spatrick	__functional/default_searcher.h \
4325a38ef86Spatrick	__functional/function.h \
4335a38ef86Spatrick	__functional/hash.h \
4345a38ef86Spatrick	__functional/identity.h \
4355a38ef86Spatrick	__functional/invoke.h \
4365a38ef86Spatrick	__functional/is_transparent.h \
4375a38ef86Spatrick	__functional/mem_fn.h \
4385a38ef86Spatrick	__functional/mem_fun_ref.h \
4395a38ef86Spatrick	__functional/not_fn.h \
4405a38ef86Spatrick	__functional/operations.h \
4415a38ef86Spatrick	__functional/perfect_forward.h \
4425a38ef86Spatrick	__functional/pointer_to_binary_function.h \
4435a38ef86Spatrick	__functional/pointer_to_unary_function.h \
4445a38ef86Spatrick	__functional/ranges_operations.h \
4455a38ef86Spatrick	__functional/reference_wrapper.h \
4465a38ef86Spatrick	__functional/unary_function.h \
4475a38ef86Spatrick	__functional/unary_negate.h \
4485a38ef86Spatrick	__functional/unwrap_ref.h \
4495a38ef86Spatrick	__functional/weak_result_type.h \
450*3bef86f7Srobert	__fwd/array.h \
451*3bef86f7Srobert	__fwd/get.h \
452*3bef86f7Srobert	__fwd/hash.h \
453*3bef86f7Srobert	__fwd/memory_resource.h \
454*3bef86f7Srobert	__fwd/pair.h \
455*3bef86f7Srobert	__fwd/span.h \
456*3bef86f7Srobert	__fwd/string.h \
457*3bef86f7Srobert	__fwd/string_view.h \
458*3bef86f7Srobert	__fwd/subrange.h \
459*3bef86f7Srobert	__fwd/tuple.h \
460f950054fSpatrick	__hash_table \
461*3bef86f7Srobert	__ios/fpos.h \
4625a38ef86Spatrick	__iterator/access.h \
4635a38ef86Spatrick	__iterator/advance.h \
4645a38ef86Spatrick	__iterator/back_insert_iterator.h \
465*3bef86f7Srobert	__iterator/bounded_iter.h \
4665a38ef86Spatrick	__iterator/common_iterator.h \
4675a38ef86Spatrick	__iterator/concepts.h \
4685a38ef86Spatrick	__iterator/counted_iterator.h \
4695a38ef86Spatrick	__iterator/data.h \
4705a38ef86Spatrick	__iterator/default_sentinel.h \
4715a38ef86Spatrick	__iterator/distance.h \
4725a38ef86Spatrick	__iterator/empty.h \
4735a38ef86Spatrick	__iterator/erase_if_container.h \
4745a38ef86Spatrick	__iterator/front_insert_iterator.h \
4755a38ef86Spatrick	__iterator/incrementable_traits.h \
476*3bef86f7Srobert	__iterator/indirectly_comparable.h \
4775a38ef86Spatrick	__iterator/insert_iterator.h \
4785a38ef86Spatrick	__iterator/istream_iterator.h \
4795a38ef86Spatrick	__iterator/istreambuf_iterator.h \
4805a38ef86Spatrick	__iterator/iter_move.h \
4815a38ef86Spatrick	__iterator/iter_swap.h \
4825a38ef86Spatrick	__iterator/iterator.h \
483*3bef86f7Srobert	__iterator/iterator_traits.h \
484*3bef86f7Srobert	__iterator/iterator_with_data.h \
485*3bef86f7Srobert	__iterator/mergeable.h \
4865a38ef86Spatrick	__iterator/move_iterator.h \
487*3bef86f7Srobert	__iterator/move_sentinel.h \
4885a38ef86Spatrick	__iterator/next.h \
4895a38ef86Spatrick	__iterator/ostream_iterator.h \
4905a38ef86Spatrick	__iterator/ostreambuf_iterator.h \
491*3bef86f7Srobert	__iterator/permutable.h \
4925a38ef86Spatrick	__iterator/prev.h \
4935a38ef86Spatrick	__iterator/projected.h \
4945a38ef86Spatrick	__iterator/readable_traits.h \
4955a38ef86Spatrick	__iterator/reverse_access.h \
4965a38ef86Spatrick	__iterator/reverse_iterator.h \
497*3bef86f7Srobert	__iterator/segmented_iterator.h \
4985a38ef86Spatrick	__iterator/size.h \
499*3bef86f7Srobert	__iterator/sortable.h \
500*3bef86f7Srobert	__iterator/unreachable_sentinel.h \
5015a38ef86Spatrick	__iterator/wrap_iter.h \
502f950054fSpatrick	__locale \
503*3bef86f7Srobert	__mbstate_t.h \
5045a38ef86Spatrick	__memory/addressof.h \
505*3bef86f7Srobert	__memory/align.h \
506*3bef86f7Srobert	__memory/allocate_at_least.h \
5075a38ef86Spatrick	__memory/allocation_guard.h \
5085a38ef86Spatrick	__memory/allocator.h \
509*3bef86f7Srobert	__memory/allocator_arg_t.h \
510*3bef86f7Srobert	__memory/allocator_destructor.h \
511*3bef86f7Srobert	__memory/allocator_traits.h \
512*3bef86f7Srobert	__memory/assume_aligned.h \
5135a38ef86Spatrick	__memory/auto_ptr.h \
514*3bef86f7Srobert	__memory/builtin_new_allocator.h \
5155a38ef86Spatrick	__memory/compressed_pair.h \
516*3bef86f7Srobert	__memory/concepts.h \
5175a38ef86Spatrick	__memory/construct_at.h \
518*3bef86f7Srobert	__memory/destruct_n.h \
5195a38ef86Spatrick	__memory/pointer_traits.h \
520*3bef86f7Srobert	__memory/ranges_construct_at.h \
521*3bef86f7Srobert	__memory/ranges_uninitialized_algorithms.h \
5225a38ef86Spatrick	__memory/raw_storage_iterator.h \
5235a38ef86Spatrick	__memory/shared_ptr.h \
524*3bef86f7Srobert	__memory/swap_allocator.h \
525*3bef86f7Srobert	__memory/temp_value.h \
5265a38ef86Spatrick	__memory/temporary_buffer.h \
5275a38ef86Spatrick	__memory/uninitialized_algorithms.h \
5285a38ef86Spatrick	__memory/unique_ptr.h \
5295a38ef86Spatrick	__memory/uses_allocator.h \
530*3bef86f7Srobert	__memory/uses_allocator_construction.h \
531*3bef86f7Srobert	__memory/voidify.h \
532*3bef86f7Srobert	__memory_resource/memory_resource.h \
533*3bef86f7Srobert	__memory_resource/monotonic_buffer_resource.h \
534*3bef86f7Srobert	__memory_resource/polymorphic_allocator.h \
535*3bef86f7Srobert	__memory_resource/pool_options.h \
536*3bef86f7Srobert	__memory_resource/synchronized_pool_resource.h \
537*3bef86f7Srobert	__memory_resource/unsynchronized_pool_resource.h \
538f950054fSpatrick	__mutex_base \
539f950054fSpatrick	__node_handle \
540*3bef86f7Srobert	__numeric/accumulate.h \
541*3bef86f7Srobert	__numeric/adjacent_difference.h \
542*3bef86f7Srobert	__numeric/exclusive_scan.h \
543*3bef86f7Srobert	__numeric/gcd_lcm.h \
544*3bef86f7Srobert	__numeric/inclusive_scan.h \
545*3bef86f7Srobert	__numeric/inner_product.h \
546*3bef86f7Srobert	__numeric/iota.h \
547*3bef86f7Srobert	__numeric/midpoint.h \
548*3bef86f7Srobert	__numeric/partial_sum.h \
549*3bef86f7Srobert	__numeric/reduce.h \
550*3bef86f7Srobert	__numeric/transform_exclusive_scan.h \
551*3bef86f7Srobert	__numeric/transform_inclusive_scan.h \
552*3bef86f7Srobert	__numeric/transform_reduce.h \
553*3bef86f7Srobert	__random/bernoulli_distribution.h \
554*3bef86f7Srobert	__random/binomial_distribution.h \
555*3bef86f7Srobert	__random/cauchy_distribution.h \
556*3bef86f7Srobert	__random/chi_squared_distribution.h \
557*3bef86f7Srobert	__random/clamp_to_integral.h \
558*3bef86f7Srobert	__random/default_random_engine.h \
559*3bef86f7Srobert	__random/discard_block_engine.h \
560*3bef86f7Srobert	__random/discrete_distribution.h \
561*3bef86f7Srobert	__random/exponential_distribution.h \
562*3bef86f7Srobert	__random/extreme_value_distribution.h \
563*3bef86f7Srobert	__random/fisher_f_distribution.h \
564*3bef86f7Srobert	__random/gamma_distribution.h \
565*3bef86f7Srobert	__random/generate_canonical.h \
566*3bef86f7Srobert	__random/geometric_distribution.h \
567*3bef86f7Srobert	__random/independent_bits_engine.h \
568*3bef86f7Srobert	__random/is_seed_sequence.h \
569*3bef86f7Srobert	__random/is_valid.h \
570*3bef86f7Srobert	__random/knuth_b.h \
571*3bef86f7Srobert	__random/linear_congruential_engine.h \
572*3bef86f7Srobert	__random/log2.h \
573*3bef86f7Srobert	__random/lognormal_distribution.h \
574*3bef86f7Srobert	__random/mersenne_twister_engine.h \
575*3bef86f7Srobert	__random/negative_binomial_distribution.h \
576*3bef86f7Srobert	__random/normal_distribution.h \
577*3bef86f7Srobert	__random/piecewise_constant_distribution.h \
578*3bef86f7Srobert	__random/piecewise_linear_distribution.h \
579*3bef86f7Srobert	__random/poisson_distribution.h \
580*3bef86f7Srobert	__random/random_device.h \
581*3bef86f7Srobert	__random/ranlux.h \
582*3bef86f7Srobert	__random/seed_seq.h \
583*3bef86f7Srobert	__random/shuffle_order_engine.h \
584*3bef86f7Srobert	__random/student_t_distribution.h \
585*3bef86f7Srobert	__random/subtract_with_carry_engine.h \
5865a38ef86Spatrick	__random/uniform_int_distribution.h \
587*3bef86f7Srobert	__random/uniform_random_bit_generator.h \
588*3bef86f7Srobert	__random/uniform_real_distribution.h \
589*3bef86f7Srobert	__random/weibull_distribution.h \
5905a38ef86Spatrick	__ranges/access.h \
5915a38ef86Spatrick	__ranges/all.h \
592*3bef86f7Srobert	__ranges/as_rvalue_view.h \
5935a38ef86Spatrick	__ranges/common_view.h \
5945a38ef86Spatrick	__ranges/concepts.h \
5955a38ef86Spatrick	__ranges/copyable_box.h \
596*3bef86f7Srobert	__ranges/counted.h \
5975a38ef86Spatrick	__ranges/dangling.h \
5985a38ef86Spatrick	__ranges/data.h \
5995a38ef86Spatrick	__ranges/drop_view.h \
600*3bef86f7Srobert	__ranges/drop_while_view.h \
601*3bef86f7Srobert	__ranges/elements_view.h \
6025a38ef86Spatrick	__ranges/empty.h \
603*3bef86f7Srobert	__ranges/empty_view.h \
6045a38ef86Spatrick	__ranges/enable_borrowed_range.h \
6055a38ef86Spatrick	__ranges/enable_view.h \
606*3bef86f7Srobert	__ranges/filter_view.h \
607*3bef86f7Srobert	__ranges/iota_view.h \
608*3bef86f7Srobert	__ranges/istream_view.h \
609*3bef86f7Srobert	__ranges/join_view.h \
610*3bef86f7Srobert	__ranges/lazy_split_view.h \
6115a38ef86Spatrick	__ranges/non_propagating_cache.h \
612*3bef86f7Srobert	__ranges/owning_view.h \
613*3bef86f7Srobert	__ranges/range_adaptor.h \
614*3bef86f7Srobert	__ranges/rbegin.h \
6155a38ef86Spatrick	__ranges/ref_view.h \
616*3bef86f7Srobert	__ranges/rend.h \
617*3bef86f7Srobert	__ranges/reverse_view.h \
618*3bef86f7Srobert	__ranges/single_view.h \
6195a38ef86Spatrick	__ranges/size.h \
620*3bef86f7Srobert	__ranges/split_view.h \
6215a38ef86Spatrick	__ranges/subrange.h \
622*3bef86f7Srobert	__ranges/take_view.h \
623*3bef86f7Srobert	__ranges/take_while_view.h \
6245a38ef86Spatrick	__ranges/transform_view.h \
6255a38ef86Spatrick	__ranges/view_interface.h \
626*3bef86f7Srobert	__ranges/views.h \
627*3bef86f7Srobert	__ranges/zip_view.h \
628f950054fSpatrick	__split_buffer \
629f950054fSpatrick	__std_stream \
6305a38ef86Spatrick	__support/android/locale_bionic.h \
6315a38ef86Spatrick	__support/fuchsia/xlocale.h \
6325a38ef86Spatrick	__support/ibm/gettod_zos.h \
6335a38ef86Spatrick	__support/ibm/locale_mgmt_zos.h \
6345a38ef86Spatrick	__support/ibm/nanosleep.h \
6355a38ef86Spatrick	__support/ibm/xlocale.h \
6365a38ef86Spatrick	__support/musl/xlocale.h \
6375a38ef86Spatrick	__support/newlib/xlocale.h \
6385a38ef86Spatrick	__support/openbsd/xlocale.h \
6395a38ef86Spatrick	__support/solaris/floatingpoint.h \
6405a38ef86Spatrick	__support/solaris/wchar.h \
6415a38ef86Spatrick	__support/solaris/xlocale.h \
6425a38ef86Spatrick	__support/win32/locale_win32.h \
6435a38ef86Spatrick	__support/xlocale/__nop_locale_mgmt.h \
6445a38ef86Spatrick	__support/xlocale/__posix_l_fallback.h \
6455a38ef86Spatrick	__support/xlocale/__strtonum_fallback.h \
646*3bef86f7Srobert	__thread/poll_with_backoff.h \
647*3bef86f7Srobert	__thread/timed_backoff_policy.h \
648f950054fSpatrick	__threading_support \
649f950054fSpatrick	__tree \
650*3bef86f7Srobert	__tuple_dir/apply_cv.h \
651*3bef86f7Srobert	__tuple_dir/make_tuple_types.h \
652*3bef86f7Srobert	__tuple_dir/pair_like.h \
653*3bef86f7Srobert	__tuple_dir/sfinae_helpers.h \
654*3bef86f7Srobert	__tuple_dir/tuple_element.h \
655*3bef86f7Srobert	__tuple_dir/tuple_indices.h \
656*3bef86f7Srobert	__tuple_dir/tuple_like.h \
657*3bef86f7Srobert	__tuple_dir/tuple_like_ext.h \
658*3bef86f7Srobert	__tuple_dir/tuple_size.h \
659*3bef86f7Srobert	__tuple_dir/tuple_types.h \
660*3bef86f7Srobert	__type_traits/add_const.h \
661*3bef86f7Srobert	__type_traits/add_cv.h \
662*3bef86f7Srobert	__type_traits/add_lvalue_reference.h \
663*3bef86f7Srobert	__type_traits/add_pointer.h \
664*3bef86f7Srobert	__type_traits/add_rvalue_reference.h \
665*3bef86f7Srobert	__type_traits/add_volatile.h \
666*3bef86f7Srobert	__type_traits/aligned_storage.h \
667*3bef86f7Srobert	__type_traits/aligned_union.h \
668*3bef86f7Srobert	__type_traits/alignment_of.h \
669*3bef86f7Srobert	__type_traits/apply_cv.h \
670*3bef86f7Srobert	__type_traits/can_extract_key.h \
671*3bef86f7Srobert	__type_traits/common_reference.h \
672*3bef86f7Srobert	__type_traits/common_type.h \
673*3bef86f7Srobert	__type_traits/conditional.h \
674*3bef86f7Srobert	__type_traits/conjunction.h \
675*3bef86f7Srobert	__type_traits/copy_cv.h \
676*3bef86f7Srobert	__type_traits/copy_cvref.h \
677*3bef86f7Srobert	__type_traits/decay.h \
678*3bef86f7Srobert	__type_traits/dependent_type.h \
679*3bef86f7Srobert	__type_traits/disjunction.h \
680*3bef86f7Srobert	__type_traits/enable_if.h \
681*3bef86f7Srobert	__type_traits/extent.h \
682*3bef86f7Srobert	__type_traits/has_unique_object_representation.h \
683*3bef86f7Srobert	__type_traits/has_virtual_destructor.h \
684*3bef86f7Srobert	__type_traits/integral_constant.h \
685*3bef86f7Srobert	__type_traits/is_abstract.h \
686*3bef86f7Srobert	__type_traits/is_aggregate.h \
687*3bef86f7Srobert	__type_traits/is_allocator.h \
688*3bef86f7Srobert	__type_traits/is_always_bitcastable.h \
689*3bef86f7Srobert	__type_traits/is_arithmetic.h \
690*3bef86f7Srobert	__type_traits/is_array.h \
691*3bef86f7Srobert	__type_traits/is_assignable.h \
692*3bef86f7Srobert	__type_traits/is_base_of.h \
693*3bef86f7Srobert	__type_traits/is_bounded_array.h \
694*3bef86f7Srobert	__type_traits/is_callable.h \
695*3bef86f7Srobert	__type_traits/is_char_like_type.h \
696*3bef86f7Srobert	__type_traits/is_class.h \
697*3bef86f7Srobert	__type_traits/is_compound.h \
698*3bef86f7Srobert	__type_traits/is_const.h \
699*3bef86f7Srobert	__type_traits/is_constant_evaluated.h \
700*3bef86f7Srobert	__type_traits/is_constructible.h \
701*3bef86f7Srobert	__type_traits/is_convertible.h \
702*3bef86f7Srobert	__type_traits/is_copy_assignable.h \
703*3bef86f7Srobert	__type_traits/is_copy_constructible.h \
704*3bef86f7Srobert	__type_traits/is_core_convertible.h \
705*3bef86f7Srobert	__type_traits/is_default_constructible.h \
706*3bef86f7Srobert	__type_traits/is_destructible.h \
707*3bef86f7Srobert	__type_traits/is_empty.h \
708*3bef86f7Srobert	__type_traits/is_enum.h \
709*3bef86f7Srobert	__type_traits/is_final.h \
710*3bef86f7Srobert	__type_traits/is_floating_point.h \
711*3bef86f7Srobert	__type_traits/is_function.h \
712*3bef86f7Srobert	__type_traits/is_fundamental.h \
713*3bef86f7Srobert	__type_traits/is_implicitly_default_constructible.h \
714*3bef86f7Srobert	__type_traits/is_integral.h \
715*3bef86f7Srobert	__type_traits/is_literal_type.h \
716*3bef86f7Srobert	__type_traits/is_member_function_pointer.h \
717*3bef86f7Srobert	__type_traits/is_member_object_pointer.h \
718*3bef86f7Srobert	__type_traits/is_member_pointer.h \
719*3bef86f7Srobert	__type_traits/is_move_assignable.h \
720*3bef86f7Srobert	__type_traits/is_move_constructible.h \
721*3bef86f7Srobert	__type_traits/is_nothrow_assignable.h \
722*3bef86f7Srobert	__type_traits/is_nothrow_constructible.h \
723*3bef86f7Srobert	__type_traits/is_nothrow_convertible.h \
724*3bef86f7Srobert	__type_traits/is_nothrow_copy_assignable.h \
725*3bef86f7Srobert	__type_traits/is_nothrow_copy_constructible.h \
726*3bef86f7Srobert	__type_traits/is_nothrow_default_constructible.h \
727*3bef86f7Srobert	__type_traits/is_nothrow_destructible.h \
728*3bef86f7Srobert	__type_traits/is_nothrow_move_assignable.h \
729*3bef86f7Srobert	__type_traits/is_nothrow_move_constructible.h \
730*3bef86f7Srobert	__type_traits/is_null_pointer.h \
731*3bef86f7Srobert	__type_traits/is_object.h \
732*3bef86f7Srobert	__type_traits/is_pod.h \
733*3bef86f7Srobert	__type_traits/is_pointer.h \
734*3bef86f7Srobert	__type_traits/is_polymorphic.h \
735*3bef86f7Srobert	__type_traits/is_primary_template.h \
736*3bef86f7Srobert	__type_traits/is_reference.h \
737*3bef86f7Srobert	__type_traits/is_reference_wrapper.h \
738*3bef86f7Srobert	__type_traits/is_referenceable.h \
739*3bef86f7Srobert	__type_traits/is_same.h \
740*3bef86f7Srobert	__type_traits/is_scalar.h \
741*3bef86f7Srobert	__type_traits/is_scoped_enum.h \
742*3bef86f7Srobert	__type_traits/is_signed.h \
743*3bef86f7Srobert	__type_traits/is_signed_integer.h \
744*3bef86f7Srobert	__type_traits/is_specialization.h \
745*3bef86f7Srobert	__type_traits/is_standard_layout.h \
746*3bef86f7Srobert	__type_traits/is_swappable.h \
747*3bef86f7Srobert	__type_traits/is_trivial.h \
748*3bef86f7Srobert	__type_traits/is_trivially_assignable.h \
749*3bef86f7Srobert	__type_traits/is_trivially_constructible.h \
750*3bef86f7Srobert	__type_traits/is_trivially_copy_assignable.h \
751*3bef86f7Srobert	__type_traits/is_trivially_copy_constructible.h \
752*3bef86f7Srobert	__type_traits/is_trivially_copyable.h \
753*3bef86f7Srobert	__type_traits/is_trivially_default_constructible.h \
754*3bef86f7Srobert	__type_traits/is_trivially_destructible.h \
755*3bef86f7Srobert	__type_traits/is_trivially_move_assignable.h \
756*3bef86f7Srobert	__type_traits/is_trivially_move_constructible.h \
757*3bef86f7Srobert	__type_traits/is_unbounded_array.h \
758*3bef86f7Srobert	__type_traits/is_union.h \
759*3bef86f7Srobert	__type_traits/is_unsigned.h \
760*3bef86f7Srobert	__type_traits/is_unsigned_integer.h \
761*3bef86f7Srobert	__type_traits/is_valid_expansion.h \
762*3bef86f7Srobert	__type_traits/is_void.h \
763*3bef86f7Srobert	__type_traits/is_volatile.h \
764*3bef86f7Srobert	__type_traits/lazy.h \
765*3bef86f7Srobert	__type_traits/make_32_64_or_128_bit.h \
766*3bef86f7Srobert	__type_traits/make_const_lvalue_ref.h \
767*3bef86f7Srobert	__type_traits/make_signed.h \
768*3bef86f7Srobert	__type_traits/make_unsigned.h \
769*3bef86f7Srobert	__type_traits/maybe_const.h \
770*3bef86f7Srobert	__type_traits/nat.h \
771*3bef86f7Srobert	__type_traits/negation.h \
772*3bef86f7Srobert	__type_traits/noexcept_move_assign_container.h \
773*3bef86f7Srobert	__type_traits/promote.h \
774*3bef86f7Srobert	__type_traits/rank.h \
775*3bef86f7Srobert	__type_traits/remove_all_extents.h \
776*3bef86f7Srobert	__type_traits/remove_const.h \
777*3bef86f7Srobert	__type_traits/remove_const_ref.h \
778*3bef86f7Srobert	__type_traits/remove_cv.h \
779*3bef86f7Srobert	__type_traits/remove_cvref.h \
780*3bef86f7Srobert	__type_traits/remove_extent.h \
781*3bef86f7Srobert	__type_traits/remove_pointer.h \
782*3bef86f7Srobert	__type_traits/remove_reference.h \
783*3bef86f7Srobert	__type_traits/remove_volatile.h \
784*3bef86f7Srobert	__type_traits/result_of.h \
785*3bef86f7Srobert	__type_traits/strip_signature.h \
786*3bef86f7Srobert	__type_traits/type_identity.h \
787*3bef86f7Srobert	__type_traits/type_list.h \
788*3bef86f7Srobert	__type_traits/underlying_type.h \
789*3bef86f7Srobert	__type_traits/void_t.h \
790f950054fSpatrick	__undef_macros \
7915a38ef86Spatrick	__utility/as_const.h \
792*3bef86f7Srobert	__utility/auto_cast.h \
7935a38ef86Spatrick	__utility/cmp.h \
794*3bef86f7Srobert	__utility/convert_to_integral.h \
7955a38ef86Spatrick	__utility/declval.h \
796*3bef86f7Srobert	__utility/exception_guard.h \
7975a38ef86Spatrick	__utility/exchange.h \
7985a38ef86Spatrick	__utility/forward.h \
799*3bef86f7Srobert	__utility/forward_like.h \
8005a38ef86Spatrick	__utility/in_place.h \
8015a38ef86Spatrick	__utility/integer_sequence.h \
8025a38ef86Spatrick	__utility/move.h \
8035a38ef86Spatrick	__utility/pair.h \
8045a38ef86Spatrick	__utility/piecewise_construct.h \
805*3bef86f7Srobert	__utility/priority_tag.h \
8065a38ef86Spatrick	__utility/rel_ops.h \
8075a38ef86Spatrick	__utility/swap.h \
8085a38ef86Spatrick	__utility/to_underlying.h \
809*3bef86f7Srobert	__utility/unreachable.h \
8105a38ef86Spatrick	__variant/monostate.h \
811*3bef86f7Srobert	__verbose_abort \
812f950054fSpatrick	algorithm \
813f950054fSpatrick	any \
814f950054fSpatrick	array \
815f950054fSpatrick	atomic \
816998fd449Spatrick	barrier \
817f950054fSpatrick	bit \
818f950054fSpatrick	bitset \
819f950054fSpatrick	cassert \
820f950054fSpatrick	ccomplex \
821f950054fSpatrick	cctype \
822f950054fSpatrick	cerrno \
823f950054fSpatrick	cfenv \
824f950054fSpatrick	cfloat \
825f950054fSpatrick	charconv \
826f950054fSpatrick	chrono \
827f950054fSpatrick	cinttypes \
828f950054fSpatrick	ciso646 \
829f950054fSpatrick	climits \
830f950054fSpatrick	clocale \
831f950054fSpatrick	cmath \
832f950054fSpatrick	codecvt \
833f950054fSpatrick	compare \
834f950054fSpatrick	complex \
835f950054fSpatrick	complex.h \
836998fd449Spatrick	concepts \
837f950054fSpatrick	condition_variable \
838*3bef86f7Srobert	coroutine \
839f950054fSpatrick	csetjmp \
840f950054fSpatrick	csignal \
841f950054fSpatrick	cstdarg \
842f950054fSpatrick	cstdbool \
843f950054fSpatrick	cstddef \
844f950054fSpatrick	cstdint \
845f950054fSpatrick	cstdio \
846f950054fSpatrick	cstdlib \
847f950054fSpatrick	cstring \
848f950054fSpatrick	ctgmath \
849f950054fSpatrick	ctime \
850f950054fSpatrick	ctype.h \
851*3bef86f7Srobert	cuchar \
852f950054fSpatrick	cwchar \
853f950054fSpatrick	cwctype \
854f950054fSpatrick	deque \
855f950054fSpatrick	errno.h \
856f950054fSpatrick	exception \
857f08594bdSpatrick	execution \
858*3bef86f7Srobert	expected \
8595a38ef86Spatrick	experimental/__config \
8605a38ef86Spatrick	experimental/__memory \
8615a38ef86Spatrick	experimental/algorithm \
8625a38ef86Spatrick	experimental/coroutine \
8635a38ef86Spatrick	experimental/deque \
8645a38ef86Spatrick	experimental/forward_list \
8655a38ef86Spatrick	experimental/functional \
8665a38ef86Spatrick	experimental/iterator \
8675a38ef86Spatrick	experimental/list \
8685a38ef86Spatrick	experimental/map \
8695a38ef86Spatrick	experimental/memory_resource \
8705a38ef86Spatrick	experimental/propagate_const \
8715a38ef86Spatrick	experimental/regex \
8725a38ef86Spatrick	experimental/set \
8735a38ef86Spatrick	experimental/simd \
8745a38ef86Spatrick	experimental/string \
8755a38ef86Spatrick	experimental/type_traits \
8765a38ef86Spatrick	experimental/unordered_map \
8775a38ef86Spatrick	experimental/unordered_set \
8785a38ef86Spatrick	experimental/utility \
8795a38ef86Spatrick	experimental/vector \
8805a38ef86Spatrick	ext/__hash \
8815a38ef86Spatrick	ext/hash_map \
8825a38ef86Spatrick	ext/hash_set \
883f08594bdSpatrick	fenv.h \
884998fd449Spatrick	filesystem \
885f950054fSpatrick	float.h \
8865a38ef86Spatrick	format \
887f950054fSpatrick	forward_list \
888f950054fSpatrick	fstream \
889f950054fSpatrick	functional \
890f950054fSpatrick	future \
891f950054fSpatrick	initializer_list \
892f950054fSpatrick	inttypes.h \
893f950054fSpatrick	iomanip \
894f950054fSpatrick	ios \
895f950054fSpatrick	iosfwd \
896f950054fSpatrick	iostream \
897f950054fSpatrick	istream \
898f950054fSpatrick	iterator \
899998fd449Spatrick	latch \
900*3bef86f7Srobert	libcxx.imp \
901f950054fSpatrick	limits \
902f950054fSpatrick	limits.h \
903f950054fSpatrick	list \
904f950054fSpatrick	locale \
905f950054fSpatrick	locale.h \
906f950054fSpatrick	map \
907f950054fSpatrick	math.h \
908f950054fSpatrick	memory \
909*3bef86f7Srobert	memory_resource \
910f950054fSpatrick	mutex \
911f950054fSpatrick	new \
912998fd449Spatrick	numbers \
913f950054fSpatrick	numeric \
914f950054fSpatrick	optional \
915f950054fSpatrick	ostream \
916f950054fSpatrick	queue \
917f950054fSpatrick	random \
9185a38ef86Spatrick	ranges \
919f950054fSpatrick	ratio \
920f950054fSpatrick	regex \
921f950054fSpatrick	scoped_allocator \
922998fd449Spatrick	semaphore \
923f950054fSpatrick	set \
924f950054fSpatrick	setjmp.h \
925f950054fSpatrick	shared_mutex \
926*3bef86f7Srobert	source_location \
927f950054fSpatrick	span \
928f950054fSpatrick	sstream \
929f950054fSpatrick	stack \
930*3bef86f7Srobert	stdatomic.h \
931f950054fSpatrick	stdbool.h \
932f950054fSpatrick	stddef.h \
933f950054fSpatrick	stdexcept \
934f950054fSpatrick	stdint.h \
935f950054fSpatrick	stdio.h \
936f950054fSpatrick	stdlib.h \
937f950054fSpatrick	streambuf \
938f950054fSpatrick	string \
9395a38ef86Spatrick	string.h \
940*3bef86f7Srobert	string_view \
941f950054fSpatrick	strstream \
942f950054fSpatrick	system_error \
943f950054fSpatrick	tgmath.h \
944f950054fSpatrick	thread \
945f950054fSpatrick	tuple \
946f950054fSpatrick	type_traits \
947f950054fSpatrick	typeindex \
948f950054fSpatrick	typeinfo \
949*3bef86f7Srobert	uchar.h \
950f950054fSpatrick	unordered_map \
951f950054fSpatrick	unordered_set \
952f950054fSpatrick	utility \
953f950054fSpatrick	valarray \
954f950054fSpatrick	variant \
955f950054fSpatrick	vector \
956f950054fSpatrick	version \
957f950054fSpatrick	wchar.h \
958f950054fSpatrick	wctype.h
959f950054fSpatrick
960*3bef86f7Srobert# __string has moved from a file to a directory which CVS cannot
961*3bef86f7Srobert# handle so we have to do some trickery with these
962*3bef86f7SrobertSTRING_HEADERS=	\
963*3bef86f7Srobert	__string/char_traits.h \
964*3bef86f7Srobert	__string/extern_template_lists.h
965*3bef86f7Srobert
966f950054fSpatrickincludes:
967f950054fSpatrick	@echo installing ${STD_HEADERS}
9685a38ef86Spatrick.	for hdr in ${STD_HEADERS}
9695a38ef86Spatrick		cmp -s ${HDRDIR}/${hdr} ${DESTDIR}/${CXXINCLUDEDIR}/${hdr} || \
9705a38ef86Spatrick			${INSTALL} ${INSTALL_COPY} -D -m 444 ${HDRDIR}/${hdr} \
9715a38ef86Spatrick				${DESTDIR}/${CXXINCLUDEDIR}/${hdr};
972f950054fSpatrick.	endfor
9735a38ef86Spatrick	cmp -s ${CONFIG_SITE} ${DESTDIR}/${CXXINCLUDEDIR}/${CONFIG_SITE:T} || \
9745a38ef86Spatrick		${INSTALL} ${INSTALL_COPY} -D -m 444 ${CONFIG_SITE} \
9755a38ef86Spatrick			${DESTDIR}/${CXXINCLUDEDIR}/${CONFIG_SITE:T}
976*3bef86f7Srobert	@echo installing ${STRING_HEADERS}
977*3bef86f7Srobert.	for hdr in ${STRING_HEADERS}
978*3bef86f7Srobert		cmp -s ${HDRDIR}/__string.d/${hdr} ${DESTDIR}/${CXXINCLUDEDIR}/${hdr} || \
979*3bef86f7Srobert			${INSTALL} ${INSTALL_COPY} -D -m 444 ${HDRDIR}/__string.d/${hdr} \
980*3bef86f7Srobert				${DESTDIR}/${CXXINCLUDEDIR}/${hdr};
981*3bef86f7Srobert.	endfor
982f950054fSpatrick
983f950054fSpatrick.include <bsd.lib.mk>
984f950054fSpatrick
985f950054fSpatrick.else
986f950054fSpatrickNOPROG=
987f950054fSpatrick.include <bsd.prog.mk>
988f950054fSpatrick.endif
989