| 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_LIBRARY=", |
| "_LIBCPP_HAS_NO_FSTREAM=", |
| "_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_HAS_THREAD_LIBRARY_EXTERNAL=", |
| "_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_ABI_DEFINES=", |
| "_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=", |
| "_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_debug_mode) { |
| values += [ "_LIBCPP_ENABLE_DEBUG_MODE=1" ] |
| } else { |
| values += [ "_LIBCPP_ENABLE_DEBUG_MODE=" ] |
| } |
| } |
| |
| 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 = [ |
| # An empty value here means the feature is supported. |
| # Unsupported values should be set to `$no`. |
| "requires_LIBCXX_ENABLE_FILESYSTEM=", |
| "requires_LIBCXX_ENABLE_FSTREAM=", |
| "requires_LIBCXX_ENABLE_LOCALIZATION=", |
| "requires_LIBCXX_ENABLE_THREADS=", |
| "requires_LIBCXX_ENABLE_WIDE_CHARACTERS=", |
| ] |
| } |
| |
| 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/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/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_fill.h", |
| "__algorithm/pstl_find.h", |
| "__algorithm/pstl_for_each.h", |
| "__algorithm/pstl_frontend_dispatch.h", |
| "__algorithm/pstl_merge.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_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_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/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/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", |
| "__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", |
| "__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/fstream.h", |
| "__fwd/get.h", |
| "__fwd/hash.h", |
| "__fwd/ios.h", |
| "__fwd/istream.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/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/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", |
| "__mbstate_t.h", |
| "__mdspan/extents.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/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/transform_exclusive_scan.h", |
| "__numeric/transform_inclusive_scan.h", |
| "__numeric/transform_reduce.h", |
| "__pstl/internal/algorithm_fwd.h", |
| "__pstl/internal/algorithm_impl.h", |
| "__pstl/internal/execution_defs.h", |
| "__pstl/internal/execution_impl.h", |
| "__pstl/internal/glue_algorithm_defs.h", |
| "__pstl/internal/glue_algorithm_impl.h", |
| "__pstl/internal/glue_memory_defs.h", |
| "__pstl/internal/glue_memory_impl.h", |
| "__pstl/internal/glue_numeric_defs.h", |
| "__pstl/internal/glue_numeric_impl.h", |
| "__pstl/internal/memory_impl.h", |
| "__pstl/internal/numeric_fwd.h", |
| "__pstl/internal/numeric_impl.h", |
| "__pstl/internal/omp/parallel_for.h", |
| "__pstl/internal/omp/parallel_for_each.h", |
| "__pstl/internal/omp/parallel_invoke.h", |
| "__pstl/internal/omp/parallel_merge.h", |
| "__pstl/internal/omp/parallel_scan.h", |
| "__pstl/internal/omp/parallel_stable_partial_sort.h", |
| "__pstl/internal/omp/parallel_stable_sort.h", |
| "__pstl/internal/omp/parallel_transform_reduce.h", |
| "__pstl/internal/omp/parallel_transform_scan.h", |
| "__pstl/internal/omp/util.h", |
| "__pstl/internal/parallel_backend.h", |
| "__pstl/internal/parallel_backend_omp.h", |
| "__pstl/internal/parallel_backend_serial.h", |
| "__pstl/internal/parallel_backend_tbb.h", |
| "__pstl/internal/parallel_backend_utils.h", |
| "__pstl/internal/unseq_backend_simd.h", |
| "__pstl/internal/utils.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/common_view.h", |
| "__ranges/concepts.h", |
| "__ranges/container_compatible_range.h", |
| "__ranges/copyable_box.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/non_propagating_cache.h", |
| "__ranges/owning_view.h", |
| "__ranges/range_adaptor.h", |
| "__ranges/rbegin.h", |
| "__ranges/ref_view.h", |
| "__ranges/rend.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/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", |
| "__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/poll_with_backoff.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/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/predicate_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/auto_cast.h", |
| "__utility/cmp.h", |
| "__utility/convert_to_integral.h", |
| "__utility/declval.h", |
| "__utility/exception_guard.h", |
| "__utility/exchange.h", |
| "__utility/forward.h", |
| "__utility/forward_like.h", |
| "__utility/in_place.h", |
| "__utility/integer_sequence.h", |
| "__utility/move.h", |
| "__utility/pair.h", |
| "__utility/piecewise_construct.h", |
| "__utility/priority_tag.h", |
| "__utility/rel_ops.h", |
| "__utility/swap.h", |
| "__utility/terminate_on_exception.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/deque", |
| "experimental/forward_list", |
| "experimental/iterator", |
| "experimental/list", |
| "experimental/map", |
| "experimental/memory_resource", |
| "experimental/propagate_const", |
| "experimental/regex", |
| "experimental/set", |
| "experimental/simd", |
| "experimental/string", |
| "experimental/type_traits", |
| "experimental/unordered_map", |
| "experimental/unordered_set", |
| "experimental/utility", |
| "experimental/vector", |
| "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", |
| "limits.h", |
| "list", |
| "locale", |
| "locale.h", |
| "map", |
| "math.h", |
| "memory", |
| "memory_resource", |
| "mutex", |
| "new", |
| "numbers", |
| "numeric", |
| "optional", |
| "ostream", |
| "queue", |
| "random", |
| "ranges", |
| "ratio", |
| "regex", |
| "scoped_allocator", |
| "semaphore", |
| "set", |
| "setjmp.h", |
| "shared_mutex", |
| "span", |
| "sstream", |
| "stack", |
| "stdatomic.h", |
| "stdbool.h", |
| "stddef.h", |
| "stdexcept", |
| "stdint.h", |
| "stdio.h", |
| "stdlib.h", |
| "streambuf", |
| "string", |
| "string.h", |
| "string_view", |
| "strstream", |
| "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", |
| ] |
| 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" ] |
| } |