[llvm] [bazel] Restrict libpfm to linux (PR #86565)
Keith Smiley via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 25 12:35:50 PDT 2024
https://github.com/keith created https://github.com/llvm/llvm-project/pull/86565
This target doesn't build on macOS (even with the upstream make based build system) so this encodes that in the build without requiring non-linux users to disable it manually with the starlark flag. The flag is still respected for linux users.
>From 8a9a9a972992e2d2838cf220b03bd92d3db37175 Mon Sep 17 00:00:00 2001
From: Keith Smiley <keithbsmiley at gmail.com>
Date: Mon, 25 Mar 2024 12:33:44 -0700
Subject: [PATCH] [bazel] Restrict libpfm to linux
This target doesn't build on macOS (even with the upstream make based
build system) so this encodes that in the build without requiring
non-linux users to disable it manually with the starlark flag. The flag
is still respected for linux users.
---
utils/bazel/llvm-project-overlay/llvm/BUILD.bazel | 6 ++++--
utils/bazel/third_party_build/pfm.BUILD | 12 ++++++++++--
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
index 65173f986585c4..f7d1f6aa2283f7 100644
--- a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
@@ -3153,8 +3153,10 @@ cc_library(
":Support",
":Target",
":config",
- ":maybe_pfm",
- ],
+ ] + select({
+ "@platforms//os:linux": [":maybe_pfm"],
+ "//conditions:default": [],
+ }),
)
################################################################################
diff --git a/utils/bazel/third_party_build/pfm.BUILD b/utils/bazel/third_party_build/pfm.BUILD
index fe908d4744dae6..07a1dc48b85749 100644
--- a/utils/bazel/third_party_build/pfm.BUILD
+++ b/utils/bazel/third_party_build/pfm.BUILD
@@ -14,8 +14,12 @@ make_variant(
copts = ["-w"],
lib_name = "libpfm",
lib_source = ":sources",
+ target_compatible_with = select({
+ "@platforms//os:linux": [],
+ "//conditions:default": ["@platforms//:incompatible"],
+ }),
toolchain = "@rules_foreign_cc//toolchains:preinstalled_autoconf_toolchain",
- visibility = ["//visibility:public"],
+ visibility = ["//visibility:private"],
)
alias(
@@ -27,5 +31,9 @@ alias(
cc_library(
name = "pfm_system",
linkopts = ["-lpfm"],
- visibility = ["//visibility:public"],
+ target_compatible_with = select({
+ "@platforms//os:linux": [],
+ "//conditions:default": ["@platforms//:incompatible"],
+ }),
+ visibility = ["//visibility:private"],
)
More information about the llvm-commits
mailing list