[llvm] [bazel] Fix more parse_headers cases in lldb (PR #184534)
Keith Smiley via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 4 08:06:44 PST 2026
https://github.com/keith updated https://github.com/llvm/llvm-project/pull/184534
>From c33230d56d1d2ad00b8dbc3bbf04e806aeec8898 Mon Sep 17 00:00:00 2001
From: Keith Smiley <keithbsmiley at gmail.com>
Date: Tue, 3 Mar 2026 17:54:54 -0800
Subject: [PATCH] [bazel] Fix more parse_headers cases in lldb
CI doesn't have a toolchain that supports this so we don't validate this
there, but locally this fixes some issues if you're using a toolchain
that does. Mostly since lldb has a bunch of circular deps we just have
to disable it for the header only targets we create to avoid those
circular deps.
---
.../llvm-project-overlay/lldb/BUILD.bazel | 40 ++++++++++++++++-
.../lldb/source/Plugins/BUILD.bazel | 44 ++++++++++++++++++-
2 files changed, 81 insertions(+), 3 deletions(-)
diff --git a/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel b/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
index 45a700dde3dbd..c9f619940e344 100644
--- a/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
@@ -361,25 +361,32 @@ gentbl_cc_library(
cc_library(
name = "APIHeaders",
hdrs = glob(["include/lldb/API/**/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
)
cc_library(
name = "InterpreterHeaders",
hdrs = glob(["include/lldb/Interpreter/**/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
- deps = [":APIHeaders"],
+ deps = [
+ ":APIHeaders",
+ ":Headers",
+ ],
)
cc_library(
name = "BreakpointHeaders",
hdrs = glob(["include/lldb/Breakpoint/**/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
)
cc_library(
name = "ExpressionHeaders",
hdrs = glob(["include/lldb/Expression/**/*.h"]) + [":lldb-sbapi-dwarf-enums"],
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
deps = ["//llvm:ExecutionEngine"],
)
@@ -387,8 +394,12 @@ cc_library(
cc_library(
name = "DataFormattersHeaders",
hdrs = glob(["include/lldb/DataFormatters/**/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
textual_hdrs = glob(["include/lldb/DataFormatters/**/*.def"]),
+ deps = [
+ ":Headers",
+ ],
)
cc_library(
@@ -455,6 +466,7 @@ cc_library(
cc_library(
name = "SymbolHeaders",
hdrs = glob(["include/lldb/Symbol/**/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
)
@@ -485,6 +497,7 @@ cc_library(
"include/lldb/Host/macosx/*.h",
"include/lldb/Host/posix/*.h",
]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
deps = [":UtilityHeaders"],
)
@@ -632,20 +645,24 @@ cc_library(
"include/lldb/Core/**/*.h",
"include/lldb/ValueObject/**/*.h", # This should be its own library.
]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
deps = [
":BreakpointHeaders",
":CoreProperties",
":DataFormattersHeaders",
":ExpressionHeaders",
+ ":Headers",
":Host",
":InterpreterHeaders",
":SymbolHeaders",
":TargetHeaders",
+ ":UtilityHeaders",
"//clang:driver",
"//llvm:Demangle",
"//llvm:Support",
"//llvm:TargetParser",
+ "//llvm:Telemetry",
],
)
@@ -710,6 +727,7 @@ cc_library(
cc_library(
name = "TargetHeaders",
hdrs = glob(["include/lldb/Target/**/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
deps = [
":AppleArm64ExceptionClass",
@@ -746,12 +764,17 @@ cc_library(
hdrs = glob(["include/lldb/lldb-*.h"]) + [
"include/lldb/Symbol/SaveCoreOptions.h",
],
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
+ deps = [
+ "//llvm:Support",
+ ],
)
cc_library(
name = "UtilityPrivateHeaders",
hdrs = glob(["source/Utility/**/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["source"],
deps = [":Headers"],
)
@@ -759,12 +782,17 @@ cc_library(
cc_library(
name = "UtilityHeaders",
hdrs = glob(["include/lldb/Utility/**/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
+ deps = [
+ ":Headers",
+ ],
)
cc_library(
name = "ProtocolHeaders",
hdrs = glob(["include/lldb/Protocol/**/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = ["include"],
deps = [
":Headers",
@@ -899,12 +927,22 @@ cc_library(
name = "DebugServerCommonMacOSXHeaders",
hdrs = glob(["tools/debugserver/source/MacOSX/**/*.h"]),
strip_include_prefix = "tools/debugserver/source/MacOSX",
+ tags = ["nobuildkite"],
+ target_compatible_with = select({
+ "@platforms//os:macos": [],
+ "//conditions:default": ["@platforms//:incompatible"],
+ }),
)
cc_library(
name = "DebugServerCommonHeaders",
hdrs = glob(["tools/debugserver/source/**/*.h"]),
strip_include_prefix = "tools/debugserver/source",
+ tags = ["nobuildkite"],
+ target_compatible_with = select({
+ "@platforms//os:macos": [],
+ "//conditions:default": ["@platforms//:incompatible"],
+ }),
deps = [":DebugServerCommonMacOSXHeaders"],
)
diff --git a/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel b/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
index 9cc25810ddc44..ca492d223d8e2 100644
--- a/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
@@ -43,6 +43,7 @@ cc_library(
cc_library(
name = "PluginObjCLanguageHeaders",
hdrs = glob(["Language/ObjC/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = [".."],
deps = [
":PluginExpressionParserClangHeaders",
@@ -80,8 +81,16 @@ cc_library(
includes = [".."],
deps = [
":PluginExpressionParserClangHeaders",
+ "//clang:ast",
+ "//clang:basic",
"//clang:frontend",
"//lldb:CoreHeaders",
+ "//lldb:ExpressionHeaders",
+ "//lldb:Headers",
+ "//lldb:SymbolHeaders",
+ "//lldb:TargetHeaders",
+ "//lldb:UtilityHeaders",
+ "//llvm:Support",
],
)
@@ -192,6 +201,7 @@ cc_library(
cc_library(
name = "PluginExpressionParserClangHeaders",
hdrs = glob(["ExpressionParser/Clang/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = [".."],
deps = [
"//lldb:CoreHeaders",
@@ -295,6 +305,7 @@ cc_library(
"//conditions:default": [],
}),
hdrs = glob(["Platform/MacOSX/*.h"]),
+ features = ["-parse_headers"], # TODO: Attempt to fix in a way that works cross platform
includes = [".."],
tags = ["nobuildkite"],
deps = [
@@ -338,6 +349,7 @@ gentbl_cc_library(
cc_library(
name = "PluginSymbolFileDWARFHeaders",
hdrs = glob(["SymbolFile/DWARF/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = [".."],
deps = [
":PluginTypeSystemClangHeaders",
@@ -413,7 +425,18 @@ cc_library(
name = "PluginSymbolFileNativePDBHeaders",
hdrs = glob(["SymbolFile/NativePDB/*.h"]),
includes = [".."],
- deps = ["//lldb:Core"],
+ deps = [
+ ":PluginExpressionParserClangHeaders",
+ "//lldb:Core",
+ "//lldb:ExpressionHeaders",
+ "//lldb:Headers",
+ "//lldb:SymbolHeaders",
+ "//lldb:UtilityHeaders",
+ "//llvm:DebugInfoCodeView",
+ "//llvm:DebugInfoPDB",
+ "//llvm:Support",
+ "//llvm:TargetParser",
+ ],
)
cc_library(
@@ -446,7 +469,16 @@ cc_library(
name = "PluginSymbolFilePDBHeaders",
hdrs = glob(["SymbolFile/PDB/*.h"]),
includes = [".."],
- deps = ["//lldb:Core"],
+ deps = [
+ ":PluginExpressionParserClangHeaders",
+ "//lldb:Core",
+ "//lldb:Headers",
+ "//lldb:SymbolHeaders",
+ "//lldb:TargetHeaders",
+ "//lldb:UtilityHeaders",
+ "//llvm:DebugInfoPDB",
+ "//llvm:Support",
+ ],
)
gentbl_cc_library(
@@ -907,7 +939,13 @@ cc_library(
deps = [
":PluginExpressionParserClangHeaders",
":PluginHighlighterClang",
+ "//clang:lex",
"//lldb:CoreHeaders",
+ "//lldb:DataFormatters",
+ "//lldb:Headers",
+ "//lldb:TargetHeaders",
+ "//lldb:UtilityHeaders",
+ "//llvm:Support",
],
)
@@ -1177,6 +1215,7 @@ cc_library(
cc_library(
name = "PluginDynamicLoaderPosixDYLDHeaders",
hdrs = glob(["DynamicLoader/POSIX-DYLD/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = [".."],
)
@@ -1301,6 +1340,7 @@ gentbl_cc_library(
cc_library(
name = "PluginDynamicLoaderDarwinKernelHeaders",
hdrs = glob(["DynamicLoader/Darwin-Kernel/*.h"]),
+ features = ["-parse_headers"], # Would otherwise have circular dependencies
includes = [".."],
)
More information about the llvm-commits
mailing list