-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[libc++] Don't commit libcxx.imp #89391
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
We can instead generate it on-the-fly when we install the headers. This reduces the amount of boilerplate we have to re-generate whenever we add, remove or relocate header files. Fixes llvm#88529
@llvm/pr-subscribers-libcxx Author: Louis Dionne (ldionne) ChangesWe can instead generate it on-the-fly when we install the headers. This reduces the amount of boilerplate we have to re-generate whenever we add, remove or relocate header files. Fixes #88529 Patch is 77.76 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/89391.diff 5 Files Affected:
diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt
index 4ecd834c5382ae..8269436a53e9a9 100644
--- a/libcxx/include/CMakeLists.txt
+++ b/libcxx/include/CMakeLists.txt
@@ -957,7 +957,6 @@ set(files
istream
iterator
latch
- libcxx.imp
limits
list
locale
@@ -1036,6 +1035,15 @@ foreach(f ${files})
list(APPEND _all_includes "${dst}")
endforeach()
+# Generate the IWYU mapping. This depends on all header files but it's also considered as an
+# "include" for dependency tracking.
+add_custom_command(OUTPUT "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp"
+ COMMAND "${Python3_EXECUTABLE}" "${LIBCXX_SOURCE_DIR}/utils/generate_iwyu_mapping.py" "-o" "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp"
+ DEPENDS ${_all_includes}
+ COMMENT "Generate the mapping file for include-what-you-use"
+)
+list(APPEND _all_includes "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp")
+
add_custom_target(generate-cxx-headers ALL DEPENDS ${_all_includes})
add_library(cxx-headers INTERFACE)
@@ -1074,6 +1082,12 @@ if (LIBCXX_INSTALL_HEADERS)
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
COMPONENT cxx-headers)
+ # Install the generated IWYU file to the generic include dir.
+ install(FILES "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp"
+ DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}"
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+ COMPONENT cxx-headers)
+
if (NOT CMAKE_CONFIGURATION_TYPES)
add_custom_target(install-cxx-headers
DEPENDS cxx-headers
diff --git a/libcxx/include/libcxx.imp b/libcxx/include/libcxx.imp
deleted file mode 100644
index 1d12b6e8d86bba..00000000000000
--- a/libcxx/include/libcxx.imp
+++ /dev/null
@@ -1,855 +0,0 @@
-[
- { include: [ "<__algorithm/adjacent_find.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/all_of.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/any_of.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/binary_search.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/clamp.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/comp.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/comp_ref_type.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/copy_backward.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/copy_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/copy_move_common.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/copy_n.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/count.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/count_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/equal.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/equal_range.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/fill.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/fill_n.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/find.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/find_end.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/find_first_of.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/find_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/find_if_not.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/find_segment_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/fold.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/for_each.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/for_each_n.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/for_each_segment.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/generate.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/generate_n.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/half_positive.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/in_found_result.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/in_fun_result.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/in_in_out_result.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/in_in_result.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/in_out_out_result.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/in_out_result.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/includes.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/inplace_merge.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/is_heap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/is_heap_until.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/is_partitioned.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/is_permutation.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/is_sorted.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/is_sorted_until.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/iter_swap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/iterator_operations.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/lexicographical_compare.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/lexicographical_compare_three_way.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/lower_bound.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/make_heap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/make_projected.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/max.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/max_element.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/merge.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/min.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/min_element.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/min_max_result.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/minmax.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/minmax_element.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/mismatch.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/move.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/move_backward.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/next_permutation.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/none_of.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/nth_element.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/partial_sort.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/partial_sort_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/partition.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/partition_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/partition_point.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pop_heap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/prev_permutation.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_any_all_none_of.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_count.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_equal.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_fill.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_find.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_for_each.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_frontend_dispatch.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_generate.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_is_partitioned.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_merge.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_move.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_replace.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_rotate_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_sort.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_stable_sort.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/pstl_transform.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/push_heap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_adjacent_find.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_all_of.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_any_of.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_binary_search.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_clamp.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_contains.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_contains_subrange.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_copy_backward.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_copy_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_copy_n.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_count.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_count_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_ends_with.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_equal.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_equal_range.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_fill.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_fill_n.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_find.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_find_end.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_find_first_of.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_find_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_find_if_not.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_for_each.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_for_each_n.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_generate.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_generate_n.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_includes.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_inplace_merge.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_is_heap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_is_heap_until.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_is_partitioned.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_is_permutation.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_is_sorted.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_is_sorted_until.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_iterator_concept.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_lexicographical_compare.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_lower_bound.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_make_heap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_max.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_max_element.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_merge.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_min.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_min_element.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_minmax.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_minmax_element.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_mismatch.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_move.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_move_backward.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_next_permutation.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_none_of.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_nth_element.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_partial_sort.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_partial_sort_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_partition.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_partition_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_partition_point.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_pop_heap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_prev_permutation.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_push_heap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_remove.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_remove_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_remove_copy_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_remove_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_replace.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_replace_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_replace_copy_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_replace_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_reverse.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_reverse_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_rotate.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_rotate_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_sample.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_search.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_search_n.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_set_difference.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_set_intersection.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_set_symmetric_difference.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_set_union.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_shuffle.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_sort.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_sort_heap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_stable_partition.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_stable_sort.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_starts_with.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_swap_ranges.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_transform.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_unique.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_unique_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/ranges_upper_bound.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/remove.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/remove_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/remove_copy_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/remove_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/replace.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/replace_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/replace_copy_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/replace_if.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/reverse.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/reverse_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/rotate.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/rotate_copy.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/sample.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/search.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/search_n.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/set_difference.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/set_intersection.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/set_symmetric_difference.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/set_union.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/shift_left.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/shift_right.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/shuffle.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/sift_down.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/simd_utils.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/sort.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/sort_heap.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/stable_partition.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<__algorithm/stable_sort.h>", "private", "<algorithm>", "public" ] },
- { include: [ "<...
[truncated]
|
✅ With the latest revision this PR passed the Python code formatter. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the cleanup. I like to have a short look after it passes the CI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see some CI's passing, so I'm happy. LGTM!
Hello, is there any way this could be reconsidered? We have a bot that auto-updates libc++ in Chromium, and that bot only watches for revisions and produces CLs without having any local checkout state. This change here makes it impossible for that bot to continue working in its current state. ("Can't you just change the bot?" Not easily. It's a general dependency-updating system that we use for many dependencies, and not having to have local checkouts is a design decision that the team setting up that system made.) If it's a big pain to keep upstream, we'll find some way I suppose, but I figured asking first is easy, and if it isn't painful to keep this upstream… |
I am not sure I understand what's problematic about this specific patch w.r.t. that bot, can you explain? We generate several files in the installation directory (e.g. |
We don't use any of the other generated files either. We have fixed |
So, are you basically asking whether we would be comfortable with not generating files into the install directory without having them checked in somewhere, in the general case? Sorry, I'm genuinely trying to understand what your request entails before I can really form an opinion. |
Yes, except I'm not asking about the general case, but about this specific case :) |
We can instead generate it on-the-fly when we install the headers. This reduces the amount of boilerplate we have to re-generate whenever we add, remove or relocate header files.
Fixes #88529