xref: /llvm-project/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel (revision b64095c795ad0fd264bddd63b834bca431673f04)
1# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
2# See https://llvm.org/LICENSE.txt for license information.
3# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4load("@bazel_skylib//rules:expand_template.bzl", "expand_template")
5load("//mlir:tblgen.bzl", "gentbl_cc_library")
6load(":plugin_config.bzl", "DEFAULT_PLUGINS", "DEFAULT_SCRIPT_PLUGINS", "OBJCPP_COPTS")
7
8package(
9    default_visibility = ["//visibility:public"],
10    features = ["layering_check"],
11)
12
13licenses(["notice"])
14
15cc_library(
16    name = "PluginClangCommon",
17    srcs = glob(["Language/ClangCommon/*.cpp"]),
18    hdrs = glob(["Language/ClangCommon/*.h"]),
19    include_prefix = "Plugins",
20    deps = [
21        "//clang:basic",
22        "//clang:lex",
23        "//lldb:CoreHeaders",
24        "//lldb:Host",
25        "//lldb:TargetHeaders",
26        "//lldb:Utility",
27        "//llvm:Support",
28    ],
29)
30
31cc_library(
32    name = "PluginObjCLanguageHeaders",
33    hdrs = glob(["Language/ObjC/*.h"]),
34    include_prefix = "Plugins",
35    deps = [
36        ":PluginClangCommon",
37        ":PluginExpressionParserClangHeaders",
38        "//lldb:CoreHeaders",
39    ],
40)
41
42cc_library(
43    name = "PluginObjCLanguage",
44    srcs = glob(["Language/ObjC/*.cpp"]),
45    include_prefix = "Plugins",
46    deps = [
47        ":PluginAppleObjCRuntime",
48        ":PluginExpressionParserClangHeaders",
49        ":PluginObjCLanguageHeaders",
50        ":PluginObjCRuntime",
51        ":PluginTypeSystemClangHeaders",
52        "//clang:ast",
53        "//clang:basic",
54        "//lldb:CoreHeaders",
55        "//lldb:DataFormattersHeaders",
56        "//lldb:ExpressionHeaders",
57        "//lldb:Host",
58        "//lldb:SymbolHeaders",
59        "//lldb:TargetHeaders",
60        "//lldb:Utility",
61        "//llvm:Support",
62    ],
63)
64
65cc_library(
66    name = "PluginTypeSystemClangHeaders",
67    hdrs = glob(["TypeSystem/Clang/*.h"]),
68    include_prefix = "Plugins",
69    deps = [
70        ":PluginExpressionParserClangHeaders",
71        "//clang:frontend",
72        "//lldb:CoreHeaders",
73    ],
74)
75
76cc_library(
77    name = "PluginCPPRuntime",
78    srcs = glob(["LanguageRuntime/CPlusPlus/*.cpp"]),
79    hdrs = glob(["LanguageRuntime/CPlusPlus/*.h"]),
80    include_prefix = "Plugins",
81    deps = [
82        "//lldb:CoreHeaders",
83        "//lldb:Headers",
84        "//lldb:SymbolHeaders",
85        "//lldb:TargetHeaders",
86        "//lldb:Utility",
87        "//llvm:Support",
88    ],
89)
90
91cc_library(
92    name = "PluginObjCRuntime",
93    srcs = glob(["LanguageRuntime/ObjC/*.cpp"]),
94    hdrs = glob(["LanguageRuntime/ObjC/*.h"]),
95    include_prefix = "Plugins",
96    deps = [
97        ":PluginTypeSystemClangHeaders",
98        "//clang:ast",
99        "//lldb:BreakpointHeaders",
100        "//lldb:CoreHeaders",
101        "//lldb:Headers",
102        "//lldb:SymbolHeaders",
103        "//lldb:TargetHeaders",
104        "//lldb:Utility",
105        "//llvm:Support",
106    ],
107)
108
109cc_library(
110    name = "PluginAppleObjCRuntime",
111    srcs = glob(["LanguageRuntime/ObjC/AppleObjCRuntime/*.cpp"]),
112    hdrs = glob(["LanguageRuntime/ObjC/AppleObjCRuntime/*.h"]),
113    include_prefix = "Plugins",
114    deps = [
115        ":PluginCPPRuntime",
116        ":PluginExpressionParserClangHeaders",
117        ":PluginObjCLanguageHeaders",
118        ":PluginObjCRuntime",
119        ":PluginProcessUtility",
120        ":PluginTypeSystemClangHeaders",
121        "//clang:ast",
122        "//clang:basic",
123        "//lldb:BreakpointHeaders",
124        "//lldb:CoreHeaders",
125        "//lldb:DataFormattersHeaders",
126        "//lldb:ExpressionHeaders",
127        "//lldb:Headers",
128        "//lldb:Host",
129        "//lldb:InterpreterHeaders",
130        "//lldb:SymbolHeaders",
131        "//lldb:TargetHeaders",
132        "//lldb:Utility",
133        "//llvm:Support",
134    ],
135)
136
137cc_library(
138    name = "PluginTypeSystemClang",
139    srcs = glob(["TypeSystem/Clang/*.cpp"]),
140    deps = [
141        ":PluginExpressionParserClangHeaders",
142        ":PluginObjCRuntime",
143        ":PluginSymbolFileDWARF",
144        ":PluginSymbolFileDWARFHeaders",
145        ":PluginSymbolFileNativePDBHeaders",
146        ":PluginSymbolFilePDBHeaders",
147        ":PluginTypeSystemClangHeaders",
148        "//clang:ast",
149        "//clang:basic",
150        "//clang:frontend",
151        "//clang:lex",
152        "//clang:sema",
153        "//lldb:CoreHeaders",
154        "//lldb:Host",
155        "//lldb:SymbolHeaders",
156        "//lldb:TargetHeaders",
157        "//lldb:Utility",
158        "//llvm:Support",
159    ],
160)
161
162cc_library(
163    name = "PluginExpressionParserClangHeaders",
164    hdrs = glob(["ExpressionParser/Clang/*.h"]),
165    include_prefix = "Plugins",
166    deps = [
167        "//lldb:CoreHeaders",
168        "//lldb:DataFormattersHeaders",
169    ],
170)
171
172cc_library(
173    name = "PluginExpressionParserClang",
174    srcs = glob(["ExpressionParser/Clang/*.cpp"]),
175    include_prefix = "Plugins",
176    deps = [
177        ":PluginCPPRuntime",
178        ":PluginCPlusPlusLanguageHeaders",
179        ":PluginExpressionParserClangHeaders",
180        ":PluginObjCRuntime",
181        ":PluginPlatformMacOSX",
182        ":PluginTypeSystemClang",
183        ":PluginTypeSystemClangHeaders",
184        "//clang:ast",
185        "//clang:basic",
186        "//clang:codegen",
187        "//clang:config",
188        "//clang:driver",
189        "//clang:edit",
190        "//clang:frontend",
191        "//clang:frontend_rewrite",
192        "//clang:lex",
193        "//clang:parse",
194        "//clang:rewrite",
195        "//clang:sema",
196        "//clang:serialization",
197        "//lldb:Core",
198        "//lldb:DataFormatters",
199        "//lldb:ExpressionHeaders",
200        "//lldb:Headers",
201        "//lldb:Host",
202        "//lldb:InterpreterHeaders",
203        "//lldb:SymbolHeaders",
204        "//lldb:TargetHeaders",
205        "//lldb:Utility",
206        "//llvm:BinaryFormat",
207        "//llvm:Core",
208        "//llvm:ExecutionEngine",
209        "//llvm:IPO",
210        "//llvm:Support",
211        "//llvm:TargetParser",
212    ],
213)
214
215gentbl_cc_library(
216    name = "PlatformMacOSXProperties",
217    strip_include_prefix = "Platform/MacOSX",
218    tbl_outs = [
219        (
220            ["-gen-lldb-property-defs"],
221            "Platform/MacOSX/PlatformMacOSXProperties.inc",
222        ),
223        (
224            ["-gen-lldb-property-enum-defs"],
225            "Platform/MacOSX/PlatformMacOSXPropertiesEnum.inc",
226        ),
227    ],
228    tblgen = "//lldb:lldb-tblgen",
229    td_file = "Platform/MacOSX/PlatformMacOSXProperties.td",
230    deps = ["//lldb:CoreTdFiles"],
231)
232
233cc_library(
234    name = "PluginPlatformMacOSXObjCXXHeaders",
235    hdrs = glob(["Platform/MacOSX/objcxx/*.h"]),
236    include_prefix = "Plugins",
237    tags = ["nobuildkite"],
238    target_compatible_with = select({
239        "@platforms//os:macos": [],
240        "//conditions:default": ["@platforms//:incompatible"],
241    }),
242    deps = ["//lldb:Host"],
243)
244
245objc_library(
246    name = "PluginPlatformMacOSXObjCXX",
247    srcs = glob(["Platform/MacOSX/objcxx/*.mm"]),
248    copts = OBJCPP_COPTS,
249    tags = ["nobuildkite"],
250    target_compatible_with = select({
251        "@platforms//os:macos": [],
252        "//conditions:default": ["@platforms//:incompatible"],
253    }),
254    deps = [
255        ":PluginPlatformMacOSXObjCXXHeaders",
256        "//lldb:Host",
257        "//lldb:HostMacOSXPrivateHeaders",
258        "//llvm:Support",
259    ],
260)
261
262cc_library(
263    name = "PluginPlatformMacOSX",
264    srcs = glob(
265               ["Platform/MacOSX/*.cpp"],
266               exclude = ["Platform/MacOSX/PlatformAppleSimulator.cpp"],
267           ) +
268           select({
269               "@platforms//os:macos": ["Platform/MacOSX/PlatformAppleSimulator.cpp"],
270               "//conditions:default": [],
271           }),
272    hdrs = glob(["Platform/MacOSX/*.h"]),
273    include_prefix = "Plugins",
274    tags = ["nobuildkite"],
275    deps = [
276        ":PlatformMacOSXProperties",
277        ":PluginDynamicLoaderDarwinKernelHeaders",
278        ":PluginObjectContainerMachOFileset",
279        ":PluginPlatformPOSIX",
280        "//clang:driver_options_inc_gen",
281        "//lldb:BreakpointHeaders",
282        "//lldb:Core",
283        "//lldb:Headers",
284        "//lldb:Host",
285        "//lldb:InterpreterHeaders",
286        "//lldb:SymbolHeaders",
287        "//lldb:TargetHeaders",
288        "//lldb:Utility",
289        "//llvm:Support",
290        "//llvm:TargetParser",
291    ] + select({
292        "@platforms//os:macos": [
293            ":PluginPlatformMacOSXObjCXX",
294            ":PluginPlatformMacOSXObjCXXHeaders",
295            "//lldb:HostMacOSXPrivateHeaders",
296        ],
297        "//conditions:default": [],
298    }),
299)
300
301gentbl_cc_library(
302    name = "SymbolFileDWARFProperties",
303    strip_include_prefix = "SymbolFile/DWARF",
304    tbl_outs = [
305        (
306            ["-gen-lldb-property-defs"],
307            "SymbolFile/DWARF/SymbolFileDWARFProperties.inc",
308        ),
309        (
310            ["-gen-lldb-property-enum-defs"],
311            "SymbolFile/DWARF/SymbolFileDWARFPropertiesEnum.inc",
312        ),
313    ],
314    tblgen = "//lldb:lldb-tblgen",
315    td_file = "SymbolFile/DWARF/SymbolFileDWARFProperties.td",
316    deps = ["//lldb:CoreTdFiles"],
317)
318
319cc_library(
320    name = "PluginSymbolFileDWARFHeaders",
321    hdrs = glob(["SymbolFile/DWARF/*.h"]),
322    include_prefix = "Plugins",
323    deps = [
324        ":PluginTypeSystemClangHeaders",
325        "//lldb:Core",
326    ],
327)
328
329cc_library(
330    name = "PluginSymbolFileDWARF",
331    srcs = glob(["SymbolFile/DWARF/*.cpp"]),
332    deps = [
333        ":PluginCPlusPlusLanguageHeaders",
334        ":PluginExpressionParserClangHeaders",
335        ":PluginObjCLanguageHeaders",
336        ":PluginSymbolFileDWARFHeaders",
337        ":PluginTypeSystemClangHeaders",
338        ":SymbolFileDWARFProperties",
339        "//clang:ast",
340        "//clang:basic",
341        "//lldb:Core",
342        "//lldb:ExpressionHeaders",
343        "//lldb:Headers",
344        "//lldb:Host",
345        "//lldb:InterpreterHeaders",
346        "//lldb:SymbolHeaders",
347        "//lldb:TargetHeaders",
348        "//lldb:Utility",
349        "//llvm:BinaryFormat",
350        "//llvm:DebugInfoDWARF",
351        "//llvm:Demangle",
352        "//llvm:Object",
353        "//llvm:Support",
354    ],
355)
356
357cc_library(
358    name = "PluginProcessUtility",
359    srcs = glob(["Process/Utility/*.cpp"]),
360    hdrs = glob(["Process/Utility/*.h"]),
361    include_prefix = "Plugins",
362    deps = [
363        "//lldb:BreakpointHeaders",
364        "//lldb:Core",
365        "//lldb:ExpressionHeaders",
366        "//lldb:Headers",
367        "//lldb:Host",
368        "//lldb:SymbolHeaders",
369        "//lldb:TargetHeaders",
370        "//lldb:Utility",
371        "//lldb:UtilityPrivateHeaders",
372        "//llvm:Support",
373        "//llvm:TargetParser",
374    ],
375)
376
377cc_library(
378    name = "PluginObjectFilePDB",
379    srcs = glob(["ObjectFile/PDB/*.cpp"]),
380    hdrs = glob(["ObjectFile/PDB/*.h"]),
381    include_prefix = "Plugins",
382    deps = [
383        "//lldb:Core",
384        "//lldb:SymbolHeaders",
385        "//lldb:Utility",
386        "//llvm:BinaryFormat",
387        "//llvm:DebugInfoPDB",
388        "//llvm:Support",
389    ],
390)
391
392cc_library(
393    name = "PluginSymbolFileNativePDBHeaders",
394    hdrs = glob(["SymbolFile/NativePDB/*.h"]),
395    include_prefix = "Plugins",
396    deps = ["//lldb:Core"],
397)
398
399cc_library(
400    name = "PluginSymbolFileNativePDB",
401    srcs = glob(["SymbolFile/NativePDB/*.cpp"]),
402    deps = [
403        ":PluginCPlusPlusLanguageHeaders",
404        ":PluginExpressionParserClangHeaders",
405        ":PluginObjectFilePDB",
406        ":PluginProcessUtility",
407        ":PluginSymbolFileNativePDBHeaders",
408        ":PluginSymbolFilePDBHeaders",
409        ":PluginTypeSystemClangHeaders",
410        "//lldb:Core",
411        "//lldb:ExpressionHeaders",
412        "//lldb:Headers",
413        "//lldb:SymbolHeaders",
414        "//lldb:Utility",
415        "//llvm:BinaryFormat",
416        "//llvm:DebugInfoCodeView",
417        "//llvm:DebugInfoMSF",
418        "//llvm:DebugInfoPDB",
419        "//llvm:Demangle",
420        "//llvm:Object",
421        "//llvm:Support",
422    ],
423)
424
425cc_library(
426    name = "PluginSymbolFilePDBHeaders",
427    hdrs = glob(["SymbolFile/PDB/*.h"]),
428    include_prefix = "Plugins",
429    deps = ["//lldb:Core"],
430)
431
432cc_library(
433    name = "PluginSymbolFilePDB",
434    srcs = glob(["SymbolFile/PDB/*.cpp"]),
435    deps = [
436        ":PluginCPlusPlusLanguageHeaders",
437        ":PluginExpressionParserClangHeaders",
438        ":PluginSymbolFileNativePDB",
439        ":PluginSymbolFileNativePDBHeaders",
440        ":PluginSymbolFilePDBHeaders",
441        ":PluginTypeSystemClangHeaders",
442        "//clang:ast",
443        "//clang:lex",
444        "//lldb:Core",
445        "//lldb:ExpressionHeaders",
446        "//lldb:SymbolHeaders",
447        "//lldb:Utility",
448        "//llvm:DebugInfoCodeView",
449        "//llvm:DebugInfoPDB",
450        "//llvm:config",
451    ],
452)
453
454gentbl_cc_library(
455    name = "ProcessGDBRemoteProperties",
456    strip_include_prefix = "Process/gdb-remote",
457    tbl_outs = [
458        (
459            ["-gen-lldb-property-defs"],
460            "Process/gdb-remote/ProcessGDBRemoteProperties.inc",
461        ),
462        (
463            ["-gen-lldb-property-enum-defs"],
464            "Process/gdb-remote/ProcessGDBRemotePropertiesEnum.inc",
465        ),
466    ],
467    tblgen = "//lldb:lldb-tblgen",
468    td_file = "Process/gdb-remote/ProcessGDBRemoteProperties.td",
469    deps = ["//lldb:CoreTdFiles"],
470)
471
472cc_library(
473    name = "PluginProcessGDBRemote",
474    srcs = glob(["Process/gdb-remote/*.cpp"]),
475    hdrs = glob(["Process/gdb-remote/*.h"]) + [
476        "Process/gdb-remote/GDBRemoteErrno.def",
477    ],
478    include_prefix = "Plugins",
479    deps = [
480        ":PluginProcessUtility",
481        ":ProcessGDBRemoteProperties",
482        "//lldb:BreakpointHeaders",
483        "//lldb:CoreHeaders",
484        "//lldb:DataFormattersHeaders",
485        "//lldb:Headers",
486        "//lldb:Host",
487        "//lldb:InterpreterHeaders",
488        "//lldb:SymbolHeaders",
489        "//lldb:Target",
490        "//lldb:TargetHeaders",
491        "//lldb:Utility",
492        "//lldb:UtilityPrivateHeaders",
493        "//llvm:Support",
494        "//llvm:TargetParser",
495        "//llvm:config",
496        "@llvm_zlib//:zlib",
497    ],
498)
499
500cc_library(
501    name = "PluginObjectContainerMachOArchive",
502    srcs = glob(["ObjectContainer/Universal-Mach-O/*.cpp"]),
503    hdrs = glob(["ObjectContainer/Universal-Mach-O/*.h"]),
504    include_prefix = "Plugins",
505    deps = [
506        "//lldb:Core",
507        "//lldb:Host",
508        "//lldb:Symbol",
509        "//lldb:SymbolHeaders",
510        "//lldb:Target",
511        "//lldb:TargetHeaders",
512        "//lldb:Utility",
513    ],
514)
515
516cc_library(
517    name = "PluginObjectContainerBSDArchive",
518    srcs = glob(["ObjectContainer/BSD-Archive/*.cpp"]),
519    hdrs = glob(["ObjectContainer/BSD-Archive/*.h"]),
520    include_prefix = "Plugins",
521    deps = [
522        "//lldb:Core",
523        "//lldb:Host",
524        "//lldb:Symbol",
525        "//lldb:SymbolHeaders",
526        "//lldb:Utility",
527        "//llvm:Object",
528        "//llvm:Support",
529    ],
530)
531
532cc_library(
533    name = "PluginObjectContainerMachOFileset",
534    srcs = glob(["ObjectContainer/Mach-O-Fileset/*.cpp"]),
535    hdrs = glob(["ObjectContainer/Mach-O-Fileset/*.h"]),
536    include_prefix = "Plugins",
537    deps = [
538        "//lldb:Core",
539        "//lldb:Host",
540        "//lldb:Symbol",
541        "//lldb:SymbolHeaders",
542        "//lldb:Target",
543        "//lldb:TargetHeaders",
544        "//lldb:Utility",
545    ],
546)
547
548gentbl_cc_library(
549    name = "StructuredDataDarwinLogProperties",
550    strip_include_prefix = "StructuredData/DarwinLog",
551    tbl_outs = [
552        (
553            ["-gen-lldb-property-defs"],
554            "StructuredData/DarwinLog/StructuredDataDarwinLogProperties.inc",
555        ),
556        (
557            ["-gen-lldb-property-enum-defs"],
558            "StructuredData/DarwinLog/StructuredDataDarwinLogPropertiesEnum.inc",
559        ),
560    ],
561    tblgen = "//lldb:lldb-tblgen",
562    td_file = "StructuredData/DarwinLog/StructuredDataDarwinLogProperties.td",
563    deps = ["//lldb:CoreTdFiles"],
564)
565
566cc_library(
567    name = "PluginStructuredDataDarwinLog",
568    srcs = glob(["StructuredData/DarwinLog/*.cpp"]),
569    hdrs = glob(["StructuredData/DarwinLog/*.h"]),
570    include_prefix = "Plugins",
571    deps = [
572        ":StructuredDataDarwinLogProperties",
573        "//lldb:Breakpoint",
574        "//lldb:Core",
575        "//lldb:Host",
576        "//lldb:InterpreterHeaders",
577        "//lldb:Target",
578        "//lldb:TargetHeaders",
579        "//lldb:Utility",
580        "//llvm:Support",
581    ],
582)
583
584cc_library(
585    name = "PluginTraceCommon",
586    srcs = glob(["Trace/common/*.cpp"]),
587    hdrs = glob(["Trace/common/*.h"]),
588    include_prefix = "Plugins",
589    deps = [
590        ":PluginProcessUtility",
591        "//lldb:Core",
592        "//lldb:Target",
593        "//lldb:TargetHeaders",
594    ],
595)
596
597cc_library(
598    name = "PluginPlatformPOSIX",
599    srcs = glob(["Platform/POSIX/*.cpp"]),
600    hdrs = glob(["Platform/POSIX/*.h"]),
601    include_prefix = "Plugins",
602    deps = [
603        ":PluginPlatformGDB",
604        ":PluginTypeSystemClang",
605        ":PluginTypeSystemClangHeaders",
606        "//lldb:Core",
607        "//lldb:Expression",
608        "//lldb:Host",
609        "//lldb:InterpreterHeaders",
610        "//lldb:Target",
611        "//lldb:TargetHeaders",
612        "//lldb:Utility",
613        "//llvm:Support",
614    ],
615)
616
617gentbl_cc_library(
618    name = "PlatformQemuUserProperties",
619    strip_include_prefix = "Platform/QemuUser",
620    tbl_outs = [
621        (
622            ["-gen-lldb-property-defs"],
623            "Platform/QemuUser/PlatformQemuUserProperties.inc",
624        ),
625        (
626            ["-gen-lldb-property-enum-defs"],
627            "Platform/QemuUser/PlatformQemuUserPropertiesEnum.inc",
628        ),
629    ],
630    tblgen = "//lldb:lldb-tblgen",
631    td_file = "Platform/QemuUser/PlatformQemuUserProperties.td",
632    deps = ["//lldb:CoreTdFiles"],
633)
634
635cc_library(
636    name = "PluginPlatformQemuUser",
637    srcs = glob(["Platform/QemuUser/*.cpp"]),
638    hdrs = glob(["Platform/QemuUser/*.h"]),
639    include_prefix = "Plugins",
640    deps = [
641        ":PlatformQemuUserProperties",
642        ":PluginProcessGDBRemote",
643        "//lldb:CoreHeaders",
644        "//lldb:Host",
645        "//lldb:InterpreterHeaders",
646        "//lldb:Target",
647        "//lldb:TargetHeaders",
648        "//lldb:Utility",
649    ],
650)
651
652cc_library(
653    name = "PluginPlatformGDB",
654    srcs = glob(["Platform/gdb-server/*.cpp"]),
655    hdrs = glob(["Platform/gdb-server/*.h"]),
656    include_prefix = "Plugins",
657    deps = [
658        ":PluginProcessGDBRemote",
659        ":PluginProcessUtility",
660        "//lldb:Breakpoint",
661        "//lldb:Core",
662        "//lldb:Host",
663        "//lldb:Target",
664        "//lldb:TargetHeaders",
665        "//lldb:Utility",
666        "//llvm:Support",
667    ],
668)
669
670cc_library(
671    name = "PluginPlatformLinux",
672    srcs = glob(["Platform/Linux/*.cpp"]),
673    hdrs = glob(["Platform/Linux/*.h"]),
674    include_prefix = "Plugins",
675    deps = [
676        ":PluginPlatformPOSIX",
677        ":PluginTypeSystemClangHeaders",
678        "//lldb:Breakpoint",
679        "//lldb:Core",
680        "//lldb:Host",
681        "//lldb:InterpreterHeaders",
682        "//lldb:SymbolHeaders",
683        "//lldb:Target",
684        "//lldb:TargetHeaders",
685        "//lldb:Utility",
686        "//lldb:UtilityPrivateHeaders",
687    ],
688)
689
690gentbl_cc_library(
691    name = "PlatformAndroidProperties",
692    strip_include_prefix = "Platform/Android",
693    tbl_outs = [
694        (
695            ["-gen-lldb-property-defs"],
696            "Platform/Android/PlatformAndroidProperties.inc",
697        ),
698        (
699            ["-gen-lldb-property-enum-defs"],
700            "Platform/Android/PlatformAndroidPropertiesEnum.inc",
701        ),
702    ],
703    tblgen = "//lldb:lldb-tblgen",
704    td_file = "Platform/Android/PlatformAndroidProperties.td",
705    deps = ["//lldb:CoreTdFiles"],
706)
707
708cc_library(
709    name = "PluginPlatformAndroid",
710    srcs = glob(["Platform/Android/*.cpp"]),
711    hdrs = glob(["Platform/Android/*.h"]),
712    include_prefix = "Plugins",
713    deps = [
714        ":PlatformAndroidProperties",
715        ":PluginPlatformGDB",
716        ":PluginPlatformLinux",
717        ":PluginPlatformPOSIX",
718        "//lldb:Core",
719        "//lldb:Host",
720        "//lldb:TargetHeaders",
721        "//lldb:Utility",
722        "//llvm:Support",
723    ],
724)
725
726cc_library(
727    name = "PluginPlatformWindows",
728    srcs = glob(["Platform/Windows/*.cpp"]),
729    hdrs = glob(["Platform/Windows/*.h"]),
730    include_prefix = "Plugins",
731    deps = [
732        ":PluginPlatformGDB",
733        ":PluginTypeSystemClangHeaders",
734        "//lldb:Breakpoint",
735        "//lldb:Core",
736        "//lldb:ExpressionHeaders",
737        "//lldb:Host",
738        "//lldb:Target",
739        "//lldb:TargetHeaders",
740        "//lldb:Utility",
741        "//llvm:Support",
742    ],
743)
744
745cc_library(
746    name = "PluginMemoryHistoryASan",
747    srcs = glob(["MemoryHistory/asan/*.cpp"]),
748    hdrs = glob(["MemoryHistory/asan/*.h"]),
749    include_prefix = "Plugins",
750    deps = [
751        ":PluginProcessUtility",
752        "//lldb:Core",
753        "//lldb:Expression",
754        "//lldb:Headers",
755        "//lldb:Target",
756        "//lldb:TargetHeaders",
757    ],
758)
759
760cc_library(
761    name = "PluginClangREPL",
762    srcs = glob(["REPL/Clang/*.cpp"]),
763    hdrs = glob(["REPL/Clang/*.h"]),
764    include_prefix = "Plugins",
765    deps = [
766        ":PluginCPPRuntime",
767        ":PluginClangCommon",
768        ":PluginTypeSystemClang",
769        "//lldb:Core",
770        "//lldb:DataFormatters",
771        "//lldb:ExpressionHeaders",
772        "//lldb:Host",
773        "//lldb:Symbol",
774        "//lldb:Target",
775        "//lldb:Utility",
776    ],
777)
778
779cc_library(
780    name = "PluginSymbolVendorWasm",
781    srcs = glob(["SymbolVendor/wasm/*.cpp"]),
782    hdrs = glob(["SymbolVendor/wasm/*.h"]),
783    include_prefix = "Plugins",
784    deps = [
785        ":PluginObjectFileWasm",
786        "//lldb:Core",
787        "//lldb:Headers",
788        "//lldb:Host",
789        "//lldb:Symbol",
790        "//lldb:SymbolHeaders",
791        "//lldb:TargetHeaders",
792        "//lldb:Utility",
793    ],
794)
795
796cc_library(
797    name = "PluginSymbolVendorMacOSX",
798    srcs = glob(["SymbolVendor/MacOSX/*.cpp"]),
799    hdrs = glob(["SymbolVendor/MacOSX/*.h"]),
800    include_prefix = "Plugins",
801    deps = [
802        ":PluginObjectFileMachO",
803        "//lldb:Core",
804        "//lldb:Headers",
805        "//lldb:Host",
806        "//lldb:Symbol",
807        "//lldb:SymbolHeaders",
808        "//lldb:TargetHeaders",
809        "//lldb:Utility",
810    ],
811)
812
813cc_library(
814    name = "PluginSymbolVendorPECOFF",
815    srcs = glob(["SymbolVendor/PECOFF/*.cpp"]),
816    hdrs = glob(["SymbolVendor/PECOFF/*.h"]),
817    include_prefix = "Plugins",
818    deps = [
819        ":PluginObjectFilePECOFF",
820        "//lldb:Core",
821        "//lldb:Headers",
822        "//lldb:Host",
823        "//lldb:Symbol",
824        "//lldb:SymbolHeaders",
825        "//lldb:TargetHeaders",
826        "//lldb:Utility",
827    ],
828)
829
830cc_library(
831    name = "PluginSymbolVendorELF",
832    srcs = glob(["SymbolVendor/ELF/*.cpp"]),
833    hdrs = glob(["SymbolVendor/ELF/*.h"]),
834    include_prefix = "Plugins",
835    deps = [
836        ":PluginObjectFileELF",
837        "//lldb:Core",
838        "//lldb:Headers",
839        "//lldb:Host",
840        "//lldb:Symbol",
841        "//lldb:SymbolHeaders",
842        "//lldb:TargetHeaders",
843        "//lldb:Utility",
844    ],
845)
846
847cc_library(
848    name = "PluginObjCPlusPlusLanguage",
849    srcs = glob(["Language/ObjCPlusPlus/*.cpp"]),
850    hdrs = glob(["Language/ObjCPlusPlus/*.h"]),
851    include_prefix = "Plugins",
852    deps = [
853        ":PluginClangCommon",
854        "//lldb:Core",
855        "//lldb:Headers",
856        "//lldb:Target",
857        "//lldb:TargetHeaders",
858        "//lldb:Utility",
859    ],
860)
861
862cc_library(
863    name = "PluginCPlusPlusLanguageHeaders",
864    hdrs = glob(["Language/CPlusPlus/*.h"]),
865    include_prefix = "Plugins",
866    deps = [
867        ":PluginClangCommon",
868        ":PluginExpressionParserClangHeaders",
869        "//lldb:CoreHeaders",
870    ],
871)
872
873cc_library(
874    name = "PluginCPlusPlusLanguage",
875    srcs = glob(["Language/CPlusPlus/*.cpp"]),
876    include_prefix = "Plugins",
877    deps = [
878        ":PluginCPPRuntime",
879        ":PluginCPlusPlusLanguageHeaders",
880        ":PluginClangCommon",
881        ":PluginExpressionParserClangHeaders",
882        ":PluginTypeSystemClang",
883        ":PluginTypeSystemClangHeaders",
884        "//clang:basic",
885        "//lldb:Core",
886        "//lldb:DataFormatters",
887        "//lldb:Headers",
888        "//lldb:Host",
889        "//lldb:Symbol",
890        "//lldb:SymbolHeaders",
891        "//lldb:Target",
892        "//lldb:TargetHeaders",
893        "//lldb:Utility",
894        "//llvm:Demangle",
895        "//llvm:Support",
896    ],
897)
898
899gentbl_cc_library(
900    name = "TraceExporterCTFOptions",
901    strip_include_prefix = "TraceExporter/ctf",
902    tbl_outs = [(
903        ["-gen-lldb-option-defs"],
904        "TraceExporter/ctf/TraceExporterCTFCommandOptions.inc",
905    )],
906    tblgen = "//lldb:lldb-tblgen",
907    td_file = "TraceExporter/ctf/TraceExporterCTFOptions.td",
908    deps = [
909        "//lldb:CommandsTdFiles",
910        "//lldb:CoreTdFiles",
911    ],
912)
913
914cc_library(
915    name = "PluginTraceExporterCTF",
916    srcs = glob(["TraceExporter/ctf/*.cpp"]),
917    hdrs = glob(["TraceExporter/ctf/*.h"]),
918    include_prefix = "Plugins",
919    deps = [
920        ":PluginTraceExporterCommon",
921        ":TraceExporterCTFOptions",
922        "//lldb:Core",
923        "//lldb:Host",
924        "//lldb:InterpreterHeaders",
925        "//lldb:Symbol",
926        "//lldb:Target",
927        "//lldb:TargetHeaders",
928    ],
929)
930
931cc_library(
932    name = "PluginTraceExporterCommon",
933    srcs = glob(["TraceExporter/common/*.cpp"]),
934    hdrs = glob(["TraceExporter/common/*.h"]),
935    include_prefix = "Plugins",
936    deps = [
937        "//lldb:Core",
938        "//lldb:SymbolHeaders",
939        "//lldb:Target",
940        "//lldb:TargetHeaders",
941        "//llvm:Support",
942    ],
943)
944
945cc_library(
946    name = "PluginABIPowerPC",
947    srcs = glob(["ABI/PowerPC/*.cpp"]),
948    hdrs = glob(["ABI/PowerPC/*.h"]),
949    include_prefix = "Plugins",
950    deps = [
951        ":PluginProcessUtility",
952        ":PluginTypeSystemClang",
953        ":PluginTypeSystemClangHeaders",
954        "//clang:ast",
955        "//lldb:Core",
956        "//lldb:Headers",
957        "//lldb:Symbol",
958        "//lldb:SymbolHeaders",
959        "//lldb:Target",
960        "//lldb:TargetHeaders",
961        "//lldb:Utility",
962        "//lldb:UtilityPrivateHeaders",
963        "//llvm:Support",
964        "//llvm:TargetParser",
965    ],
966)
967
968cc_library(
969    name = "PluginABIHexagon",
970    srcs = glob(["ABI/Hexagon/*.cpp"]),
971    hdrs = glob(["ABI/Hexagon/*.h"]),
972    include_prefix = "Plugins",
973    deps = [
974        "//lldb:Core",
975        "//lldb:Headers",
976        "//lldb:Symbol",
977        "//lldb:SymbolHeaders",
978        "//lldb:Target",
979        "//lldb:TargetHeaders",
980        "//lldb:Utility",
981        "//llvm:Core",
982        "//llvm:TargetParser",
983    ],
984)
985
986cc_library(
987    name = "PluginABIMips",
988    srcs = glob(["ABI/Mips/*.cpp"]),
989    hdrs = glob(["ABI/Mips/*.h"]),
990    include_prefix = "Plugins",
991    deps = [
992        "//lldb:Core",
993        "//lldb:Headers",
994        "//lldb:Symbol",
995        "//lldb:SymbolHeaders",
996        "//lldb:Target",
997        "//lldb:TargetHeaders",
998        "//lldb:Utility",
999        "//llvm:Support",
1000        "//llvm:TargetParser",
1001    ],
1002)
1003
1004cc_library(
1005    name = "PluginABIMSP430",
1006    srcs = glob(["ABI/MSP430/*.cpp"]),
1007    hdrs = glob(["ABI/MSP430/*.h"]),
1008    include_prefix = "Plugins",
1009    deps = [
1010        "//lldb:Core",
1011        "//lldb:Headers",
1012        "//lldb:Symbol",
1013        "//lldb:SymbolHeaders",
1014        "//lldb:Target",
1015        "//lldb:TargetHeaders",
1016        "//lldb:Utility",
1017        "//llvm:Core",
1018        "//llvm:TargetParser",
1019    ],
1020)
1021
1022cc_library(
1023    name = "PluginABIX86",
1024    srcs = glob(["ABI/X86/*.cpp"]),
1025    hdrs = glob(["ABI/X86/*.h"]),
1026    include_prefix = "Plugins",
1027    deps = [
1028        "//lldb:Core",
1029        "//lldb:Headers",
1030        "//lldb:Symbol",
1031        "//lldb:SymbolHeaders",
1032        "//lldb:Target",
1033        "//lldb:TargetHeaders",
1034        "//lldb:Utility",
1035        "//llvm:Support",
1036        "//llvm:TargetParser",
1037    ],
1038)
1039
1040cc_library(
1041    name = "PluginABIARM",
1042    srcs = glob(["ABI/ARM/*.cpp"]),
1043    hdrs = glob(["ABI/ARM/*.h"]),
1044    include_prefix = "Plugins",
1045    deps = [
1046        ":PluginProcessUtility",
1047        "//lldb:Core",
1048        "//lldb:Headers",
1049        "//lldb:Symbol",
1050        "//lldb:SymbolHeaders",
1051        "//lldb:Target",
1052        "//lldb:TargetHeaders",
1053        "//lldb:Utility",
1054        "//lldb:UtilityPrivateHeaders",
1055        "//llvm:Support",
1056        "//llvm:TargetParser",
1057    ],
1058)
1059
1060cc_library(
1061    name = "PluginABIARC",
1062    srcs = glob(["ABI/ARC/*.cpp"]),
1063    hdrs = glob(["ABI/ARC/*.h"]),
1064    include_prefix = "Plugins",
1065    deps = [
1066        ":PluginProcessUtility",
1067        "//lldb:Core",
1068        "//lldb:Headers",
1069        "//lldb:Symbol",
1070        "//lldb:SymbolHeaders",
1071        "//lldb:Target",
1072        "//lldb:TargetHeaders",
1073        "//lldb:Utility",
1074        "//llvm:Core",
1075        "//llvm:Support",
1076        "//llvm:TargetParser",
1077    ],
1078)
1079
1080cc_library(
1081    name = "PluginABIRISCV",
1082    srcs = glob(["ABI/RISCV/*.cpp"]),
1083    hdrs = glob(["ABI/RISCV/*.h"]),
1084    include_prefix = "Plugins",
1085    deps = [
1086        ":PluginProcessUtility",
1087        "//lldb:Core",
1088        "//lldb:Headers",
1089        "//lldb:Symbol",
1090        "//lldb:Target",
1091        "//lldb:TargetHeaders",
1092        "//lldb:Utility",
1093        "//lldb:UtilityPrivateHeaders",
1094        "//llvm:Core",
1095        "//llvm:Support",
1096        "//llvm:TargetParser",
1097    ],
1098)
1099
1100cc_library(
1101    name = "PluginABISystemZ",
1102    srcs = glob(["ABI/SystemZ/*.cpp"]),
1103    hdrs = glob(["ABI/SystemZ/*.h"]),
1104    include_prefix = "Plugins",
1105    deps = [
1106        "//lldb:Core",
1107        "//lldb:Headers",
1108        "//lldb:Symbol",
1109        "//lldb:SymbolHeaders",
1110        "//lldb:Target",
1111        "//lldb:TargetHeaders",
1112        "//lldb:Utility",
1113        "//llvm:Support",
1114        "//llvm:TargetParser",
1115    ],
1116)
1117
1118cc_library(
1119    name = "PluginABIAArch64",
1120    srcs = glob(["ABI/AArch64/*.cpp"]),
1121    hdrs = glob(["ABI/AArch64/*.h"]),
1122    include_prefix = "Plugins",
1123    deps = [
1124        "//lldb:Core",
1125        "//lldb:Headers",
1126        "//lldb:Symbol",
1127        "//lldb:SymbolHeaders",
1128        "//lldb:Target",
1129        "//lldb:TargetHeaders",
1130        "//lldb:Utility",
1131        "//lldb:UtilityPrivateHeaders",
1132        "//llvm:Support",
1133        "//llvm:TargetParser",
1134    ],
1135)
1136
1137cc_library(
1138    name = "PluginDynamicLoaderPosixDYLDHeaders",
1139    hdrs = glob(["DynamicLoader/POSIX-DYLD/*.h"]),
1140    include_prefix = "Plugins",
1141)
1142
1143cc_library(
1144    name = "PluginDynamicLoaderPosixDYLD",
1145    srcs = glob(["DynamicLoader/POSIX-DYLD/*.cpp"]),
1146    include_prefix = "Plugins",
1147    deps = [
1148        ":PluginDynamicLoaderPosixDYLDHeaders",
1149        ":PluginProcessElfCore",
1150        ":PluginProcessUtility",
1151        "//lldb:Breakpoint",
1152        "//lldb:Core",
1153        "//lldb:Host",
1154        "//lldb:Symbol",
1155        "//lldb:SymbolHeaders",
1156        "//lldb:Target",
1157        "//lldb:TargetHeaders",
1158        "//lldb:Utility",
1159        "//llvm:Support",
1160    ],
1161)
1162
1163cc_library(
1164    name = "PluginDynamicLoaderWindowsDYLD",
1165    srcs = glob(["DynamicLoader/Windows-DYLD/*.cpp"]),
1166    hdrs = glob(["DynamicLoader/Windows-DYLD/*.h"]),
1167    include_prefix = "Plugins",
1168    deps = [
1169        "//lldb:Core",
1170        "//lldb:Headers",
1171        "//lldb:Target",
1172        "//lldb:TargetHeaders",
1173        "//lldb:Utility",
1174        "//llvm:TargetParser",
1175    ],
1176)
1177
1178cc_library(
1179    name = "PluginDynamicLoaderHexagonDYLD",
1180    srcs = glob(["DynamicLoader/Hexagon-DYLD/*.cpp"]),
1181    hdrs = glob(["DynamicLoader/Hexagon-DYLD/*.h"]),
1182    include_prefix = "Plugins",
1183    deps = [
1184        "//lldb:Breakpoint",
1185        "//lldb:Core",
1186        "//lldb:Headers",
1187        "//lldb:Symbol",
1188        "//lldb:SymbolHeaders",
1189        "//lldb:Target",
1190        "//lldb:TargetHeaders",
1191        "//lldb:Utility",
1192    ],
1193)
1194
1195cc_library(
1196    name = "PluginDynamicLoaderWasmDYLD",
1197    srcs = glob(["DynamicLoader/wasm-DYLD/*.cpp"]),
1198    hdrs = glob(["DynamicLoader/wasm-DYLD/*.h"]),
1199    include_prefix = "Plugins",
1200    deps = [
1201        ":PluginObjectFileWasm",
1202        "//lldb:Core",
1203        "//lldb:Target",
1204        "//lldb:TargetHeaders",
1205        "//lldb:Utility",
1206    ],
1207)
1208
1209cc_library(
1210    name = "PluginDynamicLoaderStatic",
1211    srcs = glob(["DynamicLoader/Static/*.cpp"]),
1212    hdrs = glob(["DynamicLoader/Static/*.h"]),
1213    include_prefix = "Plugins",
1214    deps = [
1215        "//lldb:Core",
1216        "//lldb:Host",
1217        "//lldb:Symbol",
1218        "//lldb:SymbolHeaders",
1219        "//lldb:Target",
1220        "//lldb:TargetHeaders",
1221        "//lldb:Utility",
1222    ],
1223)
1224
1225gentbl_cc_library(
1226    name = "DynamicLoaderMacOSXDYLDProperties",
1227    strip_include_prefix = "DynamicLoader/MacOSX-DYLD",
1228    tbl_outs = [
1229        (
1230            ["-gen-lldb-property-defs"],
1231            "DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.inc",
1232        ),
1233        (
1234            ["-gen-lldb-property-enum-defs"],
1235            "DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinPropertiesEnum.inc",
1236        ),
1237    ],
1238    tblgen = "//lldb:lldb-tblgen",
1239    td_file = "DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td",
1240    deps = ["//lldb:CoreTdFiles"],
1241)
1242
1243cc_library(
1244    name = "PluginDynamicLoaderMacOSXDYLD",
1245    srcs = glob(["DynamicLoader/MacOSX-DYLD/*.cpp"]),
1246    hdrs = glob(["DynamicLoader/MacOSX-DYLD/*.h"]),
1247    include_prefix = "Plugins",
1248    deps = [
1249        ":DynamicLoaderMacOSXDYLDProperties",
1250        ":PluginObjCRuntime",
1251        ":PluginTypeSystemClang",
1252        ":PluginTypeSystemClangHeaders",
1253        "//lldb:Breakpoint",
1254        "//lldb:Core",
1255        "//lldb:Expression",
1256        "//lldb:Host",
1257        "//lldb:Symbol",
1258        "//lldb:SymbolHeaders",
1259        "//lldb:Target",
1260        "//lldb:TargetHeaders",
1261        "//lldb:Utility",
1262        "//llvm:Support",
1263        "//llvm:TargetParser",
1264    ],
1265)
1266
1267gentbl_cc_library(
1268    name = "DynamicLoaderDarwinKernelProperties",
1269    strip_include_prefix = "DynamicLoader/Darwin-Kernel",
1270    tbl_outs = [
1271        (
1272            ["-gen-lldb-property-defs"],
1273            "DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelProperties.inc",
1274        ),
1275        (
1276            ["-gen-lldb-property-enum-defs"],
1277            "DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelPropertiesEnum.inc",
1278        ),
1279    ],
1280    tblgen = "//lldb:lldb-tblgen",
1281    td_file = "DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelProperties.td",
1282    deps = ["//lldb:CoreTdFiles"],
1283)
1284
1285cc_library(
1286    name = "PluginDynamicLoaderDarwinKernelHeaders",
1287    hdrs = glob(["DynamicLoader/Darwin-Kernel/*.h"]),
1288    include_prefix = "Plugins",
1289)
1290
1291cc_library(
1292    name = "PluginDynamicLoaderDarwinKernel",
1293    srcs = glob(["DynamicLoader/Darwin-Kernel/*.cpp"]),
1294    include_prefix = "Plugins",
1295    tags = ["nobuildkite"],
1296    deps = [
1297        ":DynamicLoaderDarwinKernelProperties",
1298        ":PluginDynamicLoaderDarwinKernelHeaders",
1299        ":PluginObjectFileMachO",
1300        ":PluginPlatformMacOSX",
1301        "//lldb:Breakpoint",
1302        "//lldb:Core",
1303        "//lldb:Host",
1304        "//lldb:InterpreterHeaders",
1305        "//lldb:Symbol",
1306        "//lldb:SymbolHeaders",
1307        "//lldb:Target",
1308        "//lldb:TargetHeaders",
1309        "//lldb:Utility",
1310    ],
1311)
1312
1313cc_library(
1314    name = "PluginArchitecturePPC64",
1315    srcs = glob(["Architecture/PPC64/*.cpp"]),
1316    hdrs = glob(["Architecture/PPC64/*.h"]),
1317    include_prefix = "Plugins",
1318    deps = [
1319        ":PluginProcessUtility",
1320        "//lldb:Core",
1321        "//lldb:SymbolHeaders",
1322        "//lldb:Target",
1323        "//lldb:TargetHeaders",
1324        "//lldb:Utility",
1325        "//llvm:BinaryFormat",
1326    ],
1327)
1328
1329cc_library(
1330    name = "PluginArchitectureMips",
1331    srcs = glob(["Architecture/Mips/*.cpp"]),
1332    hdrs = glob(["Architecture/Mips/*.h"]),
1333    include_prefix = "Plugins",
1334    deps = [
1335        "//lldb:Core",
1336        "//lldb:SymbolHeaders",
1337        "//lldb:Target",
1338        "//lldb:TargetHeaders",
1339        "//lldb:Utility",
1340    ],
1341)
1342
1343cc_library(
1344    name = "PluginArchitectureArm",
1345    srcs = glob(["Architecture/Arm/*.cpp"]),
1346    hdrs = glob(["Architecture/Arm/*.h"]),
1347    include_prefix = "Plugins",
1348    deps = [
1349        ":PluginProcessUtility",
1350        "//lldb:Core",
1351        "//lldb:Target",
1352        "//lldb:TargetHeaders",
1353        "//lldb:Utility",
1354    ],
1355)
1356
1357cc_library(
1358    name = "PluginArchitectureAArch64",
1359    srcs = glob(["Architecture/AArch64/*.cpp"]),
1360    hdrs = glob(["Architecture/AArch64/*.h"]),
1361    include_prefix = "Plugins",
1362    deps = [
1363        ":PluginProcessUtility",
1364        "//lldb:Core",
1365        "//lldb:Target",
1366        "//lldb:TargetHeaders",
1367        "//lldb:Utility",
1368    ],
1369)
1370
1371cc_library(
1372    name = "PluginDisassemblerLLVMC",
1373    srcs = glob(["Disassembler/LLVMC/*.cpp"]),
1374    hdrs = glob(["Disassembler/LLVMC/*.h"]),
1375    include_prefix = "Plugins",
1376    deps = [
1377        "//lldb:Core",
1378        "//lldb:Symbol",
1379        "//lldb:SymbolHeaders",
1380        "//lldb:Target",
1381        "//lldb:TargetHeaders",
1382        "//lldb:Utility",
1383        "//llvm:MC",
1384        "//llvm:MCDisassembler",
1385        "//llvm:Support",
1386        "//llvm:TargetParser",
1387    ],
1388)
1389
1390cc_library(
1391    name = "PluginSymbolFileSymtab",
1392    srcs = glob(["SymbolFile/Symtab/*.cpp"]),
1393    hdrs = glob(["SymbolFile/Symtab/*.h"]),
1394    include_prefix = "Plugins",
1395    deps = [
1396        "//lldb:Core",
1397        "//lldb:Symbol",
1398        "//lldb:SymbolHeaders",
1399        "//lldb:Utility",
1400    ],
1401)
1402
1403cc_library(
1404    name = "PluginSymbolFileCTF",
1405    srcs = glob(["SymbolFile/CTF/*.cpp"]),
1406    hdrs = glob(["SymbolFile/CTF/*.h"]),
1407    include_prefix = "Plugins",
1408    deps = [
1409        ":PluginExpressionParserClangHeaders",
1410        ":PluginTypeSystemClangHeaders",
1411        "//lldb:Core",
1412        "//lldb:Headers",
1413        "//lldb:Host",
1414        "//lldb:Symbol",
1415        "//lldb:SymbolHeaders",
1416        "//lldb:Utility",
1417        "//llvm:Support",
1418        "//llvm:config",
1419        "@llvm_zlib//:zlib",
1420    ],
1421)
1422
1423cc_library(
1424    name = "PluginSymbolFileJSON",
1425    srcs = glob(["SymbolFile/JSON/*.cpp"]),
1426    hdrs = glob(["SymbolFile/JSON/*.h"]),
1427    include_prefix = "Plugins",
1428    deps = [
1429        ":PluginObjectFileJSON",
1430        "//lldb:Core",
1431        "//lldb:Symbol",
1432        "//lldb:SymbolHeaders",
1433        "//lldb:Utility",
1434        "//llvm:Support",
1435    ],
1436)
1437
1438cc_library(
1439    name = "PluginSymbolFileBreakpad",
1440    srcs = glob(["SymbolFile/Breakpad/*.cpp"]),
1441    hdrs = glob(["SymbolFile/Breakpad/*.h"]),
1442    include_prefix = "Plugins",
1443    deps = [
1444        ":PluginObjectFileBreakpad",
1445        "//lldb:Core",
1446        "//lldb:Host",
1447        "//lldb:Symbol",
1448        "//lldb:SymbolHeaders",
1449        "//lldb:Utility",
1450        "//llvm:Support",
1451    ],
1452)
1453
1454cc_library(
1455    name = "PluginInstructionPPC64",
1456    srcs = glob(["Instruction/PPC64/*.cpp"]),
1457    hdrs = glob(["Instruction/PPC64/*.h"]),
1458    include_prefix = "Plugins",
1459    deps = [
1460        ":PluginProcessUtility",
1461        "//lldb:Core",
1462        "//lldb:InterpreterHeaders",
1463        "//lldb:Symbol",
1464        "//lldb:SymbolHeaders",
1465        "//lldb:Utility",
1466    ],
1467)
1468
1469cc_library(
1470    name = "PluginInstructionLoongArch",
1471    srcs = glob(["Instruction/LoongArch/*.cpp"]),
1472    hdrs = glob(["Instruction/LoongArch/*.h"]),
1473    include_prefix = "Plugins",
1474    deps = [
1475        ":PluginProcessUtility",
1476        "//lldb:Core",
1477        "//lldb:InterpreterHeaders",
1478        "//lldb:Symbol",
1479        "//lldb:SymbolHeaders",
1480        "//lldb:Utility",
1481        "//llvm:Support",
1482    ],
1483)
1484
1485cc_library(
1486    name = "PluginInstructionMIPS",
1487    srcs = glob(["Instruction/MIPS/*.cpp"]),
1488    hdrs = glob(["Instruction/MIPS/*.h"]),
1489    include_prefix = "Plugins",
1490    deps = [
1491        ":PluginProcessUtility",
1492        "//lldb:Core",
1493        "//lldb:Symbol",
1494        "//lldb:SymbolHeaders",
1495        "//lldb:Target",
1496        "//lldb:TargetHeaders",
1497        "//lldb:Utility",
1498        "//llvm:MC",
1499        "//llvm:MCDisassembler",
1500        "//llvm:Support",
1501    ],
1502)
1503
1504cc_library(
1505    name = "PluginInstructionMIPS64",
1506    srcs = glob(["Instruction/MIPS64/*.cpp"]),
1507    hdrs = glob(["Instruction/MIPS64/*.h"]),
1508    include_prefix = "Plugins",
1509    deps = [
1510        ":PluginProcessUtility",
1511        "//lldb:Core",
1512        "//lldb:Host",
1513        "//lldb:InterpreterHeaders",
1514        "//lldb:Symbol",
1515        "//lldb:SymbolHeaders",
1516        "//lldb:Utility",
1517        "//llvm:MC",
1518        "//llvm:MCDisassembler",
1519        "//llvm:Support",
1520    ],
1521)
1522
1523cc_library(
1524    name = "PluginInstructionARM",
1525    srcs = glob(["Instruction/ARM/*.cpp"]),
1526    hdrs = glob(["Instruction/ARM/*.h"]),
1527    include_prefix = "Plugins",
1528    deps = [
1529        ":PluginProcessUtility",
1530        "//lldb:Core",
1531        "//lldb:Host",
1532        "//lldb:InterpreterHeaders",
1533        "//lldb:Symbol",
1534        "//lldb:SymbolHeaders",
1535        "//lldb:Target",
1536        "//lldb:TargetHeaders",
1537        "//lldb:Utility",
1538        "//lldb:UtilityPrivateHeaders",
1539        "//llvm:Support",
1540    ],
1541)
1542
1543cc_library(
1544    name = "PluginInstructionRISCV",
1545    srcs = glob(["Instruction/RISCV/*.cpp"]),
1546    hdrs = glob(["Instruction/RISCV/*.h"]),
1547    include_prefix = "Plugins",
1548    deps = [
1549        ":PluginProcessUtility",
1550        "//lldb:Core",
1551        "//lldb:InterpreterHeaders",
1552        "//lldb:Symbol",
1553        "//lldb:SymbolHeaders",
1554        "//lldb:Utility",
1555        "//llvm:Support",
1556    ],
1557)
1558
1559cc_library(
1560    name = "PluginInstructionARM64",
1561    srcs = glob(["Instruction/ARM64/*.cpp"]),
1562    hdrs = glob(["Instruction/ARM64/*.h"]),
1563    include_prefix = "Plugins",
1564    deps = [
1565        ":PluginProcessUtility",
1566        "//lldb:Core",
1567        "//lldb:InterpreterHeaders",
1568        "//lldb:Symbol",
1569        "//lldb:SymbolHeaders",
1570        "//lldb:Utility",
1571        "//llvm:Support",
1572    ],
1573)
1574
1575cc_library(
1576    name = "PluginInstrumentationRuntimeASanLibsanitizers",
1577    srcs = glob(["InstrumentationRuntime/ASanLibsanitizers/*.cpp"]),
1578    hdrs = glob(["InstrumentationRuntime/ASanLibsanitizers/*.h"]),
1579    include_prefix = "Plugins",
1580    deps = [
1581        ":PluginInstrumentationRuntimeUtility",
1582        "//lldb:Breakpoint",
1583        "//lldb:Core",
1584        "//lldb:Symbol",
1585        "//lldb:SymbolHeaders",
1586        "//lldb:Target",
1587        "//lldb:TargetHeaders",
1588        "//lldb:Utility",
1589    ],
1590)
1591
1592cc_library(
1593    name = "PluginInstrumentationRuntimeTSan",
1594    srcs = glob(["InstrumentationRuntime/TSan/*.cpp"]),
1595    hdrs = glob(["InstrumentationRuntime/TSan/*.h"]),
1596    include_prefix = "Plugins",
1597    deps = [
1598        ":PluginProcessUtility",
1599        "//lldb:Breakpoint",
1600        "//lldb:Core",
1601        "//lldb:Expression",
1602        "//lldb:Headers",
1603        "//lldb:Host",
1604        "//lldb:InterpreterHeaders",
1605        "//lldb:Symbol",
1606        "//lldb:SymbolHeaders",
1607        "//lldb:Target",
1608        "//lldb:TargetHeaders",
1609        "//lldb:Utility",
1610    ],
1611)
1612
1613cc_library(
1614    name = "PluginInstrumentationRuntimeASan",
1615    srcs = glob(["InstrumentationRuntime/ASan/*.cpp"]),
1616    hdrs = glob(["InstrumentationRuntime/ASan/*.h"]),
1617    include_prefix = "Plugins",
1618    deps = [
1619        ":PluginInstrumentationRuntimeUtility",
1620        "//lldb:Breakpoint",
1621        "//lldb:Core",
1622        "//lldb:Symbol",
1623        "//lldb:SymbolHeaders",
1624        "//lldb:Target",
1625        "//lldb:TargetHeaders",
1626        "//lldb:Utility",
1627    ],
1628)
1629
1630cc_library(
1631    name = "PluginInstrumentationRuntimeMainThreadChecker",
1632    srcs = glob(["InstrumentationRuntime/MainThreadChecker/*.cpp"]),
1633    hdrs = glob(["InstrumentationRuntime/MainThreadChecker/*.h"]),
1634    include_prefix = "Plugins",
1635    deps = [
1636        ":PluginProcessUtility",
1637        "//lldb:Breakpoint",
1638        "//lldb:Core",
1639        "//lldb:Expression",
1640        "//lldb:Headers",
1641        "//lldb:InterpreterHeaders",
1642        "//lldb:Symbol",
1643        "//lldb:SymbolHeaders",
1644        "//lldb:Target",
1645        "//lldb:TargetHeaders",
1646        "//lldb:Utility",
1647    ],
1648)
1649
1650cc_library(
1651    name = "PluginInstrumentationRuntimeUBSan",
1652    srcs = glob(["InstrumentationRuntime/UBSan/*.cpp"]),
1653    hdrs = glob(["InstrumentationRuntime/UBSan/*.h"]),
1654    include_prefix = "Plugins",
1655    deps = [
1656        ":PluginProcessUtility",
1657        "//lldb:Breakpoint",
1658        "//lldb:Core",
1659        "//lldb:Expression",
1660        "//lldb:Headers",
1661        "//lldb:Host",
1662        "//lldb:InterpreterHeaders",
1663        "//lldb:Symbol",
1664        "//lldb:SymbolHeaders",
1665        "//lldb:Target",
1666        "//lldb:TargetHeaders",
1667        "//lldb:Utility",
1668    ],
1669)
1670
1671cc_library(
1672    name = "PluginInstrumentationRuntimeUtility",
1673    srcs = glob(["InstrumentationRuntime/Utility/*.cpp"]),
1674    hdrs = glob(["InstrumentationRuntime/Utility/*.h"]),
1675    include_prefix = "Plugins",
1676    deps = [
1677        "//lldb:Breakpoint",
1678        "//lldb:Core",
1679        "//lldb:Expression",
1680        "//lldb:Symbol",
1681        "//lldb:Target",
1682        "//lldb:TargetHeaders",
1683    ],
1684)
1685
1686gentbl_cc_library(
1687    name = "JITLoaderGDBProperties",
1688    strip_include_prefix = "JITLoader/GDB",
1689    tbl_outs = [
1690        (
1691            ["-gen-lldb-property-defs"],
1692            "JITLoader/GDB/JITLoaderGDBProperties.inc",
1693        ),
1694        (
1695            ["-gen-lldb-property-enum-defs"],
1696            "JITLoader/GDB/JITLoaderGDBPropertiesEnum.inc",
1697        ),
1698    ],
1699    tblgen = "//lldb:lldb-tblgen",
1700    td_file = "JITLoader/GDB/JITLoaderGDBProperties.td",
1701    deps = ["//lldb:CoreTdFiles"],
1702)
1703
1704cc_library(
1705    name = "PluginJITLoaderGDB",
1706    srcs = glob(["JITLoader/GDB/*.cpp"]),
1707    hdrs = glob(["JITLoader/GDB/*.h"]),
1708    include_prefix = "Plugins",
1709    deps = [
1710        ":JITLoaderGDBProperties",
1711        ":PluginObjectFileMachO",
1712        "//lldb:Breakpoint",
1713        "//lldb:Core",
1714        "//lldb:InterpreterHeaders",
1715        "//lldb:Symbol",
1716        "//lldb:SymbolHeaders",
1717        "//lldb:Target",
1718        "//lldb:TargetHeaders",
1719        "//lldb:Utility",
1720        "//llvm:Support",
1721    ],
1722)
1723
1724cc_library(
1725    name = "PluginSymbolLocatorDefault",
1726    srcs = glob(["SymbolLocator/Default/*.cpp"]),
1727    hdrs = glob(["SymbolLocator/Default/*.h"]),
1728    include_prefix = "Plugins",
1729    deps = [
1730        ":PluginObjectFileWasm",
1731        "//lldb:Core",
1732        "//lldb:Headers",
1733        "//lldb:Host",
1734        "//lldb:Symbol",
1735        "//lldb:SymbolHeaders",
1736        "//lldb:TargetHeaders",
1737        "//lldb:Utility",
1738        "//llvm:Support",
1739    ],
1740)
1741
1742gentbl_cc_library(
1743    name = "SymbolLocatorDebuginfodProperties",
1744    strip_include_prefix = "SymbolLocator/Debuginfod",
1745    tbl_outs = [
1746        (
1747            ["-gen-lldb-property-defs"],
1748            "SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.inc",
1749        ),
1750        (
1751            ["-gen-lldb-property-enum-defs"],
1752            "SymbolLocator/Debuginfod/SymbolLocatorDebuginfodPropertiesEnum.inc",
1753        ),
1754    ],
1755    tblgen = "//lldb:lldb-tblgen",
1756    td_file = "SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td",
1757    deps = ["//lldb:CoreTdFiles"],
1758)
1759
1760cc_library(
1761    name = "PluginSymbolLocatorDebuginfod",
1762    srcs = glob(["SymbolLocator/Debuginfod/*.cpp"]),
1763    hdrs = glob(["SymbolLocator/Debuginfod/*.h"]),
1764    include_prefix = "Plugins",
1765    deps = [
1766        ":SymbolLocatorDebuginfodProperties",
1767        "//lldb:Core",
1768        "//lldb:Headers",
1769        "//lldb:Host",
1770        "//lldb:InterpreterHeaders",
1771        "//lldb:Symbol",
1772        "//lldb:SymbolHeaders",
1773        "//lldb:Utility",
1774        "//llvm:Debuginfod",
1775    ],
1776)
1777
1778cc_library(
1779    name = "PluginSymbolLocatorDebugSymbols",
1780    srcs = glob(["SymbolLocator/DebugSymbols/*.cpp"]),
1781    hdrs = glob(["SymbolLocator/DebugSymbols/*.h"]),
1782    include_prefix = "Plugins",
1783    tags = ["nobuildkite"],
1784    deps = [
1785        ":PluginObjectFileWasm",
1786        "//lldb:Core",
1787        "//lldb:Host",
1788        "//lldb:HostMacOSXPrivateHeaders",
1789        "//lldb:Symbol",
1790        "//lldb:SymbolHeaders",
1791        "//lldb:TargetHeaders",
1792        "//lldb:Utility",
1793        "//llvm:Support",
1794    ],
1795)
1796
1797# TODO: python support
1798# cc_library(
1799#     name = "PluginOperatingSystemPython",
1800#     srcs = glob(["OperatingSystem/Python/*.cpp"]),
1801#     hdrs = glob(["OperatingSystem/Python/*.h"]),
1802#     include_prefix = "Plugins",
1803#     deps = [
1804#         "//lldb:Core",
1805#         "//lldb:Interpreter",
1806#         ":PluginProcessUtility",
1807#         "//lldb:Symbol",
1808#         "//lldb:Target",
1809#     ],
1810# )
1811# cc_library(
1812#     name = "PluginScriptInterpreterPythonInterfaces",
1813#     srcs = glob(["ScriptInterpreter/Python/Interfaces/*.cpp"]),
1814#     hdrs = glob(["ScriptInterpreter/Python/Interfaces/*.h"]),
1815#     include_prefix = "Plugins",
1816#     deps = [
1817#         "//lldb:Core",
1818#         "//lldb:Host",
1819#         "//lldb:Interpreter",
1820#         "//lldb:Target",
1821#         "@rules_python//python/cc:current_py_cc_headers",
1822#         "@rules_python//python/cc:current_py_cc_libs",
1823#     ],
1824# )
1825# cc_library(
1826#     name = "PluginScriptInterpreterPythonHeaders",
1827#     hdrs = glob(["ScriptInterpreter/Python/*.h"]),
1828#     include_prefix = "Plugins",
1829#     deps = [
1830#         "//lldb:Host",
1831#     ],
1832# )
1833# cc_library(
1834#     name = "PluginScriptInterpreterPython",
1835#     srcs = glob(["ScriptInterpreter/Python/*.cpp"]),
1836#     local_defines = [
1837#         'LLDB_PYTHON_EXE_RELATIVE_PATH=\\"bin/python3\\"',
1838#         # Must be kept in sync with WORKSPACE python version
1839#         'LLDB_PYTHON_RELATIVE_LIBDIR=\\"lib/python3.11/site-packages\\"',
1840#     ],
1841#     include_prefix = "Plugins",
1842#     deps = [
1843#         "//lldb:Breakpoint",
1844#         "//lldb:Core",
1845#         "//lldb:DataFormatters",
1846#         "//lldb:Host",
1847#         "//lldb:Interpreter",
1848#         ":PluginScriptInterpreterPythonHeaders",
1849#         ":PluginScriptInterpreterPythonInterfaces",
1850#         "//lldb:Target",
1851#     ],
1852# )
1853
1854# TODO: lua support
1855# cc_library(
1856#     name = "PluginScriptInterpreterLua",
1857#     srcs = glob(["ScriptInterpreter/Lua/*.cpp"]),
1858#     hdrs = glob(["ScriptInterpreter/Lua/*.h"]),
1859#     include_prefix = "Plugins",
1860#     deps = [
1861#         "//lldb:Core",
1862#         "//lldb:Interpreter",
1863#     ],
1864# )
1865
1866cc_library(
1867    name = "PluginScriptInterpreterNone",
1868    srcs = glob(["ScriptInterpreter/None/*.cpp"]),
1869    hdrs = glob(["ScriptInterpreter/None/*.h"]),
1870    include_prefix = "Plugins",
1871    deps = [
1872        "//lldb:Core",
1873        "//lldb:InterpreterHeaders",
1874        "//lldb:Utility",
1875        "//llvm:Support",
1876    ],
1877)
1878
1879cc_library(
1880    name = "PluginSystemRuntimeMacOSX",
1881    srcs = glob(["SystemRuntime/MacOSX/*.cpp"]),
1882    hdrs = glob(["SystemRuntime/MacOSX/*.h"]),
1883    include_prefix = "Plugins",
1884    deps = [
1885        ":PluginProcessUtility",
1886        ":PluginTypeSystemClang",
1887        ":PluginTypeSystemClangHeaders",
1888        "//lldb:Breakpoint",
1889        "//lldb:Core",
1890        "//lldb:Expression",
1891        "//lldb:Headers",
1892        "//lldb:Host",
1893        "//lldb:Symbol",
1894        "//lldb:SymbolHeaders",
1895        "//lldb:Target",
1896        "//lldb:TargetHeaders",
1897        "//lldb:Utility",
1898    ],
1899)
1900
1901cc_library(
1902    name = "PluginObjectFileCOFF",
1903    srcs = glob(["ObjectFile/COFF/*.cpp"]),
1904    hdrs = glob(["ObjectFile/COFF/*.h"]),
1905    include_prefix = "Plugins",
1906    deps = [
1907        "//lldb:Core",
1908        "//lldb:Host",
1909        "//lldb:Symbol",
1910        "//lldb:SymbolHeaders",
1911        "//lldb:Target",
1912        "//lldb:Utility",
1913        "//llvm:Object",
1914        "//llvm:Support",
1915    ],
1916)
1917
1918cc_library(
1919    name = "PluginObjectFileWasm",
1920    srcs = glob(["ObjectFile/wasm/*.cpp"]),
1921    hdrs = glob(["ObjectFile/wasm/*.h"]),
1922    include_prefix = "Plugins",
1923    deps = [
1924        "//lldb:Core",
1925        "//lldb:Host",
1926        "//lldb:Symbol",
1927        "//lldb:SymbolHeaders",
1928        "//lldb:TargetHeaders",
1929        "//lldb:Utility",
1930        "//llvm:BinaryFormat",
1931        "//llvm:Support",
1932    ],
1933)
1934
1935cc_library(
1936    name = "PluginObjectFileJSON",
1937    srcs = glob(["ObjectFile/JSON/*.cpp"]),
1938    hdrs = glob(["ObjectFile/JSON/*.h"]),
1939    include_prefix = "Plugins",
1940    deps = [
1941        "//lldb:Core",
1942        "//lldb:Host",
1943        "//lldb:Symbol",
1944        "//lldb:SymbolHeaders",
1945        "//lldb:Utility",
1946        "//llvm:Support",
1947    ],
1948)
1949
1950cc_library(
1951    name = "PluginObjectFilePlaceholder",
1952    srcs = glob(["ObjectFile/Placeholder/*.cpp"]),
1953    hdrs = glob(["ObjectFile/Placeholder/*.h"]),
1954    include_prefix = "Plugins",
1955    deps = [
1956        "//lldb:Core",
1957        "//lldb:Headers",
1958        "//lldb:Host",
1959        "//lldb:Symbol",
1960        "//lldb:SymbolHeaders",
1961        "//lldb:Target",
1962        "//lldb:TargetHeaders",
1963        "//lldb:Utility",
1964    ],
1965)
1966
1967cc_library(
1968    name = "PluginObjectFileMachO",
1969    srcs = glob(["ObjectFile/Mach-O/*.cpp"]),
1970    hdrs = glob(["ObjectFile/Mach-O/*.h"]),
1971    include_prefix = "Plugins",
1972    deps = [
1973        ":PluginProcessUtility",
1974        "//lldb:Core",
1975        "//lldb:Host",
1976        "//lldb:Symbol",
1977        "//lldb:SymbolHeaders",
1978        "//lldb:Target",
1979        "//lldb:TargetHeaders",
1980        "//lldb:Utility",
1981        "//llvm:Support",
1982    ],
1983)
1984
1985cc_library(
1986    name = "PluginObjectFileMinidump",
1987    srcs = glob(["ObjectFile/Minidump/*.cpp"]),
1988    hdrs = glob(["ObjectFile/Minidump/*.h"]),
1989    include_prefix = "Plugins",
1990    deps = [
1991        ":PluginProcessMinidump",
1992        ":PluginProcessUtility",
1993        "//lldb:Core",
1994        "//lldb:Headers",
1995        "//lldb:Host",
1996        "//lldb:Symbol",
1997        "//lldb:SymbolHeaders",
1998        "//lldb:Target",
1999        "//lldb:TargetHeaders",
2000        "//lldb:Utility",
2001        "//llvm:BinaryFormat",
2002        "//llvm:Object",
2003        "//llvm:Support",
2004        "//llvm:TargetParser",
2005    ],
2006)
2007
2008gentbl_cc_library(
2009    name = "ObjectFilePECOFFProperties",
2010    strip_include_prefix = "ObjectFile/PECOFF",
2011    tbl_outs = [
2012        (
2013            ["-gen-lldb-property-defs"],
2014            "ObjectFile/PECOFF/ObjectFilePECOFFProperties.inc",
2015        ),
2016        (
2017            ["-gen-lldb-property-enum-defs"],
2018            "ObjectFile/PECOFF/ObjectFilePECOFFPropertiesEnum.inc",
2019        ),
2020    ],
2021    tblgen = "//lldb:lldb-tblgen",
2022    td_file = "ObjectFile/PECOFF/ObjectFilePECOFFProperties.td",
2023    deps = ["//lldb:CoreTdFiles"],
2024)
2025
2026cc_library(
2027    name = "PluginObjectFilePECOFF",
2028    srcs = glob(["ObjectFile/PECOFF/*.cpp"]),
2029    hdrs = glob(["ObjectFile/PECOFF/*.h"]),
2030    include_prefix = "Plugins",
2031    deps = [
2032        ":ObjectFilePECOFFProperties",
2033        ":PluginProcessUtility",
2034        "//lldb:Core",
2035        "//lldb:Host",
2036        "//lldb:InterpreterHeaders",
2037        "//lldb:Symbol",
2038        "//lldb:SymbolHeaders",
2039        "//lldb:Target",
2040        "//lldb:TargetHeaders",
2041        "//lldb:Utility",
2042        "//llvm:BinaryFormat",
2043        "//llvm:Object",
2044        "//llvm:Support",
2045        "//llvm:TargetParser",
2046    ],
2047)
2048
2049cc_library(
2050    name = "PluginObjectFileBreakpad",
2051    srcs = glob(["ObjectFile/Breakpad/*.cpp"]),
2052    hdrs = glob(["ObjectFile/Breakpad/*.h"]),
2053    include_prefix = "Plugins",
2054    deps = [
2055        "//lldb:Core",
2056        "//lldb:Headers",
2057        "//lldb:Host",
2058        "//lldb:Symbol",
2059        "//lldb:SymbolHeaders",
2060        "//lldb:Utility",
2061        "//llvm:Support",
2062        "//llvm:TargetParser",
2063    ],
2064)
2065
2066cc_library(
2067    name = "PluginObjectFileELF",
2068    srcs = glob(["ObjectFile/ELF/*.cpp"]),
2069    hdrs = glob(["ObjectFile/ELF/*.h"]),
2070    include_prefix = "Plugins",
2071    deps = [
2072        "//lldb:Core",
2073        "//lldb:Headers",
2074        "//lldb:Host",
2075        "//lldb:Symbol",
2076        "//lldb:SymbolHeaders",
2077        "//lldb:Target",
2078        "//lldb:TargetHeaders",
2079        "//lldb:Utility",
2080        "//llvm:BinaryFormat",
2081        "//llvm:Object",
2082        "//llvm:Support",
2083    ],
2084)
2085
2086cc_library(
2087    name = "PluginUnwindAssemblyX86",
2088    srcs = glob(["UnwindAssembly/x86/*.cpp"]),
2089    hdrs = glob(["UnwindAssembly/x86/*.h"]),
2090    include_prefix = "Plugins",
2091    deps = [
2092        "//lldb:Core",
2093        "//lldb:Headers",
2094        "//lldb:Symbol",
2095        "//lldb:SymbolHeaders",
2096        "//lldb:Target",
2097        "//lldb:TargetHeaders",
2098        "//lldb:Utility",
2099        "//llvm:MCDisassembler",
2100        "//llvm:Support",
2101    ],
2102)
2103
2104cc_library(
2105    name = "PluginUnwindAssemblyInstEmulation",
2106    srcs = glob(["UnwindAssembly/InstEmulation/*.cpp"]),
2107    hdrs = glob(["UnwindAssembly/InstEmulation/*.h"]),
2108    include_prefix = "Plugins",
2109    deps = [
2110        "//lldb:Core",
2111        "//lldb:Headers",
2112        "//lldb:Symbol",
2113        "//lldb:SymbolHeaders",
2114        "//lldb:Target",
2115        "//lldb:TargetHeaders",
2116        "//lldb:Utility",
2117    ],
2118)
2119
2120cc_library(
2121    name = "PluginProcessPOSIX",
2122    srcs = glob(["Process/POSIX/*.cpp"]),
2123    hdrs = glob(["Process/POSIX/*.h"]),
2124    include_prefix = "Plugins",
2125    deps = [
2126        ":PluginProcessUtility",
2127        "//lldb:Headers",
2128        "//lldb:Host",
2129        "//lldb:TargetHeaders",
2130        "//lldb:Utility",
2131        "//llvm:BinaryFormat",
2132        "//llvm:Support",
2133    ],
2134)
2135
2136cc_library(
2137    name = "PluginProcessLinux",
2138    srcs = glob(["Process/Linux/*.cpp"]),
2139    hdrs = glob(["Process/Linux/*.h"]),
2140    include_prefix = "Plugins",
2141    target_compatible_with = select({
2142        "@platforms//os:linux": [],
2143        "//conditions:default": ["@platforms//:incompatible"],
2144    }),
2145    deps = [
2146        ":PluginProcessPOSIX",
2147        ":PluginProcessUtility",
2148        "//lldb:Core",
2149        "//lldb:Headers",
2150        "//lldb:Host",
2151        "//lldb:SymbolHeaders",
2152        "//lldb:TargetHeaders",
2153        "//lldb:Utility",
2154        "//llvm:Support",
2155        "//llvm:TargetParser",
2156    ],
2157)
2158
2159cc_library(
2160    name = "PluginScriptedProcess",
2161    srcs = glob(["Process/scripted/*.cpp"]),
2162    hdrs = glob(["Process/scripted/*.h"]),
2163    include_prefix = "Plugins",
2164    deps = [
2165        ":PluginProcessUtility",
2166        "//lldb:Core",
2167        "//lldb:Host",
2168        "//lldb:InterpreterHeaders",
2169        "//lldb:Target",
2170        "//lldb:TargetHeaders",
2171        "//lldb:Utility",
2172    ],
2173)
2174
2175cc_library(
2176    name = "PluginProcessMachCore",
2177    srcs = glob(["Process/mach-core/*.cpp"]),
2178    hdrs = glob(["Process/mach-core/*.h"]),
2179    include_prefix = "Plugins",
2180    tags = ["nobuildkite"],
2181    deps = [
2182        ":PluginDynamicLoaderDarwinKernelHeaders",
2183        ":PluginDynamicLoaderMacOSXDYLD",
2184        ":PluginDynamicLoaderStatic",
2185        ":PluginObjectFileMachO",
2186        ":PluginPlatformMacOSX",
2187        ":PluginProcessUtility",
2188        "//lldb:Breakpoint",
2189        "//lldb:Core",
2190        "//lldb:Host",
2191        "//lldb:Symbol",
2192        "//lldb:SymbolHeaders",
2193        "//lldb:Target",
2194        "//lldb:TargetHeaders",
2195        "//lldb:Utility",
2196        "//llvm:Support",
2197    ],
2198)
2199
2200cc_library(
2201    name = "PluginProcessElfCore",
2202    srcs = glob(["Process/elf-core/*.cpp"]),
2203    hdrs = glob(["Process/elf-core/*.h"]),
2204    include_prefix = "Plugins",
2205    deps = [
2206        ":PluginDynamicLoaderPosixDYLDHeaders",
2207        ":PluginObjectFileELF",
2208        ":PluginProcessUtility",
2209        "//lldb:Core",
2210        "//lldb:Target",
2211        "//lldb:TargetHeaders",
2212        "//lldb:Utility",
2213        "//llvm:BinaryFormat",
2214        "//llvm:Support",
2215    ],
2216)
2217
2218gentbl_cc_library(
2219    name = "ProcessKDPProperties",
2220    strip_include_prefix = "Process/MacOSX-Kernel",
2221    tbl_outs = [
2222        (
2223            ["-gen-lldb-property-defs"],
2224            "Process/MacOSX-Kernel/ProcessKDPProperties.inc",
2225        ),
2226        (
2227            ["-gen-lldb-property-enum-defs"],
2228            "Process/MacOSX-Kernel/ProcessKDPPropertiesEnum.inc",
2229        ),
2230    ],
2231    tblgen = "//lldb:lldb-tblgen",
2232    td_file = "Process/MacOSX-Kernel/ProcessKDPProperties.td",
2233    deps = ["//lldb:CoreTdFiles"],
2234)
2235
2236cc_library(
2237    name = "PluginProcessMacOSXKernel",
2238    srcs = glob(["Process/MacOSX-Kernel/*.cpp"]),
2239    hdrs = glob(["Process/MacOSX-Kernel/*.h"]),
2240    include_prefix = "Plugins",
2241    tags = ["nobuildkite"],
2242    target_compatible_with = select({
2243        "@platforms//os:macos": [],
2244        "//conditions:default": ["@platforms//:incompatible"],
2245    }),
2246    deps = [
2247        ":PluginDynamicLoaderDarwinKernel",
2248        ":PluginDynamicLoaderDarwinKernelHeaders",
2249        ":PluginDynamicLoaderStatic",
2250        ":PluginProcessUtility",
2251        ":ProcessKDPProperties",
2252        "//lldb:Breakpoint",
2253        "//lldb:Core",
2254        "//lldb:Headers",
2255        "//lldb:Host",
2256        "//lldb:InterpreterHeaders",
2257        "//lldb:Symbol",
2258        "//lldb:SymbolHeaders",
2259        "//lldb:Target",
2260        "//lldb:TargetHeaders",
2261        "//lldb:Utility",
2262        "//llvm:Support",
2263    ],
2264)
2265
2266cc_library(
2267    name = "PluginProcessMinidump",
2268    srcs = glob(["Process/minidump/*.cpp"]),
2269    hdrs = glob(["Process/minidump/*.h"]),
2270    include_prefix = "Plugins",
2271    deps = [
2272        ":PluginDynamicLoaderPosixDYLD",
2273        ":PluginDynamicLoaderPosixDYLDHeaders",
2274        ":PluginObjectFilePlaceholder",
2275        ":PluginProcessElfCore",
2276        ":PluginProcessUtility",
2277        "//lldb:Core",
2278        "//lldb:Headers",
2279        "//lldb:InterpreterHeaders",
2280        "//lldb:Target",
2281        "//lldb:TargetHeaders",
2282        "//lldb:Utility",
2283        "//lldb:UtilityPrivateHeaders",
2284        "//llvm:BinaryFormat",
2285        "//llvm:Object",
2286        "//llvm:Support",
2287    ],
2288)
2289
2290cc_library(
2291    name = "PluginCXXItaniumABI",
2292    srcs = glob(["LanguageRuntime/CPlusPlus/ItaniumABI/*.cpp"]),
2293    hdrs = glob(["LanguageRuntime/CPlusPlus/ItaniumABI/*.h"]),
2294    include_prefix = "Plugins",
2295    deps = [
2296        ":PluginCPPRuntime",
2297        ":PluginTypeSystemClang",
2298        ":PluginTypeSystemClangHeaders",
2299        "//lldb:Breakpoint",
2300        "//lldb:Core",
2301        "//lldb:DataFormattersHeaders",
2302        "//lldb:ExpressionHeaders",
2303        "//lldb:Headers",
2304        "//lldb:InterpreterHeaders",
2305        "//lldb:Symbol",
2306        "//lldb:SymbolHeaders",
2307        "//lldb:Target",
2308        "//lldb:TargetHeaders",
2309        "//lldb:Utility",
2310    ],
2311)
2312
2313cc_library(
2314    name = "PluginGNUstepObjCRuntime",
2315    srcs = glob(["LanguageRuntime/ObjC/GNUstepObjCRuntime/*.cpp"]),
2316    hdrs = glob(["LanguageRuntime/ObjC/GNUstepObjCRuntime/*.h"]),
2317    include_prefix = "Plugins",
2318    deps = [
2319        ":PluginExpressionParserClang",
2320        ":PluginObjCRuntime",
2321        ":PluginTypeSystemClang",
2322        ":PluginTypeSystemClangHeaders",
2323        "//lldb:Breakpoint",
2324        "//lldb:Core",
2325        "//lldb:Expression",
2326        "//lldb:Headers",
2327        "//lldb:Host",
2328        "//lldb:Symbol",
2329        "//lldb:Target",
2330        "//lldb:TargetHeaders",
2331        "//lldb:Utility",
2332        "//llvm:Support",
2333    ],
2334)
2335
2336cc_library(
2337    name = "PluginRegisterTypeBuilderClang",
2338    srcs = glob(["RegisterTypeBuilder/*.cpp"]),
2339    hdrs = glob(["RegisterTypeBuilder/*.h"]),
2340    include_prefix = "Plugins",
2341    deps = [
2342        ":PluginTypeSystemClangHeaders",
2343        "//clang:ast",
2344        "//lldb:Core",
2345        "//lldb:Headers",
2346        "//lldb:Target",
2347        "//lldb:TargetHeaders",
2348    ],
2349)
2350
2351_DEFAULT_LOAD_PLUGINS = "\n".join(["LLDB_PLUGIN({})".format(x) for x in DEFAULT_PLUGINS]) + \
2352                        "\n" + "\n".join(["LLDB_SCRIPT_PLUGIN({})".format(x) for x in DEFAULT_SCRIPT_PLUGINS])
2353
2354expand_template(
2355    name = "plugins_config_gen",
2356    out = "Plugins.def",
2357    substitutions = {
2358        "@LLDB_PROCESS_WINDOWS_PLUGIN@": "",
2359        "@LLDB_PROCESS_GDB_PLUGIN@": "LLDB_PLUGIN(ProcessGDBRemote)",
2360    } | select({
2361        "@platforms//os:macos": {
2362            "@LLDB_ENUM_PLUGINS@": _DEFAULT_LOAD_PLUGINS + """
2363LLDB_PLUGIN(ProcessMacOSXKernel)
2364LLDB_PLUGIN(SymbolLocatorDebugSymbols)
2365LLDB_PLUGIN(SymbolVendorMacOSX)
2366""",
2367        },
2368        "//conditions:default": {
2369            "@LLDB_ENUM_PLUGINS@": _DEFAULT_LOAD_PLUGINS,
2370        },
2371    }),
2372    template = "Plugins.def.in",
2373)
2374
2375cc_library(
2376    name = "PluginsConfig",
2377    hdrs = [":plugins_config_gen"],
2378    include_prefix = "Plugins",
2379)
2380