Skip to content

Conversation

@vonosmas
Copy link
Contributor

This target was marked as Linux-only in 51a4ab2 to make "bazel build @llvm-project//libc/..." clean (which it still is).

There's nothing Linux-specific about this header libary, we just use "target_incompatible_with" clause here to ensure that all libc functions for float128 types won't be built on Mac, in lieu of a better exclusion mechanism in Bazel.

However, since llvm_libc_types_float128 is now a transitive dependency of ":libcxx_shared_headers" used for hand-in-hand code sharing with libc++, we may need to build this target even on platforms that don't have float128.

Fow now, mark this target Windows-compatible to unlock the downstream Windows Bazel build of ":libcxx_shared_headers".

This target was marked as Linux-only in 51a4ab2 to make
"blaze build @llvm-project//libc/..." clean (which it still is).

There's nothing Linux-specific about this header libary, we just use "target_incompatible_with" clause here
to ensure that all libc functions for float128 types won't be built on Mac, in lieu
of a better exclusion mechanism in Bazel.

However, since llvm_libc_types_float128 is now a transitive dependency of
":libcxx_shared_headers" used for hand-in-hand code sharing with libc++, we may need
to build this target even on platforms that don't have float128.

Fow now, mark this target Windows-compatible to unlock the downstream
Windows Bazel build of ":libcxx_shared_headers".
@vonosmas vonosmas requested a review from lntue July 25, 2025 21:08
@llvmbot llvmbot added libc bazel "Peripheral" support tier build system: utils/bazel labels Jul 25, 2025
@llvmbot
Copy link
Member

llvmbot commented Jul 25, 2025

@llvm/pr-subscribers-libc

Author: Alexey Samsonov (vonosmas)

Changes

This target was marked as Linux-only in 51a4ab2 to make "bazel build @llvm-project//libc/..." clean (which it still is).

There's nothing Linux-specific about this header libary, we just use "target_incompatible_with" clause here to ensure that all libc functions for float128 types won't be built on Mac, in lieu of a better exclusion mechanism in Bazel.

However, since llvm_libc_types_float128 is now a transitive dependency of ":libcxx_shared_headers" used for hand-in-hand code sharing with libc++, we may need to build this target even on platforms that don't have float128.

Fow now, mark this target Windows-compatible to unlock the downstream Windows Bazel build of ":libcxx_shared_headers".


Full diff: https://github.com/llvm/llvm-project/pull/150704.diff

1 Files Affected:

  • (modified) utils/bazel/llvm-project-overlay/libc/BUILD.bazel (+1)
diff --git a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
index 5ae999b8a9dcf..a6b71b0e82f45 100644
--- a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
@@ -159,6 +159,7 @@ libc_support_library(
     hdrs = ["include/llvm-libc-types/float128.h"],
     target_compatible_with = select({
         "@platforms//os:linux": [],
+        "@platforms//os:windows": [],
         "//conditions:default": ["@platforms//:incompatible"],
     }),
     deps = [":llvm_libc_macros_float_macros"],

@vonosmas vonosmas merged commit 1d81dfa into llvm:main Jul 25, 2025
12 checks passed
mahesh-attarde pushed a commit to mahesh-attarde/llvm-project that referenced this pull request Jul 28, 2025
…vm#150704)

This target was marked as Linux-only in
51a4ab2 to make "bazel build
@llvm-project//libc/..." clean (which it still is).

There's nothing Linux-specific about this header library, we just use
"target_incompatible_with" clause here to ensure that all libc functions
for float128 types won't be built on Mac, in lieu of a better exclusion
mechanism in Bazel.

However, since llvm_libc_types_float128 is now a transitive dependency
of ":libcxx_shared_headers" used for hand-in-hand code sharing with
libc++, we may need to build this target even on platforms that don't
have float128.

Fow now, mark this target Windows-compatible to unlock the downstream
Windows Bazel build of ":libcxx_shared_headers".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bazel "Peripheral" support tier build system: utils/bazel libc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants