import("//libcxx/config.gni") import("//llvm/utils/gn/build/write_cmake_config.gni") libcxx_generated_include_dir = "$root_build_dir/include/c++/v1" # This is a bit weird. For now, we assume that __config_site is identical # in all toolchains, and only copy it (and all other libcxx headers) # to 'include' in the root build dir, so that it's the same for all toolchains. # Maybe we want to make this per-toolchain eventually (and then use root_out_dir # in libcxx_generated_include_dir) -- e.g. for cross-builds that for example # use for-linux-configured libc++ for the host build but for-windows-configured # libc++ for the target build. if (current_toolchain == default_toolchain) { write_cmake_config("write_config_site") { input = "__config_site.in" output = "$libcxx_generated_include_dir/__config_site" values = [ "_LIBCPP_ABI_FORCE_ITANIUM=", "_LIBCPP_ABI_FORCE_MICROSOFT=", "_LIBCPP_EXTRA_SITE_DEFINES=", "_LIBCPP_HAS_NO_FILESYSTEM=", "_LIBCPP_HAS_NO_THREADS=", "_LIBCPP_HAS_NO_MONOTONIC_CLOCK=", "_LIBCPP_HAS_MUSL_LIBC=", "_LIBCPP_HAS_THREAD_API_PTHREAD=", "_LIBCPP_HAS_THREAD_API_EXTERNAL=", "_LIBCPP_HAS_THREAD_API_WIN32=", "_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS=", "_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS=1", "_LIBCPP_NO_VCRUNTIME=", "_LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION=", "_LIBCPP_HAS_NO_RANDOM_DEVICE=", "_LIBCPP_HAS_NO_LOCALIZATION=", "_LIBCPP_HAS_NO_WIDE_CHARACTERS=", "_LIBCPP_HAS_NO_STD_MODULES=", "_LIBCPP_INSTRUMENTED_WITH_ASAN=", "_LIBCPP_ABI_DEFINES=", "_LIBCPP_HARDENING_MODE_DEFAULT=_LIBCPP_HARDENING_MODE_NONE", "_LIBCPP_PSTL_CPU_BACKEND_LIBDISPATCH=", "_LIBCPP_PSTL_CPU_BACKEND_SERIAL=1", "_LIBCPP_PSTL_CPU_BACKEND_THREAD=", ] if (libcxx_abi_version != 1) { values += [ "_LIBCPP_ABI_VERSION=$libcxx_abi_version" ] } else { values += [ "_LIBCPP_ABI_VERSION=" ] } if (libcxx_abi_namespace != "") { values += [ "_LIBCPP_ABI_NAMESPACE=$libcxx_abi_namespace" ] } else { values += [ "_LIBCPP_ABI_NAMESPACE=__" + libcxx_abi_version ] } if (!libcxx_enable_time_zone_database) { values += [ "_LIBCPP_HAS_NO_TIME_ZONE_DATABASE=1" ] } else { values += [ "_LIBCPP_HAS_NO_TIME_ZONE_DATABASE=" ] } } write_cmake_config("write_modulemap") { input = "module.modulemap.in" output = "$libcxx_generated_include_dir/module.modulemap" #no = "requires LIBCXX_CONFIGURED_WITHOUT_SUPPORT_FOR_THIS_HEADER" values = [] } copy("write_assertion_handler") { sources = [ "//libcxx/vendor/llvm/default_assertion_handler.in" ] outputs = [ "$libcxx_generated_include_dir/__assertion_handler" ] } copy("copy_headers") { sources = [ "__algorithm/adjacent_find.h", "__algorithm/all_of.h", "__algorithm/any_of.h", "__algorithm/binary_search.h", "__algorithm/clamp.h", "__algorithm/comp.h", "__algorithm/comp_ref_type.h", "__algorithm/copy.h", "__algorithm/copy_backward.h", "__algorithm/copy_if.h", "__algorithm/copy_move_common.h", "__algorithm/copy_n.h", "__algorithm/count.h", "__algorithm/count_if.h", "__algorithm/equal.h", "__algorithm/equal_range.h", "__algorithm/fill.h", "__algorithm/fill_n.h", "__algorithm/find.h", "__algorithm/find_end.h", "__algorithm/find_first_of.h", "__algorithm/find_if.h", "__algorithm/find_if_not.h", "__algorithm/find_segment_if.h", "__algorithm/fold.h", "__algorithm/for_each.h", "__algorithm/for_each_n.h", "__algorithm/for_each_segment.h", "__algorithm/generate.h", "__algorithm/generate_n.h", "__algorithm/half_positive.h", "__algorithm/in_found_result.h", "__algorithm/in_fun_result.h", "__algorithm/in_in_out_result.h", "__algorithm/in_in_result.h", "__algorithm/in_out_out_result.h", "__algorithm/in_out_result.h", "__algorithm/includes.h", "__algorithm/inplace_merge.h", "__algorithm/is_heap.h", "__algorithm/is_heap_until.h", "__algorithm/is_partitioned.h", "__algorithm/is_permutation.h", "__algorithm/is_sorted.h", "__algorithm/is_sorted_until.h", "__algorithm/iter_swap.h", "__algorithm/iterator_operations.h", "__algorithm/lexicographical_compare.h", "__algorithm/lexicographical_compare_three_way.h", "__algorithm/lower_bound.h", "__algorithm/make_heap.h", "__algorithm/make_projected.h", "__algorithm/max.h", "__algorithm/max_element.h", "__algorithm/merge.h", "__algorithm/min.h", "__algorithm/min_element.h", "__algorithm/min_max_result.h", "__algorithm/minmax.h", "__algorithm/minmax_element.h", "__algorithm/mismatch.h", "__algorithm/move.h", "__algorithm/move_backward.h", "__algorithm/next_permutation.h", "__algorithm/none_of.h", "__algorithm/nth_element.h", "__algorithm/partial_sort.h", "__algorithm/partial_sort_copy.h", "__algorithm/partition.h", "__algorithm/partition_copy.h", "__algorithm/partition_point.h", "__algorithm/pop_heap.h", "__algorithm/prev_permutation.h", "__algorithm/pstl_any_all_none_of.h", "__algorithm/pstl_backend.h", "__algorithm/pstl_backends/cpu_backend.h", "__algorithm/pstl_backends/cpu_backends/any_of.h", "__algorithm/pstl_backends/cpu_backends/backend.h", "__algorithm/pstl_backends/cpu_backends/fill.h", "__algorithm/pstl_backends/cpu_backends/find_if.h", "__algorithm/pstl_backends/cpu_backends/for_each.h", "__algorithm/pstl_backends/cpu_backends/libdispatch.h", "__algorithm/pstl_backends/cpu_backends/merge.h", "__algorithm/pstl_backends/cpu_backends/serial.h", "__algorithm/pstl_backends/cpu_backends/stable_sort.h", "__algorithm/pstl_backends/cpu_backends/thread.h", "__algorithm/pstl_backends/cpu_backends/transform.h", "__algorithm/pstl_backends/cpu_backends/transform_reduce.h", "__algorithm/pstl_copy.h", "__algorithm/pstl_count.h", "__algorithm/pstl_equal.h", "__algorithm/pstl_fill.h", "__algorithm/pstl_find.h", "__algorithm/pstl_for_each.h", "__algorithm/pstl_frontend_dispatch.h", "__algorithm/pstl_generate.h", "__algorithm/pstl_is_partitioned.h", "__algorithm/pstl_merge.h", "__algorithm/pstl_move.h", "__algorithm/pstl_replace.h", "__algorithm/pstl_rotate_copy.h", "__algorithm/pstl_sort.h", "__algorithm/pstl_stable_sort.h", "__algorithm/pstl_transform.h", "__algorithm/push_heap.h", "__algorithm/ranges_adjacent_find.h", "__algorithm/ranges_all_of.h", "__algorithm/ranges_any_of.h", "__algorithm/ranges_binary_search.h", "__algorithm/ranges_clamp.h", "__algorithm/ranges_contains.h", "__algorithm/ranges_copy.h", "__algorithm/ranges_copy_backward.h", "__algorithm/ranges_copy_if.h", "__algorithm/ranges_copy_n.h", "__algorithm/ranges_count.h", "__algorithm/ranges_count_if.h", "__algorithm/ranges_ends_with.h", "__algorithm/ranges_equal.h", "__algorithm/ranges_equal_range.h", "__algorithm/ranges_fill.h", "__algorithm/ranges_fill_n.h", "__algorithm/ranges_find.h", "__algorithm/ranges_find_end.h", "__algorithm/ranges_find_first_of.h", "__algorithm/ranges_find_if.h", "__algorithm/ranges_find_if_not.h", "__algorithm/ranges_for_each.h", "__algorithm/ranges_for_each_n.h", "__algorithm/ranges_generate.h", "__algorithm/ranges_generate_n.h", "__algorithm/ranges_includes.h", "__algorithm/ranges_inplace_merge.h", "__algorithm/ranges_is_heap.h", "__algorithm/ranges_is_heap_until.h", "__algorithm/ranges_is_partitioned.h", "__algorithm/ranges_is_permutation.h", "__algorithm/ranges_is_sorted.h", "__algorithm/ranges_is_sorted_until.h", "__algorithm/ranges_iterator_concept.h", "__algorithm/ranges_lexicographical_compare.h", "__algorithm/ranges_lower_bound.h", "__algorithm/ranges_make_heap.h", "__algorithm/ranges_max.h", "__algorithm/ranges_max_element.h", "__algorithm/ranges_merge.h", "__algorithm/ranges_min.h", "__algorithm/ranges_min_element.h", "__algorithm/ranges_minmax.h", "__algorithm/ranges_minmax_element.h", "__algorithm/ranges_mismatch.h", "__algorithm/ranges_move.h", "__algorithm/ranges_move_backward.h", "__algorithm/ranges_next_permutation.h", "__algorithm/ranges_none_of.h", "__algorithm/ranges_nth_element.h", "__algorithm/ranges_partial_sort.h", "__algorithm/ranges_partial_sort_copy.h", "__algorithm/ranges_partition.h", "__algorithm/ranges_partition_copy.h", "__algorithm/ranges_partition_point.h", "__algorithm/ranges_pop_heap.h", "__algorithm/ranges_prev_permutation.h", "__algorithm/ranges_push_heap.h", "__algorithm/ranges_remove.h", "__algorithm/ranges_remove_copy.h", "__algorithm/ranges_remove_copy_if.h", "__algorithm/ranges_remove_if.h", "__algorithm/ranges_replace.h", "__algorithm/ranges_replace_copy.h", "__algorithm/ranges_replace_copy_if.h", "__algorithm/ranges_replace_if.h", "__algorithm/ranges_reverse.h", "__algorithm/ranges_reverse_copy.h", "__algorithm/ranges_rotate.h", "__algorithm/ranges_rotate_copy.h", "__algorithm/ranges_sample.h", "__algorithm/ranges_search.h", "__algorithm/ranges_search_n.h", "__algorithm/ranges_set_difference.h", "__algorithm/ranges_set_intersection.h", "__algorithm/ranges_set_symmetric_difference.h", "__algorithm/ranges_set_union.h", "__algorithm/ranges_shuffle.h", "__algorithm/ranges_sort.h", "__algorithm/ranges_sort_heap.h", "__algorithm/ranges_stable_partition.h", "__algorithm/ranges_stable_sort.h", "__algorithm/ranges_starts_with.h", "__algorithm/ranges_swap_ranges.h", "__algorithm/ranges_transform.h", "__algorithm/ranges_unique.h", "__algorithm/ranges_unique_copy.h", "__algorithm/ranges_upper_bound.h", "__algorithm/remove.h", "__algorithm/remove_copy.h", "__algorithm/remove_copy_if.h", "__algorithm/remove_if.h", "__algorithm/replace.h", "__algorithm/replace_copy.h", "__algorithm/replace_copy_if.h", "__algorithm/replace_if.h", "__algorithm/reverse.h", "__algorithm/reverse_copy.h", "__algorithm/rotate.h", "__algorithm/rotate_copy.h", "__algorithm/sample.h", "__algorithm/search.h", "__algorithm/search_n.h", "__algorithm/set_difference.h", "__algorithm/set_intersection.h", "__algorithm/set_symmetric_difference.h", "__algorithm/set_union.h", "__algorithm/shift_left.h", "__algorithm/shift_right.h", "__algorithm/shuffle.h", "__algorithm/sift_down.h", "__algorithm/sort.h", "__algorithm/sort_heap.h", "__algorithm/stable_partition.h", "__algorithm/stable_sort.h", "__algorithm/swap_ranges.h", "__algorithm/three_way_comp_ref_type.h", "__algorithm/transform.h", "__algorithm/uniform_random_bit_generator_adaptor.h", "__algorithm/unique.h", "__algorithm/unique_copy.h", "__algorithm/unwrap_iter.h", "__algorithm/unwrap_range.h", "__algorithm/upper_bound.h", "__assert", "__atomic/aliases.h", "__atomic/atomic.h", "__atomic/atomic_base.h", "__atomic/atomic_flag.h", "__atomic/atomic_init.h", "__atomic/atomic_lock_free.h", "__atomic/atomic_sync.h", "__atomic/check_memory_order.h", "__atomic/contention_t.h", "__atomic/cxx_atomic_impl.h", "__atomic/fence.h", "__atomic/is_always_lock_free.h", "__atomic/kill_dependency.h", "__atomic/memory_order.h", "__availability", "__bit/bit_cast.h", "__bit/bit_ceil.h", "__bit/bit_floor.h", "__bit/bit_log2.h", "__bit/bit_width.h", "__bit/blsr.h", "__bit/byteswap.h", "__bit/countl.h", "__bit/countr.h", "__bit/endian.h", "__bit/has_single_bit.h", "__bit/invert_if.h", "__bit/popcount.h", "__bit/rotate.h", "__bit_reference", "__charconv/chars_format.h", "__charconv/from_chars_integral.h", "__charconv/from_chars_result.h", "__charconv/tables.h", "__charconv/to_chars.h", "__charconv/to_chars_base_10.h", "__charconv/to_chars_floating_point.h", "__charconv/to_chars_integral.h", "__charconv/to_chars_result.h", "__charconv/traits.h", "__chrono/calendar.h", "__chrono/concepts.h", "__chrono/convert_to_timespec.h", "__chrono/convert_to_tm.h", "__chrono/day.h", "__chrono/duration.h", "__chrono/file_clock.h", "__chrono/formatter.h", "__chrono/hh_mm_ss.h", "__chrono/high_resolution_clock.h", "__chrono/literals.h", "__chrono/month.h", "__chrono/month_weekday.h", "__chrono/monthday.h", "__chrono/ostream.h", "__chrono/parser_std_format_spec.h", "__chrono/statically_widen.h", "__chrono/steady_clock.h", "__chrono/system_clock.h", "__chrono/time_point.h", "__chrono/tzdb.h", "__chrono/tzdb_list.h", "__chrono/weekday.h", "__chrono/year.h", "__chrono/year_month.h", "__chrono/year_month_day.h", "__chrono/year_month_weekday.h", "__compare/common_comparison_category.h", "__compare/compare_partial_order_fallback.h", "__compare/compare_strong_order_fallback.h", "__compare/compare_three_way.h", "__compare/compare_three_way_result.h", "__compare/compare_weak_order_fallback.h", "__compare/is_eq.h", "__compare/ordering.h", "__compare/partial_order.h", "__compare/strong_order.h", "__compare/synth_three_way.h", "__compare/three_way_comparable.h", "__compare/weak_order.h", "__concepts/arithmetic.h", "__concepts/assignable.h", "__concepts/boolean_testable.h", "__concepts/class_or_enum.h", "__concepts/common_reference_with.h", "__concepts/common_with.h", "__concepts/constructible.h", "__concepts/convertible_to.h", "__concepts/copyable.h", "__concepts/derived_from.h", "__concepts/destructible.h", "__concepts/different_from.h", "__concepts/equality_comparable.h", "__concepts/invocable.h", "__concepts/movable.h", "__concepts/predicate.h", "__concepts/regular.h", "__concepts/relation.h", "__concepts/same_as.h", "__concepts/semiregular.h", "__concepts/swappable.h", "__concepts/totally_ordered.h", "__condition_variable/condition_variable.h", "__config", "__coroutine/coroutine_handle.h", "__coroutine/coroutine_traits.h", "__coroutine/noop_coroutine_handle.h", "__coroutine/trivial_awaitables.h", "__debug_utils/randomize_range.h", "__debug_utils/strict_weak_ordering_check.h", "__exception/exception.h", "__exception/exception_ptr.h", "__exception/nested_exception.h", "__exception/operations.h", "__exception/terminate.h", "__expected/bad_expected_access.h", "__expected/expected.h", "__expected/unexpect.h", "__expected/unexpected.h", "__filesystem/copy_options.h", "__filesystem/directory_entry.h", "__filesystem/directory_iterator.h", "__filesystem/directory_options.h", "__filesystem/file_status.h", "__filesystem/file_time_type.h", "__filesystem/file_type.h", "__filesystem/filesystem_error.h", "__filesystem/operations.h", "__filesystem/path.h", "__filesystem/path_iterator.h", "__filesystem/perm_options.h", "__filesystem/perms.h", "__filesystem/recursive_directory_iterator.h", "__filesystem/space_info.h", "__filesystem/u8path.h", "__format/buffer.h", "__format/concepts.h", "__format/container_adaptor.h", "__format/enable_insertable.h", "__format/escaped_output_table.h", "__format/extended_grapheme_cluster_table.h", "__format/format_arg.h", "__format/format_arg_store.h", "__format/format_args.h", "__format/format_context.h", "__format/format_error.h", "__format/format_functions.h", "__format/format_fwd.h", "__format/format_parse_context.h", "__format/format_string.h", "__format/format_to_n_result.h", "__format/formatter.h", "__format/formatter_bool.h", "__format/formatter_char.h", "__format/formatter_floating_point.h", "__format/formatter_integer.h", "__format/formatter_integral.h", "__format/formatter_output.h", "__format/formatter_pointer.h", "__format/formatter_string.h", "__format/formatter_tuple.h", "__format/parser_std_format_spec.h", "__format/range_default_formatter.h", "__format/range_formatter.h", "__format/unicode.h", "__format/width_estimation_table.h", "__format/write_escaped.h", "__functional/binary_function.h", "__functional/binary_negate.h", "__functional/bind.h", "__functional/bind_back.h", "__functional/bind_front.h", "__functional/binder1st.h", "__functional/binder2nd.h", "__functional/boyer_moore_searcher.h", "__functional/compose.h", "__functional/default_searcher.h", "__functional/function.h", "__functional/hash.h", "__functional/identity.h", "__functional/invoke.h", "__functional/is_transparent.h", "__functional/mem_fn.h", "__functional/mem_fun_ref.h", "__functional/not_fn.h", "__functional/operations.h", "__functional/perfect_forward.h", "__functional/pointer_to_binary_function.h", "__functional/pointer_to_unary_function.h", "__functional/ranges_operations.h", "__functional/reference_wrapper.h", "__functional/unary_function.h", "__functional/unary_negate.h", "__functional/weak_result_type.h", "__fwd/array.h", "__fwd/bit_reference.h", "__fwd/fstream.h", "__fwd/get.h", "__fwd/hash.h", "__fwd/ios.h", "__fwd/istream.h", "__fwd/mdspan.h", "__fwd/memory_resource.h", "__fwd/ostream.h", "__fwd/pair.h", "__fwd/span.h", "__fwd/sstream.h", "__fwd/streambuf.h", "__fwd/string.h", "__fwd/string_view.h", "__fwd/subrange.h", "__fwd/tuple.h", "__hash_table", "__ios/fpos.h", "__iterator/access.h", "__iterator/advance.h", "__iterator/back_insert_iterator.h", "__iterator/bounded_iter.h", "__iterator/common_iterator.h", "__iterator/concepts.h", "__iterator/counted_iterator.h", "__iterator/cpp17_iterator_concepts.h", "__iterator/data.h", "__iterator/default_sentinel.h", "__iterator/distance.h", "__iterator/empty.h", "__iterator/erase_if_container.h", "__iterator/front_insert_iterator.h", "__iterator/incrementable_traits.h", "__iterator/indirectly_comparable.h", "__iterator/insert_iterator.h", "__iterator/istream_iterator.h", "__iterator/istreambuf_iterator.h", "__iterator/iter_move.h", "__iterator/iter_swap.h", "__iterator/iterator.h", "__iterator/iterator_traits.h", "__iterator/iterator_with_data.h", "__iterator/mergeable.h", "__iterator/move_iterator.h", "__iterator/move_sentinel.h", "__iterator/next.h", "__iterator/ostream_iterator.h", "__iterator/ostreambuf_iterator.h", "__iterator/permutable.h", "__iterator/prev.h", "__iterator/projected.h", "__iterator/ranges_iterator_traits.h", "__iterator/readable_traits.h", "__iterator/reverse_access.h", "__iterator/reverse_iterator.h", "__iterator/segmented_iterator.h", "__iterator/size.h", "__iterator/sortable.h", "__iterator/unreachable_sentinel.h", "__iterator/wrap_iter.h", "__locale", "__locale_dir/locale_base_api/bsd_locale_defaults.h", "__locale_dir/locale_base_api/bsd_locale_fallbacks.h", "__locale_dir/locale_base_api/locale_guard.h", "__math/abs.h", "__math/copysign.h", "__math/error_functions.h", "__math/exponential_functions.h", "__math/fdim.h", "__math/fma.h", "__math/gamma.h", "__math/hyperbolic_functions.h", "__math/hypot.h", "__math/inverse_hyperbolic_functions.h", "__math/inverse_trigonometric_functions.h", "__math/logarithms.h", "__math/min_max.h", "__math/modulo.h", "__math/remainder.h", "__math/roots.h", "__math/rounding_functions.h", "__math/traits.h", "__math/trigonometric_functions.h", "__mbstate_t.h", "__mdspan/default_accessor.h", "__mdspan/extents.h", "__mdspan/layout_left.h", "__mdspan/layout_right.h", "__mdspan/layout_stride.h", "__mdspan/mdspan.h", "__memory/addressof.h", "__memory/align.h", "__memory/aligned_alloc.h", "__memory/allocate_at_least.h", "__memory/allocation_guard.h", "__memory/allocator.h", "__memory/allocator_arg_t.h", "__memory/allocator_destructor.h", "__memory/allocator_traits.h", "__memory/assume_aligned.h", "__memory/auto_ptr.h", "__memory/builtin_new_allocator.h", "__memory/compressed_pair.h", "__memory/concepts.h", "__memory/construct_at.h", "__memory/destruct_n.h", "__memory/pointer_traits.h", "__memory/ranges_construct_at.h", "__memory/ranges_uninitialized_algorithms.h", "__memory/raw_storage_iterator.h", "__memory/shared_ptr.h", "__memory/swap_allocator.h", "__memory/temp_value.h", "__memory/temporary_buffer.h", "__memory/uninitialized_algorithms.h", "__memory/unique_ptr.h", "__memory/uses_allocator.h", "__memory/uses_allocator_construction.h", "__memory/voidify.h", "__memory_resource/memory_resource.h", "__memory_resource/monotonic_buffer_resource.h", "__memory_resource/polymorphic_allocator.h", "__memory_resource/pool_options.h", "__memory_resource/synchronized_pool_resource.h", "__memory_resource/unsynchronized_pool_resource.h", "__mutex/lock_guard.h", "__mutex/mutex.h", "__mutex/once_flag.h", "__mutex/tag_types.h", "__mutex/unique_lock.h", "__node_handle", "__numeric/accumulate.h", "__numeric/adjacent_difference.h", "__numeric/exclusive_scan.h", "__numeric/gcd_lcm.h", "__numeric/inclusive_scan.h", "__numeric/inner_product.h", "__numeric/iota.h", "__numeric/midpoint.h", "__numeric/partial_sum.h", "__numeric/pstl_reduce.h", "__numeric/pstl_transform_reduce.h", "__numeric/reduce.h", "__numeric/saturation_arithmetic.h", "__numeric/transform_exclusive_scan.h", "__numeric/transform_inclusive_scan.h", "__numeric/transform_reduce.h", "__random/bernoulli_distribution.h", "__random/binomial_distribution.h", "__random/cauchy_distribution.h", "__random/chi_squared_distribution.h", "__random/clamp_to_integral.h", "__random/default_random_engine.h", "__random/discard_block_engine.h", "__random/discrete_distribution.h", "__random/exponential_distribution.h", "__random/extreme_value_distribution.h", "__random/fisher_f_distribution.h", "__random/gamma_distribution.h", "__random/generate_canonical.h", "__random/geometric_distribution.h", "__random/independent_bits_engine.h", "__random/is_seed_sequence.h", "__random/is_valid.h", "__random/knuth_b.h", "__random/linear_congruential_engine.h", "__random/log2.h", "__random/lognormal_distribution.h", "__random/mersenne_twister_engine.h", "__random/negative_binomial_distribution.h", "__random/normal_distribution.h", "__random/piecewise_constant_distribution.h", "__random/piecewise_linear_distribution.h", "__random/poisson_distribution.h", "__random/random_device.h", "__random/ranlux.h", "__random/seed_seq.h", "__random/shuffle_order_engine.h", "__random/student_t_distribution.h", "__random/subtract_with_carry_engine.h", "__random/uniform_int_distribution.h", "__random/uniform_random_bit_generator.h", "__random/uniform_real_distribution.h", "__random/weibull_distribution.h", "__ranges/access.h", "__ranges/all.h", "__ranges/as_rvalue_view.h", "__ranges/chunk_by_view.h", "__ranges/common_view.h", "__ranges/concepts.h", "__ranges/container_compatible_range.h", "__ranges/counted.h", "__ranges/dangling.h", "__ranges/data.h", "__ranges/drop_view.h", "__ranges/drop_while_view.h", "__ranges/elements_view.h", "__ranges/empty.h", "__ranges/empty_view.h", "__ranges/enable_borrowed_range.h", "__ranges/enable_view.h", "__ranges/filter_view.h", "__ranges/from_range.h", "__ranges/iota_view.h", "__ranges/istream_view.h", "__ranges/join_view.h", "__ranges/lazy_split_view.h", "__ranges/movable_box.h", "__ranges/non_propagating_cache.h", "__ranges/owning_view.h", "__ranges/range_adaptor.h", "__ranges/rbegin.h", "__ranges/ref_view.h", "__ranges/rend.h", "__ranges/repeat_view.h", "__ranges/reverse_view.h", "__ranges/single_view.h", "__ranges/size.h", "__ranges/split_view.h", "__ranges/subrange.h", "__ranges/take_view.h", "__ranges/take_while_view.h", "__ranges/to.h", "__ranges/transform_view.h", "__ranges/view_interface.h", "__ranges/views.h", "__ranges/zip_view.h", "__split_buffer", "__std_mbstate_t.h", "__stop_token/atomic_unique_lock.h", "__stop_token/intrusive_list_view.h", "__stop_token/intrusive_shared_ptr.h", "__stop_token/stop_callback.h", "__stop_token/stop_source.h", "__stop_token/stop_state.h", "__stop_token/stop_token.h", "__string/char_traits.h", "__string/constexpr_c_functions.h", "__string/extern_template_lists.h", "__support/android/locale_bionic.h", "__support/fuchsia/xlocale.h", "__support/ibm/gettod_zos.h", "__support/ibm/locale_mgmt_zos.h", "__support/ibm/nanosleep.h", "__support/ibm/xlocale.h", "__support/musl/xlocale.h", "__support/newlib/xlocale.h", "__support/openbsd/xlocale.h", "__support/win32/locale_win32.h", "__support/xlocale/__nop_locale_mgmt.h", "__support/xlocale/__posix_l_fallback.h", "__support/xlocale/__strtonum_fallback.h", "__system_error/errc.h", "__system_error/error_category.h", "__system_error/error_code.h", "__system_error/error_condition.h", "__system_error/system_error.h", "__thread/formatter.h", "__thread/id.h", "__thread/jthread.h", "__thread/poll_with_backoff.h", "__thread/this_thread.h", "__thread/thread.h", "__thread/timed_backoff_policy.h", "__threading_support", "__tree", "__tuple/make_tuple_types.h", "__tuple/pair_like.h", "__tuple/sfinae_helpers.h", "__tuple/tuple_element.h", "__tuple/tuple_indices.h", "__tuple/tuple_like.h", "__tuple/tuple_like_ext.h", "__tuple/tuple_size.h", "__tuple/tuple_types.h", "__type_traits/add_const.h", "__type_traits/add_cv.h", "__type_traits/add_lvalue_reference.h", "__type_traits/add_pointer.h", "__type_traits/add_rvalue_reference.h", "__type_traits/add_volatile.h", "__type_traits/aligned_storage.h", "__type_traits/aligned_union.h", "__type_traits/alignment_of.h", "__type_traits/apply_cv.h", "__type_traits/can_extract_key.h", "__type_traits/common_reference.h", "__type_traits/common_type.h", "__type_traits/conditional.h", "__type_traits/conjunction.h", "__type_traits/copy_cv.h", "__type_traits/copy_cvref.h", "__type_traits/datasizeof.h", "__type_traits/decay.h", "__type_traits/dependent_type.h", "__type_traits/disjunction.h", "__type_traits/enable_if.h", "__type_traits/extent.h", "__type_traits/has_unique_object_representation.h", "__type_traits/has_virtual_destructor.h", "__type_traits/integral_constant.h", "__type_traits/invoke.h", "__type_traits/is_abstract.h", "__type_traits/is_aggregate.h", "__type_traits/is_allocator.h", "__type_traits/is_always_bitcastable.h", "__type_traits/is_arithmetic.h", "__type_traits/is_array.h", "__type_traits/is_assignable.h", "__type_traits/is_base_of.h", "__type_traits/is_bounded_array.h", "__type_traits/is_callable.h", "__type_traits/is_char_like_type.h", "__type_traits/is_class.h", "__type_traits/is_compound.h", "__type_traits/is_const.h", "__type_traits/is_constant_evaluated.h", "__type_traits/is_constructible.h", "__type_traits/is_convertible.h", "__type_traits/is_copy_assignable.h", "__type_traits/is_copy_constructible.h", "__type_traits/is_core_convertible.h", "__type_traits/is_default_constructible.h", "__type_traits/is_destructible.h", "__type_traits/is_empty.h", "__type_traits/is_enum.h", "__type_traits/is_equality_comparable.h", "__type_traits/is_execution_policy.h", "__type_traits/is_final.h", "__type_traits/is_floating_point.h", "__type_traits/is_function.h", "__type_traits/is_fundamental.h", "__type_traits/is_implicitly_default_constructible.h", "__type_traits/is_integral.h", "__type_traits/is_literal_type.h", "__type_traits/is_member_function_pointer.h", "__type_traits/is_member_object_pointer.h", "__type_traits/is_member_pointer.h", "__type_traits/is_move_assignable.h", "__type_traits/is_move_constructible.h", "__type_traits/is_nothrow_assignable.h", "__type_traits/is_nothrow_constructible.h", "__type_traits/is_nothrow_convertible.h", "__type_traits/is_nothrow_copy_assignable.h", "__type_traits/is_nothrow_copy_constructible.h", "__type_traits/is_nothrow_default_constructible.h", "__type_traits/is_nothrow_destructible.h", "__type_traits/is_nothrow_move_assignable.h", "__type_traits/is_nothrow_move_constructible.h", "__type_traits/is_null_pointer.h", "__type_traits/is_object.h", "__type_traits/is_pod.h", "__type_traits/is_pointer.h", "__type_traits/is_polymorphic.h", "__type_traits/is_primary_template.h", "__type_traits/is_reference.h", "__type_traits/is_reference_wrapper.h", "__type_traits/is_referenceable.h", "__type_traits/is_same.h", "__type_traits/is_scalar.h", "__type_traits/is_scoped_enum.h", "__type_traits/is_signed.h", "__type_traits/is_signed_integer.h", "__type_traits/is_specialization.h", "__type_traits/is_standard_layout.h", "__type_traits/is_swappable.h", "__type_traits/is_trivial.h", "__type_traits/is_trivially_assignable.h", "__type_traits/is_trivially_constructible.h", "__type_traits/is_trivially_copy_assignable.h", "__type_traits/is_trivially_copy_constructible.h", "__type_traits/is_trivially_copyable.h", "__type_traits/is_trivially_default_constructible.h", "__type_traits/is_trivially_destructible.h", "__type_traits/is_trivially_lexicographically_comparable.h", "__type_traits/is_trivially_move_assignable.h", "__type_traits/is_trivially_move_constructible.h", "__type_traits/is_unbounded_array.h", "__type_traits/is_union.h", "__type_traits/is_unsigned.h", "__type_traits/is_unsigned_integer.h", "__type_traits/is_valid_expansion.h", "__type_traits/is_void.h", "__type_traits/is_volatile.h", "__type_traits/lazy.h", "__type_traits/make_32_64_or_128_bit.h", "__type_traits/make_const_lvalue_ref.h", "__type_traits/make_signed.h", "__type_traits/make_unsigned.h", "__type_traits/maybe_const.h", "__type_traits/nat.h", "__type_traits/negation.h", "__type_traits/noexcept_move_assign_container.h", "__type_traits/operation_traits.h", "__type_traits/promote.h", "__type_traits/rank.h", "__type_traits/remove_all_extents.h", "__type_traits/remove_const.h", "__type_traits/remove_const_ref.h", "__type_traits/remove_cv.h", "__type_traits/remove_cvref.h", "__type_traits/remove_extent.h", "__type_traits/remove_pointer.h", "__type_traits/remove_reference.h", "__type_traits/remove_volatile.h", "__type_traits/result_of.h", "__type_traits/strip_signature.h", "__type_traits/type_identity.h", "__type_traits/type_list.h", "__type_traits/underlying_type.h", "__type_traits/unwrap_ref.h", "__type_traits/void_t.h", "__undef_macros", "__utility/as_const.h", "__utility/as_lvalue.h", "__utility/auto_cast.h", "__utility/cmp.h", "__utility/convert_to_integral.h", "__utility/declval.h", "__utility/empty.h", "__utility/exception_guard.h", "__utility/exchange.h", "__utility/forward.h", "__utility/forward_like.h", "__utility/in_place.h", "__utility/integer_sequence.h", "__utility/is_pointer_in_range.h", "__utility/move.h", "__utility/no_destroy.h", "__utility/pair.h", "__utility/piecewise_construct.h", "__utility/priority_tag.h", "__utility/rel_ops.h", "__utility/small_buffer.h", "__utility/swap.h", "__utility/to_underlying.h", "__utility/unreachable.h", "__variant/monostate.h", "__verbose_abort", "algorithm", "any", "array", "atomic", "barrier", "bit", "bitset", "cassert", "ccomplex", "cctype", "cerrno", "cfenv", "cfloat", "charconv", "chrono", "cinttypes", "ciso646", "climits", "clocale", "cmath", "codecvt", "compare", "complex", "complex.h", "concepts", "condition_variable", "coroutine", "csetjmp", "csignal", "cstdarg", "cstdbool", "cstddef", "cstdint", "cstdio", "cstdlib", "cstring", "ctgmath", "ctime", "ctype.h", "cwchar", "cwctype", "deque", "errno.h", "exception", "execution", "experimental/__config", "experimental/__memory", "experimental/__simd/aligned_tag.h", "experimental/__simd/declaration.h", "experimental/__simd/reference.h", "experimental/__simd/scalar.h", "experimental/__simd/simd.h", "experimental/__simd/simd_mask.h", "experimental/__simd/traits.h", "experimental/__simd/utility.h", "experimental/__simd/vec_ext.h", "experimental/iterator", "experimental/memory", "experimental/propagate_const", "experimental/simd", "experimental/type_traits", "experimental/utility", "ext/__hash", "ext/hash_map", "ext/hash_set", "fenv.h", "filesystem", "float.h", "format", "forward_list", "fstream", "functional", "future", "initializer_list", "inttypes.h", "iomanip", "ios", "iosfwd", "iostream", "istream", "iterator", "latch", "limits", "list", "locale", "locale.h", "map", "math.h", "mdspan", "memory", "memory_resource", "mutex", "new", "numbers", "numeric", "optional", "ostream", "print", "queue", "random", "ranges", "ratio", "regex", "scoped_allocator", "semaphore", "set", "shared_mutex", "source_location", "span", "sstream", "stack", "stdatomic.h", "stdbool.h", "stddef.h", "stdexcept", "stdint.h", "stdio.h", "stdlib.h", "stop_token", "streambuf", "string", "string.h", "string_view", "strstream", "syncstream", "system_error", "tgmath.h", "thread", "tuple", "type_traits", "typeindex", "typeinfo", "uchar.h", "unordered_map", "unordered_set", "utility", "valarray", "variant", "vector", "version", "wchar.h", "wctype.h", ] deps = [ ":write_config_site", ":write_modulemap", ":write_assertion_handler", ] if (target_os != "mac" && target_os != "win") { # libcxx/cmake/Modules/HandleLibCXXABI.cmake sets # LIBCXX_CXX_ABI_HEADER_TARGET if the libcxx abi library either of # "libstdc++", "libsupc++", "libcxxabi", "libcxxrt", but not if it's "none", # "default", or "vcruntime". So on Windows, these don't get copied due to # LIBCXX_CXX_ABI_HEADER_TARGET not being set. # On macOS, libcxx/CMakeLists.txt sets LIBCXX_CXX_ABI_SYSTEM to 1, which # causes an empty header list to be passed to setup_abi_lib, so these # don't get copied on macOS due to that. deps += [ "//libcxxabi/include" ] } outputs = [ "$root_build_dir/include/c++/v1/{{source_target_relative}}" ] } } config("include_config") { include_dirs = [ libcxx_generated_include_dir ] } group("include") { deps = [ ":copy_headers($default_toolchain)" ] public_configs = [ ":include_config" ] }