[NFC][Py Reformat] Reformat python files in llvm
[llvm-project.git] / llvm / utils / gn / secondary / libcxx / include / BUILD.gn
blob5b062c8329243c04543d9dfff6190b4541e850c4
1 import("//libcxx/config.gni")
2 import("//llvm/utils/gn/build/write_cmake_config.gni")
4 libcxx_generated_include_dir = "$root_build_dir/include/c++/v1"
6 # This is a bit weird. For now, we assume that __config_site is identical
7 # in all toolchains, and only copy it (and all other libcxx headers)
8 # to 'include' in the root build dir, so that it's the same for all toolchains.
9 # Maybe we want to make this per-toolchain eventually (and then use root_out_dir
10 # in libcxx_generated_include_dir) -- e.g. for cross-builds that for example
11 # use for-linux-configured libc++ for the host build but for-windows-configured
12 # libc++ for the target build.
13 if (current_toolchain == default_toolchain) {
14   write_cmake_config("write_config_site") {
15     input = "__config_site.in"
16     output = "$libcxx_generated_include_dir/__config_site"
18     values = [
19       "_LIBCPP_ABI_FORCE_ITANIUM=",
20       "_LIBCPP_ABI_FORCE_MICROSOFT=",
21       "_LIBCPP_EXTRA_SITE_DEFINES=",
22       "_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY=",
23       "_LIBCPP_HAS_NO_FSTREAM=",
24       "_LIBCPP_HAS_NO_THREADS=",
25       "_LIBCPP_HAS_NO_MONOTONIC_CLOCK=",
26       "_LIBCPP_HAS_MUSL_LIBC=",
27       "_LIBCPP_HAS_THREAD_API_PTHREAD=",
28       "_LIBCPP_HAS_THREAD_API_EXTERNAL=",
29       "_LIBCPP_HAS_THREAD_API_WIN32=",
30       "_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL=",
31       "_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS=",
32       "_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS=1",
33       "_LIBCPP_NO_VCRUNTIME=",
34       "_LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION=",
35       "_LIBCPP_HAS_NO_RANDOM_DEVICE=",
36       "_LIBCPP_HAS_NO_LOCALIZATION=",
37       "_LIBCPP_HAS_NO_WIDE_CHARACTERS=",
38       "_LIBCPP_ABI_DEFINES=",
39       "_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=",
40     ]
41     if (libcxx_abi_version != 1) {
42       values += [ "_LIBCPP_ABI_VERSION=$libcxx_abi_version" ]
43     } else {
44       values += [ "_LIBCPP_ABI_VERSION=" ]
45     }
46     if (libcxx_abi_namespace != "") {
47       values += [ "_LIBCPP_ABI_NAMESPACE=$libcxx_abi_namespace" ]
48     } else {
49       values += [ "_LIBCPP_ABI_NAMESPACE=__" + libcxx_abi_version ]
50     }
51     if (libcxx_enable_debug_mode) {
52       values += [ "_LIBCPP_ENABLE_DEBUG_MODE=1" ]
53     } else {
54       values += [ "_LIBCPP_ENABLE_DEBUG_MODE=" ]
55     }
56   }
58   write_cmake_config("write_modulemap") {
59     input = "module.modulemap.in"
60     output = "$libcxx_generated_include_dir/module.modulemap"
62     #no = "requires LIBCXX_CONFIGURED_WITHOUT_SUPPORT_FOR_THIS_HEADER"
63     values = [
64       # An empty value here means the feature is supported.
65       # Unsupported values should be set to `$no`.
66       "requires_LIBCXX_ENABLE_FILESYSTEM=",
67       "requires_LIBCXX_ENABLE_FSTREAM=",
68       "requires_LIBCXX_ENABLE_LOCALIZATION=",
69       "requires_LIBCXX_ENABLE_THREADS=",
70       "requires_LIBCXX_ENABLE_WIDE_CHARACTERS=",
71     ]
72   }
74   copy("copy_headers") {
75     sources = [
76       "__algorithm/adjacent_find.h",
77       "__algorithm/all_of.h",
78       "__algorithm/any_of.h",
79       "__algorithm/binary_search.h",
80       "__algorithm/clamp.h",
81       "__algorithm/comp.h",
82       "__algorithm/comp_ref_type.h",
83       "__algorithm/copy.h",
84       "__algorithm/copy_backward.h",
85       "__algorithm/copy_if.h",
86       "__algorithm/copy_move_common.h",
87       "__algorithm/copy_n.h",
88       "__algorithm/count.h",
89       "__algorithm/count_if.h",
90       "__algorithm/equal.h",
91       "__algorithm/equal_range.h",
92       "__algorithm/fill.h",
93       "__algorithm/fill_n.h",
94       "__algorithm/find.h",
95       "__algorithm/find_end.h",
96       "__algorithm/find_first_of.h",
97       "__algorithm/find_if.h",
98       "__algorithm/find_if_not.h",
99       "__algorithm/for_each.h",
100       "__algorithm/for_each_n.h",
101       "__algorithm/generate.h",
102       "__algorithm/generate_n.h",
103       "__algorithm/half_positive.h",
104       "__algorithm/in_found_result.h",
105       "__algorithm/in_fun_result.h",
106       "__algorithm/in_in_out_result.h",
107       "__algorithm/in_in_result.h",
108       "__algorithm/in_out_out_result.h",
109       "__algorithm/in_out_result.h",
110       "__algorithm/includes.h",
111       "__algorithm/inplace_merge.h",
112       "__algorithm/is_heap.h",
113       "__algorithm/is_heap_until.h",
114       "__algorithm/is_partitioned.h",
115       "__algorithm/is_permutation.h",
116       "__algorithm/is_sorted.h",
117       "__algorithm/is_sorted_until.h",
118       "__algorithm/iter_swap.h",
119       "__algorithm/iterator_operations.h",
120       "__algorithm/lexicographical_compare.h",
121       "__algorithm/lexicographical_compare_three_way.h",
122       "__algorithm/lower_bound.h",
123       "__algorithm/make_heap.h",
124       "__algorithm/make_projected.h",
125       "__algorithm/max.h",
126       "__algorithm/max_element.h",
127       "__algorithm/merge.h",
128       "__algorithm/min.h",
129       "__algorithm/min_element.h",
130       "__algorithm/min_max_result.h",
131       "__algorithm/minmax.h",
132       "__algorithm/minmax_element.h",
133       "__algorithm/mismatch.h",
134       "__algorithm/move.h",
135       "__algorithm/move_backward.h",
136       "__algorithm/next_permutation.h",
137       "__algorithm/none_of.h",
138       "__algorithm/nth_element.h",
139       "__algorithm/partial_sort.h",
140       "__algorithm/partial_sort_copy.h",
141       "__algorithm/partition.h",
142       "__algorithm/partition_copy.h",
143       "__algorithm/partition_point.h",
144       "__algorithm/pop_heap.h",
145       "__algorithm/prev_permutation.h",
146       "__algorithm/pstl_any_all_none_of.h",
147       "__algorithm/pstl_backend.h",
148       "__algorithm/pstl_backends/cpu_backend.h",
149       "__algorithm/pstl_backends/cpu_backends/any_of.h",
150       "__algorithm/pstl_backends/cpu_backends/backend.h",
151       "__algorithm/pstl_backends/cpu_backends/fill.h",
152       "__algorithm/pstl_backends/cpu_backends/find_if.h",
153       "__algorithm/pstl_backends/cpu_backends/for_each.h",
154       "__algorithm/pstl_backends/cpu_backends/serial.h",
155       "__algorithm/pstl_backends/cpu_backends/transform.h",
156       "__algorithm/pstl_copy.h",
157       "__algorithm/pstl_fill.h",
158       "__algorithm/pstl_find.h",
159       "__algorithm/pstl_for_each.h",
160       "__algorithm/pstl_frontend_dispatch.h",
161       "__algorithm/pstl_transform.h",
162       "__algorithm/push_heap.h",
163       "__algorithm/ranges_adjacent_find.h",
164       "__algorithm/ranges_all_of.h",
165       "__algorithm/ranges_any_of.h",
166       "__algorithm/ranges_binary_search.h",
167       "__algorithm/ranges_clamp.h",
168       "__algorithm/ranges_copy.h",
169       "__algorithm/ranges_copy_backward.h",
170       "__algorithm/ranges_copy_if.h",
171       "__algorithm/ranges_copy_n.h",
172       "__algorithm/ranges_count.h",
173       "__algorithm/ranges_count_if.h",
174       "__algorithm/ranges_equal.h",
175       "__algorithm/ranges_equal_range.h",
176       "__algorithm/ranges_fill.h",
177       "__algorithm/ranges_fill_n.h",
178       "__algorithm/ranges_find.h",
179       "__algorithm/ranges_find_end.h",
180       "__algorithm/ranges_find_first_of.h",
181       "__algorithm/ranges_find_if.h",
182       "__algorithm/ranges_find_if_not.h",
183       "__algorithm/ranges_for_each.h",
184       "__algorithm/ranges_for_each_n.h",
185       "__algorithm/ranges_generate.h",
186       "__algorithm/ranges_generate_n.h",
187       "__algorithm/ranges_includes.h",
188       "__algorithm/ranges_inplace_merge.h",
189       "__algorithm/ranges_is_heap.h",
190       "__algorithm/ranges_is_heap_until.h",
191       "__algorithm/ranges_is_partitioned.h",
192       "__algorithm/ranges_is_permutation.h",
193       "__algorithm/ranges_is_sorted.h",
194       "__algorithm/ranges_is_sorted_until.h",
195       "__algorithm/ranges_iterator_concept.h",
196       "__algorithm/ranges_lexicographical_compare.h",
197       "__algorithm/ranges_lower_bound.h",
198       "__algorithm/ranges_make_heap.h",
199       "__algorithm/ranges_max.h",
200       "__algorithm/ranges_max_element.h",
201       "__algorithm/ranges_merge.h",
202       "__algorithm/ranges_min.h",
203       "__algorithm/ranges_min_element.h",
204       "__algorithm/ranges_minmax.h",
205       "__algorithm/ranges_minmax_element.h",
206       "__algorithm/ranges_mismatch.h",
207       "__algorithm/ranges_move.h",
208       "__algorithm/ranges_move_backward.h",
209       "__algorithm/ranges_next_permutation.h",
210       "__algorithm/ranges_none_of.h",
211       "__algorithm/ranges_nth_element.h",
212       "__algorithm/ranges_partial_sort.h",
213       "__algorithm/ranges_partial_sort_copy.h",
214       "__algorithm/ranges_partition.h",
215       "__algorithm/ranges_partition_copy.h",
216       "__algorithm/ranges_partition_point.h",
217       "__algorithm/ranges_pop_heap.h",
218       "__algorithm/ranges_prev_permutation.h",
219       "__algorithm/ranges_push_heap.h",
220       "__algorithm/ranges_remove.h",
221       "__algorithm/ranges_remove_copy.h",
222       "__algorithm/ranges_remove_copy_if.h",
223       "__algorithm/ranges_remove_if.h",
224       "__algorithm/ranges_replace.h",
225       "__algorithm/ranges_replace_copy.h",
226       "__algorithm/ranges_replace_copy_if.h",
227       "__algorithm/ranges_replace_if.h",
228       "__algorithm/ranges_reverse.h",
229       "__algorithm/ranges_reverse_copy.h",
230       "__algorithm/ranges_rotate.h",
231       "__algorithm/ranges_rotate_copy.h",
232       "__algorithm/ranges_sample.h",
233       "__algorithm/ranges_search.h",
234       "__algorithm/ranges_search_n.h",
235       "__algorithm/ranges_set_difference.h",
236       "__algorithm/ranges_set_intersection.h",
237       "__algorithm/ranges_set_symmetric_difference.h",
238       "__algorithm/ranges_set_union.h",
239       "__algorithm/ranges_shuffle.h",
240       "__algorithm/ranges_sort.h",
241       "__algorithm/ranges_sort_heap.h",
242       "__algorithm/ranges_stable_partition.h",
243       "__algorithm/ranges_stable_sort.h",
244       "__algorithm/ranges_starts_with.h",
245       "__algorithm/ranges_swap_ranges.h",
246       "__algorithm/ranges_transform.h",
247       "__algorithm/ranges_unique.h",
248       "__algorithm/ranges_unique_copy.h",
249       "__algorithm/ranges_upper_bound.h",
250       "__algorithm/remove.h",
251       "__algorithm/remove_copy.h",
252       "__algorithm/remove_copy_if.h",
253       "__algorithm/remove_if.h",
254       "__algorithm/replace.h",
255       "__algorithm/replace_copy.h",
256       "__algorithm/replace_copy_if.h",
257       "__algorithm/replace_if.h",
258       "__algorithm/reverse.h",
259       "__algorithm/reverse_copy.h",
260       "__algorithm/rotate.h",
261       "__algorithm/rotate_copy.h",
262       "__algorithm/sample.h",
263       "__algorithm/search.h",
264       "__algorithm/search_n.h",
265       "__algorithm/set_difference.h",
266       "__algorithm/set_intersection.h",
267       "__algorithm/set_symmetric_difference.h",
268       "__algorithm/set_union.h",
269       "__algorithm/shift_left.h",
270       "__algorithm/shift_right.h",
271       "__algorithm/shuffle.h",
272       "__algorithm/sift_down.h",
273       "__algorithm/sort.h",
274       "__algorithm/sort_heap.h",
275       "__algorithm/stable_partition.h",
276       "__algorithm/stable_sort.h",
277       "__algorithm/swap_ranges.h",
278       "__algorithm/three_way_comp_ref_type.h",
279       "__algorithm/transform.h",
280       "__algorithm/uniform_random_bit_generator_adaptor.h",
281       "__algorithm/unique.h",
282       "__algorithm/unique_copy.h",
283       "__algorithm/unwrap_iter.h",
284       "__algorithm/unwrap_range.h",
285       "__algorithm/upper_bound.h",
286       "__assert",
287       "__atomic/aliases.h",
288       "__atomic/atomic.h",
289       "__atomic/atomic_base.h",
290       "__atomic/atomic_flag.h",
291       "__atomic/atomic_init.h",
292       "__atomic/atomic_lock_free.h",
293       "__atomic/atomic_sync.h",
294       "__atomic/check_memory_order.h",
295       "__atomic/contention_t.h",
296       "__atomic/cxx_atomic_impl.h",
297       "__atomic/fence.h",
298       "__atomic/is_always_lock_free.h",
299       "__atomic/kill_dependency.h",
300       "__atomic/memory_order.h",
301       "__availability",
302       "__bit/bit_cast.h",
303       "__bit/bit_ceil.h",
304       "__bit/bit_floor.h",
305       "__bit/bit_log2.h",
306       "__bit/bit_width.h",
307       "__bit/blsr.h",
308       "__bit/byteswap.h",
309       "__bit/countl.h",
310       "__bit/countr.h",
311       "__bit/endian.h",
312       "__bit/has_single_bit.h",
313       "__bit/popcount.h",
314       "__bit/rotate.h",
315       "__bit_reference",
316       "__charconv/chars_format.h",
317       "__charconv/from_chars_integral.h",
318       "__charconv/from_chars_result.h",
319       "__charconv/tables.h",
320       "__charconv/to_chars.h",
321       "__charconv/to_chars_base_10.h",
322       "__charconv/to_chars_floating_point.h",
323       "__charconv/to_chars_integral.h",
324       "__charconv/to_chars_result.h",
325       "__charconv/traits.h",
326       "__chrono/calendar.h",
327       "__chrono/concepts.h",
328       "__chrono/convert_to_timespec.h",
329       "__chrono/convert_to_tm.h",
330       "__chrono/day.h",
331       "__chrono/duration.h",
332       "__chrono/file_clock.h",
333       "__chrono/formatter.h",
334       "__chrono/hh_mm_ss.h",
335       "__chrono/high_resolution_clock.h",
336       "__chrono/literals.h",
337       "__chrono/month.h",
338       "__chrono/month_weekday.h",
339       "__chrono/monthday.h",
340       "__chrono/ostream.h",
341       "__chrono/parser_std_format_spec.h",
342       "__chrono/statically_widen.h",
343       "__chrono/steady_clock.h",
344       "__chrono/system_clock.h",
345       "__chrono/time_point.h",
346       "__chrono/weekday.h",
347       "__chrono/year.h",
348       "__chrono/year_month.h",
349       "__chrono/year_month_day.h",
350       "__chrono/year_month_weekday.h",
351       "__compare/common_comparison_category.h",
352       "__compare/compare_partial_order_fallback.h",
353       "__compare/compare_strong_order_fallback.h",
354       "__compare/compare_three_way.h",
355       "__compare/compare_three_way_result.h",
356       "__compare/compare_weak_order_fallback.h",
357       "__compare/is_eq.h",
358       "__compare/ordering.h",
359       "__compare/partial_order.h",
360       "__compare/strong_order.h",
361       "__compare/synth_three_way.h",
362       "__compare/three_way_comparable.h",
363       "__compare/weak_order.h",
364       "__concepts/arithmetic.h",
365       "__concepts/assignable.h",
366       "__concepts/boolean_testable.h",
367       "__concepts/class_or_enum.h",
368       "__concepts/common_reference_with.h",
369       "__concepts/common_with.h",
370       "__concepts/constructible.h",
371       "__concepts/convertible_to.h",
372       "__concepts/copyable.h",
373       "__concepts/derived_from.h",
374       "__concepts/destructible.h",
375       "__concepts/different_from.h",
376       "__concepts/equality_comparable.h",
377       "__concepts/invocable.h",
378       "__concepts/movable.h",
379       "__concepts/predicate.h",
380       "__concepts/regular.h",
381       "__concepts/relation.h",
382       "__concepts/same_as.h",
383       "__concepts/semiregular.h",
384       "__concepts/swappable.h",
385       "__concepts/totally_ordered.h",
386       "__condition_variable/condition_variable.h",
387       "__config",
388       "__coroutine/coroutine_handle.h",
389       "__coroutine/coroutine_traits.h",
390       "__coroutine/noop_coroutine_handle.h",
391       "__coroutine/trivial_awaitables.h",
392       "__debug",
393       "__debug_utils/randomize_range.h",
394       "__exception/exception.h",
395       "__exception/exception_ptr.h",
396       "__exception/nested_exception.h",
397       "__exception/operations.h",
398       "__exception/terminate.h",
399       "__expected/bad_expected_access.h",
400       "__expected/expected.h",
401       "__expected/unexpect.h",
402       "__expected/unexpected.h",
403       "__filesystem/copy_options.h",
404       "__filesystem/directory_entry.h",
405       "__filesystem/directory_iterator.h",
406       "__filesystem/directory_options.h",
407       "__filesystem/file_status.h",
408       "__filesystem/file_time_type.h",
409       "__filesystem/file_type.h",
410       "__filesystem/filesystem_error.h",
411       "__filesystem/operations.h",
412       "__filesystem/path.h",
413       "__filesystem/path_iterator.h",
414       "__filesystem/perm_options.h",
415       "__filesystem/perms.h",
416       "__filesystem/recursive_directory_iterator.h",
417       "__filesystem/space_info.h",
418       "__filesystem/u8path.h",
419       "__format/buffer.h",
420       "__format/concepts.h",
421       "__format/container_adaptor.h",
422       "__format/enable_insertable.h",
423       "__format/escaped_output_table.h",
424       "__format/extended_grapheme_cluster_table.h",
425       "__format/format_arg.h",
426       "__format/format_arg_store.h",
427       "__format/format_args.h",
428       "__format/format_context.h",
429       "__format/format_error.h",
430       "__format/format_functions.h",
431       "__format/format_fwd.h",
432       "__format/format_parse_context.h",
433       "__format/format_string.h",
434       "__format/format_to_n_result.h",
435       "__format/formatter.h",
436       "__format/formatter_bool.h",
437       "__format/formatter_char.h",
438       "__format/formatter_floating_point.h",
439       "__format/formatter_integer.h",
440       "__format/formatter_integral.h",
441       "__format/formatter_output.h",
442       "__format/formatter_pointer.h",
443       "__format/formatter_string.h",
444       "__format/formatter_tuple.h",
445       "__format/parser_std_format_spec.h",
446       "__format/range_default_formatter.h",
447       "__format/range_formatter.h",
448       "__format/unicode.h",
449       "__format/width_estimation_table.h",
450       "__functional/binary_function.h",
451       "__functional/binary_negate.h",
452       "__functional/bind.h",
453       "__functional/bind_back.h",
454       "__functional/bind_front.h",
455       "__functional/binder1st.h",
456       "__functional/binder2nd.h",
457       "__functional/boyer_moore_searcher.h",
458       "__functional/compose.h",
459       "__functional/default_searcher.h",
460       "__functional/function.h",
461       "__functional/hash.h",
462       "__functional/identity.h",
463       "__functional/invoke.h",
464       "__functional/is_transparent.h",
465       "__functional/mem_fn.h",
466       "__functional/mem_fun_ref.h",
467       "__functional/not_fn.h",
468       "__functional/operations.h",
469       "__functional/perfect_forward.h",
470       "__functional/pointer_to_binary_function.h",
471       "__functional/pointer_to_unary_function.h",
472       "__functional/ranges_operations.h",
473       "__functional/reference_wrapper.h",
474       "__functional/unary_function.h",
475       "__functional/unary_negate.h",
476       "__functional/weak_result_type.h",
477       "__fwd/array.h",
478       "__fwd/fstream.h",
479       "__fwd/get.h",
480       "__fwd/hash.h",
481       "__fwd/ios.h",
482       "__fwd/istream.h",
483       "__fwd/memory_resource.h",
484       "__fwd/ostream.h",
485       "__fwd/pair.h",
486       "__fwd/span.h",
487       "__fwd/sstream.h",
488       "__fwd/streambuf.h",
489       "__fwd/string.h",
490       "__fwd/string_view.h",
491       "__fwd/subrange.h",
492       "__fwd/tuple.h",
493       "__hash_table",
494       "__ios/fpos.h",
495       "__iterator/access.h",
496       "__iterator/advance.h",
497       "__iterator/back_insert_iterator.h",
498       "__iterator/bounded_iter.h",
499       "__iterator/common_iterator.h",
500       "__iterator/concepts.h",
501       "__iterator/counted_iterator.h",
502       "__iterator/data.h",
503       "__iterator/default_sentinel.h",
504       "__iterator/distance.h",
505       "__iterator/empty.h",
506       "__iterator/erase_if_container.h",
507       "__iterator/front_insert_iterator.h",
508       "__iterator/incrementable_traits.h",
509       "__iterator/indirectly_comparable.h",
510       "__iterator/insert_iterator.h",
511       "__iterator/istream_iterator.h",
512       "__iterator/istreambuf_iterator.h",
513       "__iterator/iter_move.h",
514       "__iterator/iter_swap.h",
515       "__iterator/iterator.h",
516       "__iterator/iterator_traits.h",
517       "__iterator/iterator_with_data.h",
518       "__iterator/mergeable.h",
519       "__iterator/move_iterator.h",
520       "__iterator/move_sentinel.h",
521       "__iterator/next.h",
522       "__iterator/ostream_iterator.h",
523       "__iterator/ostreambuf_iterator.h",
524       "__iterator/permutable.h",
525       "__iterator/prev.h",
526       "__iterator/projected.h",
527       "__iterator/readable_traits.h",
528       "__iterator/reverse_access.h",
529       "__iterator/reverse_iterator.h",
530       "__iterator/segmented_iterator.h",
531       "__iterator/size.h",
532       "__iterator/sortable.h",
533       "__iterator/unreachable_sentinel.h",
534       "__iterator/wrap_iter.h",
535       "__locale",
536       "__locale_dir/locale_base_api/bsd_locale_defaults.h",
537       "__locale_dir/locale_base_api/bsd_locale_fallbacks.h",
538       "__locale_dir/locale_base_api/locale_guard.h",
539       "__mbstate_t.h",
540       "__mdspan/extents.h",
541       "__memory/addressof.h",
542       "__memory/align.h",
543       "__memory/aligned_alloc.h",
544       "__memory/allocate_at_least.h",
545       "__memory/allocation_guard.h",
546       "__memory/allocator.h",
547       "__memory/allocator_arg_t.h",
548       "__memory/allocator_destructor.h",
549       "__memory/allocator_traits.h",
550       "__memory/assume_aligned.h",
551       "__memory/auto_ptr.h",
552       "__memory/builtin_new_allocator.h",
553       "__memory/compressed_pair.h",
554       "__memory/concepts.h",
555       "__memory/construct_at.h",
556       "__memory/destruct_n.h",
557       "__memory/pointer_traits.h",
558       "__memory/ranges_construct_at.h",
559       "__memory/ranges_uninitialized_algorithms.h",
560       "__memory/raw_storage_iterator.h",
561       "__memory/shared_ptr.h",
562       "__memory/swap_allocator.h",
563       "__memory/temp_value.h",
564       "__memory/temporary_buffer.h",
565       "__memory/uninitialized_algorithms.h",
566       "__memory/unique_ptr.h",
567       "__memory/uses_allocator.h",
568       "__memory/uses_allocator_construction.h",
569       "__memory/voidify.h",
570       "__memory_resource/memory_resource.h",
571       "__memory_resource/monotonic_buffer_resource.h",
572       "__memory_resource/polymorphic_allocator.h",
573       "__memory_resource/pool_options.h",
574       "__memory_resource/synchronized_pool_resource.h",
575       "__memory_resource/unsynchronized_pool_resource.h",
576       "__mutex/lock_guard.h",
577       "__mutex/mutex.h",
578       "__mutex/tag_types.h",
579       "__mutex/unique_lock.h",
580       "__node_handle",
581       "__numeric/accumulate.h",
582       "__numeric/adjacent_difference.h",
583       "__numeric/exclusive_scan.h",
584       "__numeric/gcd_lcm.h",
585       "__numeric/inclusive_scan.h",
586       "__numeric/inner_product.h",
587       "__numeric/iota.h",
588       "__numeric/midpoint.h",
589       "__numeric/partial_sum.h",
590       "__numeric/reduce.h",
591       "__numeric/transform_exclusive_scan.h",
592       "__numeric/transform_inclusive_scan.h",
593       "__numeric/transform_reduce.h",
594       "__pstl/internal/algorithm_fwd.h",
595       "__pstl/internal/algorithm_impl.h",
596       "__pstl/internal/execution_defs.h",
597       "__pstl/internal/execution_impl.h",
598       "__pstl/internal/glue_algorithm_defs.h",
599       "__pstl/internal/glue_algorithm_impl.h",
600       "__pstl/internal/glue_memory_defs.h",
601       "__pstl/internal/glue_memory_impl.h",
602       "__pstl/internal/glue_numeric_defs.h",
603       "__pstl/internal/glue_numeric_impl.h",
604       "__pstl/internal/memory_impl.h",
605       "__pstl/internal/numeric_fwd.h",
606       "__pstl/internal/numeric_impl.h",
607       "__pstl/internal/omp/parallel_for.h",
608       "__pstl/internal/omp/parallel_for_each.h",
609       "__pstl/internal/omp/parallel_invoke.h",
610       "__pstl/internal/omp/parallel_merge.h",
611       "__pstl/internal/omp/parallel_scan.h",
612       "__pstl/internal/omp/parallel_stable_partial_sort.h",
613       "__pstl/internal/omp/parallel_stable_sort.h",
614       "__pstl/internal/omp/parallel_transform_reduce.h",
615       "__pstl/internal/omp/parallel_transform_scan.h",
616       "__pstl/internal/omp/util.h",
617       "__pstl/internal/parallel_backend.h",
618       "__pstl/internal/parallel_backend_omp.h",
619       "__pstl/internal/parallel_backend_serial.h",
620       "__pstl/internal/parallel_backend_tbb.h",
621       "__pstl/internal/parallel_backend_utils.h",
622       "__pstl/internal/unseq_backend_simd.h",
623       "__pstl/internal/utils.h",
624       "__random/bernoulli_distribution.h",
625       "__random/binomial_distribution.h",
626       "__random/cauchy_distribution.h",
627       "__random/chi_squared_distribution.h",
628       "__random/clamp_to_integral.h",
629       "__random/default_random_engine.h",
630       "__random/discard_block_engine.h",
631       "__random/discrete_distribution.h",
632       "__random/exponential_distribution.h",
633       "__random/extreme_value_distribution.h",
634       "__random/fisher_f_distribution.h",
635       "__random/gamma_distribution.h",
636       "__random/generate_canonical.h",
637       "__random/geometric_distribution.h",
638       "__random/independent_bits_engine.h",
639       "__random/is_seed_sequence.h",
640       "__random/is_valid.h",
641       "__random/knuth_b.h",
642       "__random/linear_congruential_engine.h",
643       "__random/log2.h",
644       "__random/lognormal_distribution.h",
645       "__random/mersenne_twister_engine.h",
646       "__random/negative_binomial_distribution.h",
647       "__random/normal_distribution.h",
648       "__random/piecewise_constant_distribution.h",
649       "__random/piecewise_linear_distribution.h",
650       "__random/poisson_distribution.h",
651       "__random/random_device.h",
652       "__random/ranlux.h",
653       "__random/seed_seq.h",
654       "__random/shuffle_order_engine.h",
655       "__random/student_t_distribution.h",
656       "__random/subtract_with_carry_engine.h",
657       "__random/uniform_int_distribution.h",
658       "__random/uniform_random_bit_generator.h",
659       "__random/uniform_real_distribution.h",
660       "__random/weibull_distribution.h",
661       "__ranges/access.h",
662       "__ranges/all.h",
663       "__ranges/as_rvalue_view.h",
664       "__ranges/common_view.h",
665       "__ranges/concepts.h",
666       "__ranges/container_compatible_range.h",
667       "__ranges/copyable_box.h",
668       "__ranges/counted.h",
669       "__ranges/dangling.h",
670       "__ranges/data.h",
671       "__ranges/drop_view.h",
672       "__ranges/drop_while_view.h",
673       "__ranges/elements_view.h",
674       "__ranges/empty.h",
675       "__ranges/empty_view.h",
676       "__ranges/enable_borrowed_range.h",
677       "__ranges/enable_view.h",
678       "__ranges/filter_view.h",
679       "__ranges/from_range.h",
680       "__ranges/iota_view.h",
681       "__ranges/istream_view.h",
682       "__ranges/join_view.h",
683       "__ranges/lazy_split_view.h",
684       "__ranges/non_propagating_cache.h",
685       "__ranges/owning_view.h",
686       "__ranges/range_adaptor.h",
687       "__ranges/rbegin.h",
688       "__ranges/ref_view.h",
689       "__ranges/rend.h",
690       "__ranges/reverse_view.h",
691       "__ranges/single_view.h",
692       "__ranges/size.h",
693       "__ranges/split_view.h",
694       "__ranges/subrange.h",
695       "__ranges/take_view.h",
696       "__ranges/take_while_view.h",
697       "__ranges/transform_view.h",
698       "__ranges/view_interface.h",
699       "__ranges/views.h",
700       "__ranges/zip_view.h",
701       "__split_buffer",
702       "__std_mbstate_t.h",
703       "__stop_token/atomic_unique_lock.h",
704       "__stop_token/intrusive_list_view.h",
705       "__stop_token/intrusive_shared_ptr.h",
706       "__string/char_traits.h",
707       "__string/constexpr_c_functions.h",
708       "__string/extern_template_lists.h",
709       "__support/android/locale_bionic.h",
710       "__support/fuchsia/xlocale.h",
711       "__support/ibm/gettod_zos.h",
712       "__support/ibm/locale_mgmt_zos.h",
713       "__support/ibm/nanosleep.h",
714       "__support/ibm/xlocale.h",
715       "__support/musl/xlocale.h",
716       "__support/newlib/xlocale.h",
717       "__support/openbsd/xlocale.h",
718       "__support/win32/locale_win32.h",
719       "__support/xlocale/__nop_locale_mgmt.h",
720       "__support/xlocale/__posix_l_fallback.h",
721       "__support/xlocale/__strtonum_fallback.h",
722       "__system_error/errc.h",
723       "__system_error/error_category.h",
724       "__system_error/error_code.h",
725       "__system_error/error_condition.h",
726       "__system_error/system_error.h",
727       "__thread/poll_with_backoff.h",
728       "__thread/timed_backoff_policy.h",
729       "__threading_support",
730       "__tree",
731       "__tuple/make_tuple_types.h",
732       "__tuple/pair_like.h",
733       "__tuple/sfinae_helpers.h",
734       "__tuple/tuple_element.h",
735       "__tuple/tuple_indices.h",
736       "__tuple/tuple_like.h",
737       "__tuple/tuple_like_ext.h",
738       "__tuple/tuple_size.h",
739       "__tuple/tuple_types.h",
740       "__type_traits/add_const.h",
741       "__type_traits/add_cv.h",
742       "__type_traits/add_lvalue_reference.h",
743       "__type_traits/add_pointer.h",
744       "__type_traits/add_rvalue_reference.h",
745       "__type_traits/add_volatile.h",
746       "__type_traits/aligned_storage.h",
747       "__type_traits/aligned_union.h",
748       "__type_traits/alignment_of.h",
749       "__type_traits/apply_cv.h",
750       "__type_traits/can_extract_key.h",
751       "__type_traits/common_reference.h",
752       "__type_traits/common_type.h",
753       "__type_traits/conditional.h",
754       "__type_traits/conjunction.h",
755       "__type_traits/copy_cv.h",
756       "__type_traits/copy_cvref.h",
757       "__type_traits/decay.h",
758       "__type_traits/dependent_type.h",
759       "__type_traits/disjunction.h",
760       "__type_traits/enable_if.h",
761       "__type_traits/extent.h",
762       "__type_traits/has_unique_object_representation.h",
763       "__type_traits/has_virtual_destructor.h",
764       "__type_traits/integral_constant.h",
765       "__type_traits/is_abstract.h",
766       "__type_traits/is_aggregate.h",
767       "__type_traits/is_allocator.h",
768       "__type_traits/is_always_bitcastable.h",
769       "__type_traits/is_arithmetic.h",
770       "__type_traits/is_array.h",
771       "__type_traits/is_assignable.h",
772       "__type_traits/is_base_of.h",
773       "__type_traits/is_bounded_array.h",
774       "__type_traits/is_callable.h",
775       "__type_traits/is_char_like_type.h",
776       "__type_traits/is_class.h",
777       "__type_traits/is_compound.h",
778       "__type_traits/is_const.h",
779       "__type_traits/is_constant_evaluated.h",
780       "__type_traits/is_constructible.h",
781       "__type_traits/is_convertible.h",
782       "__type_traits/is_copy_assignable.h",
783       "__type_traits/is_copy_constructible.h",
784       "__type_traits/is_core_convertible.h",
785       "__type_traits/is_default_constructible.h",
786       "__type_traits/is_destructible.h",
787       "__type_traits/is_empty.h",
788       "__type_traits/is_enum.h",
789       "__type_traits/is_equality_comparable.h",
790       "__type_traits/is_execution_policy.h",
791       "__type_traits/is_final.h",
792       "__type_traits/is_floating_point.h",
793       "__type_traits/is_function.h",
794       "__type_traits/is_fundamental.h",
795       "__type_traits/is_implicitly_default_constructible.h",
796       "__type_traits/is_integral.h",
797       "__type_traits/is_literal_type.h",
798       "__type_traits/is_member_function_pointer.h",
799       "__type_traits/is_member_object_pointer.h",
800       "__type_traits/is_member_pointer.h",
801       "__type_traits/is_move_assignable.h",
802       "__type_traits/is_move_constructible.h",
803       "__type_traits/is_nothrow_assignable.h",
804       "__type_traits/is_nothrow_constructible.h",
805       "__type_traits/is_nothrow_convertible.h",
806       "__type_traits/is_nothrow_copy_assignable.h",
807       "__type_traits/is_nothrow_copy_constructible.h",
808       "__type_traits/is_nothrow_default_constructible.h",
809       "__type_traits/is_nothrow_destructible.h",
810       "__type_traits/is_nothrow_move_assignable.h",
811       "__type_traits/is_nothrow_move_constructible.h",
812       "__type_traits/is_null_pointer.h",
813       "__type_traits/is_object.h",
814       "__type_traits/is_pod.h",
815       "__type_traits/is_pointer.h",
816       "__type_traits/is_polymorphic.h",
817       "__type_traits/is_primary_template.h",
818       "__type_traits/is_reference.h",
819       "__type_traits/is_reference_wrapper.h",
820       "__type_traits/is_referenceable.h",
821       "__type_traits/is_same.h",
822       "__type_traits/is_scalar.h",
823       "__type_traits/is_scoped_enum.h",
824       "__type_traits/is_signed.h",
825       "__type_traits/is_signed_integer.h",
826       "__type_traits/is_specialization.h",
827       "__type_traits/is_standard_layout.h",
828       "__type_traits/is_swappable.h",
829       "__type_traits/is_trivial.h",
830       "__type_traits/is_trivially_assignable.h",
831       "__type_traits/is_trivially_constructible.h",
832       "__type_traits/is_trivially_copy_assignable.h",
833       "__type_traits/is_trivially_copy_constructible.h",
834       "__type_traits/is_trivially_copyable.h",
835       "__type_traits/is_trivially_default_constructible.h",
836       "__type_traits/is_trivially_destructible.h",
837       "__type_traits/is_trivially_lexicographically_comparable.h",
838       "__type_traits/is_trivially_move_assignable.h",
839       "__type_traits/is_trivially_move_constructible.h",
840       "__type_traits/is_unbounded_array.h",
841       "__type_traits/is_union.h",
842       "__type_traits/is_unsigned.h",
843       "__type_traits/is_unsigned_integer.h",
844       "__type_traits/is_valid_expansion.h",
845       "__type_traits/is_void.h",
846       "__type_traits/is_volatile.h",
847       "__type_traits/lazy.h",
848       "__type_traits/make_32_64_or_128_bit.h",
849       "__type_traits/make_const_lvalue_ref.h",
850       "__type_traits/make_signed.h",
851       "__type_traits/make_unsigned.h",
852       "__type_traits/maybe_const.h",
853       "__type_traits/nat.h",
854       "__type_traits/negation.h",
855       "__type_traits/noexcept_move_assign_container.h",
856       "__type_traits/predicate_traits.h",
857       "__type_traits/promote.h",
858       "__type_traits/rank.h",
859       "__type_traits/remove_all_extents.h",
860       "__type_traits/remove_const.h",
861       "__type_traits/remove_const_ref.h",
862       "__type_traits/remove_cv.h",
863       "__type_traits/remove_cvref.h",
864       "__type_traits/remove_extent.h",
865       "__type_traits/remove_pointer.h",
866       "__type_traits/remove_reference.h",
867       "__type_traits/remove_volatile.h",
868       "__type_traits/result_of.h",
869       "__type_traits/strip_signature.h",
870       "__type_traits/type_identity.h",
871       "__type_traits/type_list.h",
872       "__type_traits/underlying_type.h",
873       "__type_traits/unwrap_ref.h",
874       "__type_traits/void_t.h",
875       "__undef_macros",
876       "__utility/as_const.h",
877       "__utility/auto_cast.h",
878       "__utility/cmp.h",
879       "__utility/convert_to_integral.h",
880       "__utility/declval.h",
881       "__utility/exception_guard.h",
882       "__utility/exchange.h",
883       "__utility/forward.h",
884       "__utility/forward_like.h",
885       "__utility/in_place.h",
886       "__utility/integer_sequence.h",
887       "__utility/move.h",
888       "__utility/pair.h",
889       "__utility/piecewise_construct.h",
890       "__utility/priority_tag.h",
891       "__utility/rel_ops.h",
892       "__utility/swap.h",
893       "__utility/terminate_on_exception.h",
894       "__utility/to_underlying.h",
895       "__utility/unreachable.h",
896       "__variant/monostate.h",
897       "__verbose_abort",
898       "algorithm",
899       "any",
900       "array",
901       "atomic",
902       "barrier",
903       "bit",
904       "bitset",
905       "cassert",
906       "ccomplex",
907       "cctype",
908       "cerrno",
909       "cfenv",
910       "cfloat",
911       "charconv",
912       "chrono",
913       "cinttypes",
914       "ciso646",
915       "climits",
916       "clocale",
917       "cmath",
918       "codecvt",
919       "compare",
920       "complex",
921       "complex.h",
922       "concepts",
923       "condition_variable",
924       "coroutine",
925       "csetjmp",
926       "csignal",
927       "cstdarg",
928       "cstdbool",
929       "cstddef",
930       "cstdint",
931       "cstdio",
932       "cstdlib",
933       "cstring",
934       "ctgmath",
935       "ctime",
936       "ctype.h",
937       "cwchar",
938       "cwctype",
939       "deque",
940       "errno.h",
941       "exception",
942       "execution",
943       "experimental/__config",
944       "experimental/__memory",
945       "experimental/deque",
946       "experimental/forward_list",
947       "experimental/iterator",
948       "experimental/list",
949       "experimental/map",
950       "experimental/memory_resource",
951       "experimental/propagate_const",
952       "experimental/regex",
953       "experimental/set",
954       "experimental/simd",
955       "experimental/string",
956       "experimental/type_traits",
957       "experimental/unordered_map",
958       "experimental/unordered_set",
959       "experimental/utility",
960       "experimental/vector",
961       "ext/__hash",
962       "ext/hash_map",
963       "ext/hash_set",
964       "fenv.h",
965       "filesystem",
966       "float.h",
967       "format",
968       "forward_list",
969       "fstream",
970       "functional",
971       "future",
972       "initializer_list",
973       "inttypes.h",
974       "iomanip",
975       "ios",
976       "iosfwd",
977       "iostream",
978       "istream",
979       "iterator",
980       "latch",
981       "limits",
982       "limits.h",
983       "list",
984       "locale",
985       "locale.h",
986       "map",
987       "math.h",
988       "memory",
989       "memory_resource",
990       "mutex",
991       "new",
992       "numbers",
993       "numeric",
994       "optional",
995       "ostream",
996       "queue",
997       "random",
998       "ranges",
999       "ratio",
1000       "regex",
1001       "scoped_allocator",
1002       "semaphore",
1003       "set",
1004       "setjmp.h",
1005       "shared_mutex",
1006       "span",
1007       "sstream",
1008       "stack",
1009       "stdatomic.h",
1010       "stdbool.h",
1011       "stddef.h",
1012       "stdexcept",
1013       "stdint.h",
1014       "stdio.h",
1015       "stdlib.h",
1016       "streambuf",
1017       "string",
1018       "string.h",
1019       "string_view",
1020       "strstream",
1021       "system_error",
1022       "tgmath.h",
1023       "thread",
1024       "tuple",
1025       "type_traits",
1026       "typeindex",
1027       "typeinfo",
1028       "uchar.h",
1029       "unordered_map",
1030       "unordered_set",
1031       "utility",
1032       "valarray",
1033       "variant",
1034       "vector",
1035       "version",
1036       "wchar.h",
1037       "wctype.h",
1038     ]
1039     deps = [
1040       ":write_config_site",
1041       ":write_modulemap",
1042     ]
1043     if (target_os != "mac" && target_os != "win") {
1044       # libcxx/cmake/Modules/HandleLibCXXABI.cmake sets
1045       # LIBCXX_CXX_ABI_HEADER_TARGET if the libcxx abi library either of
1046       # "libstdc++", "libsupc++", "libcxxabi", "libcxxrt", but not if it's "none",
1047       # "default", or "vcruntime". So on Windows, these don't get copied due to
1048       # LIBCXX_CXX_ABI_HEADER_TARGET not being set.
1049       # On macOS, libcxx/CMakeLists.txt sets LIBCXX_CXX_ABI_SYSTEM to 1, which
1050       # causes an empty header list to be passed to setup_abi_lib, so these
1051       # don't get copied on macOS due to that.
1052       deps += [ "//libcxxabi/include" ]
1053     }
1054     outputs = [ "$root_build_dir/include/c++/v1/{{source_target_relative}}" ]
1055   }
1058 config("include_config") {
1059   include_dirs = [ libcxx_generated_include_dir ]
1062 group("include") {
1063   deps = [ ":copy_headers($default_toolchain)" ]
1064   public_configs = [ ":include_config" ]