-
Notifications
You must be signed in to change notification settings - Fork 11.2k
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
[libc][bazel] simplify type_traits with glob #94079
Conversation
Previously the `type_traits` target manually listed all of the type traits files. This patch replaces that with a glob to make the build simpler.
@llvm/pr-subscribers-libc Author: Michael Jones (michaelrj-google) ChangesPreviously the Full diff: https://github.com/llvm/llvm-project/pull/94079.diff 1 Files Affected:
diff --git a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
index 1f7a2f8a9f9fd..ff58fe6849c39 100644
--- a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
@@ -397,59 +397,8 @@ libc_support_library(
libc_support_library(
name = "__support_cpp_type_traits",
- hdrs = [
+ hdrs = glob(["src/__support/CPP/type_traits/*.h"]) + [
"src/__support/CPP/type_traits.h",
- "src/__support/CPP/type_traits/add_lvalue_reference.h",
- "src/__support/CPP/type_traits/add_pointer.h",
- "src/__support/CPP/type_traits/add_rvalue_reference.h",
- "src/__support/CPP/type_traits/always_false.h",
- "src/__support/CPP/type_traits/bool_constant.h",
- "src/__support/CPP/type_traits/conditional.h",
- "src/__support/CPP/type_traits/decay.h",
- "src/__support/CPP/type_traits/enable_if.h",
- "src/__support/CPP/type_traits/false_type.h",
- "src/__support/CPP/type_traits/integral_constant.h",
- "src/__support/CPP/type_traits/invoke.h",
- "src/__support/CPP/type_traits/invoke_result.h",
- "src/__support/CPP/type_traits/is_arithmetic.h",
- "src/__support/CPP/type_traits/is_array.h",
- "src/__support/CPP/type_traits/is_base_of.h",
- "src/__support/CPP/type_traits/is_class.h",
- "src/__support/CPP/type_traits/is_const.h",
- "src/__support/CPP/type_traits/is_constant_evaluated.h",
- "src/__support/CPP/type_traits/is_convertible.h",
- "src/__support/CPP/type_traits/is_destructible.h",
- "src/__support/CPP/type_traits/is_enum.h",
- "src/__support/CPP/type_traits/is_fixed_point.h",
- "src/__support/CPP/type_traits/is_floating_point.h",
- "src/__support/CPP/type_traits/is_function.h",
- "src/__support/CPP/type_traits/is_integral.h",
- "src/__support/CPP/type_traits/is_lvalue_reference.h",
- "src/__support/CPP/type_traits/is_member_pointer.h",
- "src/__support/CPP/type_traits/is_null_pointer.h",
- "src/__support/CPP/type_traits/is_object.h",
- "src/__support/CPP/type_traits/is_pointer.h",
- "src/__support/CPP/type_traits/is_reference.h",
- "src/__support/CPP/type_traits/is_rvalue_reference.h",
- "src/__support/CPP/type_traits/is_same.h",
- "src/__support/CPP/type_traits/is_scalar.h",
- "src/__support/CPP/type_traits/is_signed.h",
- "src/__support/CPP/type_traits/is_trivially_constructible.h",
- "src/__support/CPP/type_traits/is_trivially_copyable.h",
- "src/__support/CPP/type_traits/is_trivially_destructible.h",
- "src/__support/CPP/type_traits/is_union.h",
- "src/__support/CPP/type_traits/is_unsigned.h",
- "src/__support/CPP/type_traits/is_void.h",
- "src/__support/CPP/type_traits/make_signed.h",
- "src/__support/CPP/type_traits/make_unsigned.h",
- "src/__support/CPP/type_traits/remove_all_extents.h",
- "src/__support/CPP/type_traits/remove_cv.h",
- "src/__support/CPP/type_traits/remove_cvref.h",
- "src/__support/CPP/type_traits/remove_extent.h",
- "src/__support/CPP/type_traits/remove_reference.h",
- "src/__support/CPP/type_traits/true_type.h",
- "src/__support/CPP/type_traits/type_identity.h",
- "src/__support/CPP/type_traits/void_t.h",
"src/__support/CPP/utility/declval.h",
"src/__support/CPP/utility/forward.h",
],
@@ -462,13 +411,8 @@ libc_support_library(
libc_support_library(
name = "__support_cpp_utility",
- hdrs = [
+ hdrs = glob(["src/__support/CPP/utility/*.h"]) + [
"src/__support/CPP/utility.h",
- "src/__support/CPP/utility/declval.h",
- "src/__support/CPP/utility/forward.h",
- "src/__support/CPP/utility/in_place.h",
- "src/__support/CPP/utility/integer_sequence.h",
- "src/__support/CPP/utility/move.h",
],
deps = [
":__support_cpp_type_traits",
@@ -640,8 +584,8 @@ libc_support_library(
deps = [
":__support_integer_to_string",
":__support_macros_attributes",
- ":__support_osutil_io",
":__support_osutil_exit",
+ ":__support_osutil_io",
],
)
|
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 know in CMake globs are problematic because adding a new file to the directory doesn't trigger a rebuild. However I'm assuming Bazel doesn't carry the same limitations and it's probably not an issue for headers.
Yes, this is fine. Bazel will pick up new *.h glob matches. |
Previously the
type_traits
target manually listed all of the typetraits files. This patch replaces that with a glob to make the build
simpler.