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