1
2  struct AvailableComponent {
3    /// The name of the component.
4    const char *Name;
5
6    /// The name of the library for this component (or NULL).
7    const char *Library;
8
9    /// Whether the component is installed.
10    bool IsInstalled;
11
12    /// The list of libraries required when linking this component.
13    const char *RequiredLibraries[86];
14  } AvailableComponents[86] = {
15  { "aggressiveinstcombine", "LLVMAggressiveInstCombine", true, {"analysis", "core", "support", "transformutils"} },
16{ "all", nullptr, true, {"demangle", "support", "tablegen", "core", "fuzzmutate", "filecheck", "interfacestub", "irreader", "codegen", "selectiondag", "asmprinter", "mirparser", "globalisel", "binaryformat", "bitreader", "bitwriter", "bitstreamreader", "dwarflinker", "extensions", "frontendopenacc", "frontendopenmp", "transformutils", "instrumentation", "aggressiveinstcombine", "instcombine", "scalaropts", "ipo", "vectorize", "objcarcopts", "coroutines", "cfguard", "linker", "analysis", "lto", "mc", "mcparser", "mcdisassembler", "mca", "object", "objectyaml", "option", "remarks", "debuginfodwarf", "debuginfogsym", "debuginfomsf", "debuginfocodeview", "debuginfopdb", "symbolize", "dwp", "executionengine", "interpreter", "jitlink", "mcjit", "orcjit", "orcshared", "orctargetprocess", "runtimedyld", "target", "mipscodegen", "mipsasmparser", "mipsdisassembler", "mipsdesc", "mipsinfo", "amdgpucodegen", "amdgpuasmparser", "amdgpudisassembler", "amdgpudesc", "amdgpuinfo", "amdgpuutils", "asmparser", "lineeditor", "profiledata", "coverage", "passes", "textapi", "dlltooldriver", "libdriver", "xray", "windowsmanifest", "all-targets", "engine", "native", "nativecodegen", "mips", "amdgpu"} },
17{ "all-targets", nullptr, true, {"mips", "amdgpu"} },
18{ "amdgpu", nullptr, true, {"amdgpucodegen", "amdgpuasmparser", "amdgpudisassembler", "amdgpudesc", "amdgpuinfo", "amdgpuutils"} },
19{ "amdgpuasmparser", "LLVMAMDGPUAsmParser", true, {"mc", "mcparser", "amdgpudesc", "amdgpuinfo", "amdgpuutils", "support"} },
20{ "amdgpucodegen", "LLVMAMDGPUCodeGen", true, {"analysis", "asmprinter", "codegen", "core", "ipo", "mc", "passes", "amdgpudesc", "amdgpuinfo", "amdgpuutils", "scalaropts", "selectiondag", "support", "target", "transformutils", "vectorize", "globalisel", "binaryformat", "mirparser"} },
21{ "amdgpudesc", "LLVMAMDGPUDesc", true, {"core", "mc", "amdgpuinfo", "amdgpuutils", "support", "binaryformat"} },
22{ "amdgpudisassembler", "LLVMAMDGPUDisassembler", true, {"amdgpudesc", "amdgpuinfo", "amdgpuutils", "mc", "mcdisassembler", "support"} },
23{ "amdgpuinfo", "LLVMAMDGPUInfo", true, {"support"} },
24{ "amdgpuutils", "LLVMAMDGPUUtils", true, {"analysis", "core", "mc", "binaryformat", "support"} },
25{ "analysis", "LLVMAnalysis", true, {"binaryformat", "core", "object", "profiledata", "support"} },
26{ "asmparser", "LLVMAsmParser", true, {"binaryformat", "core", "support"} },
27{ "asmprinter", "LLVMAsmPrinter", true, {"analysis", "binaryformat", "codegen", "core", "debuginfocodeview", "debuginfodwarf", "debuginfomsf", "mc", "mcparser", "remarks", "support", "target"} },
28{ "binaryformat", "LLVMBinaryFormat", true, {"support"} },
29{ "bitreader", "LLVMBitReader", true, {"bitstreamreader", "core", "support"} },
30{ "bitstreamreader", "LLVMBitstreamReader", true, {"support"} },
31{ "bitwriter", "LLVMBitWriter", true, {"analysis", "core", "mc", "object", "support"} },
32{ "cfguard", "LLVMCFGuard", true, {"core", "support"} },
33{ "codegen", "LLVMCodeGen", true, {"analysis", "bitreader", "bitwriter", "core", "mc", "profiledata", "scalaropts", "support", "target", "transformutils"} },
34{ "core", "LLVMCore", true, {"binaryformat", "remarks", "support"} },
35{ "coroutines", "LLVMCoroutines", true, {"analysis", "core", "ipo", "scalaropts", "support", "transformutils"} },
36{ "coverage", "LLVMCoverage", true, {"core", "object", "profiledata", "support"} },
37{ "debuginfocodeview", "LLVMDebugInfoCodeView", true, {"support"} },
38{ "debuginfodwarf", "LLVMDebugInfoDWARF", true, {"binaryformat", "object", "mc", "support"} },
39{ "debuginfogsym", "LLVMDebugInfoGSYM", true, {"mc", "object", "support", "debuginfodwarf"} },
40{ "debuginfomsf", "LLVMDebugInfoMSF", true, {"support"} },
41{ "debuginfopdb", "LLVMDebugInfoPDB", true, {"binaryformat", "object", "support", "debuginfocodeview", "debuginfomsf"} },
42{ "demangle", "LLVMDemangle", true, {} },
43{ "dlltooldriver", "LLVMDlltoolDriver", true, {"object", "option", "support"} },
44{ "dwarflinker", "LLVMDWARFLinker", true, {"binaryformat", "debuginfodwarf", "asmprinter", "codegen", "mc", "object", "support"} },
45{ "dwp", "LLVMDWP", true, {"debuginfodwarf", "mc", "object", "support", "target"} },
46{ "engine", nullptr, true, {"interpreter"} },
47{ "executionengine", "LLVMExecutionEngine", true, {"core", "mc", "object", "orctargetprocess", "runtimedyld", "support", "target"} },
48{ "extensions", "LLVMExtensions", true, {"support"} },
49{ "filecheck", "LLVMFileCheck", true, {} },
50{ "frontendopenacc", "LLVMFrontendOpenACC", true, {} },
51{ "frontendopenmp", "LLVMFrontendOpenMP", true, {"core", "support", "transformutils"} },
52{ "fuzzmutate", "LLVMFuzzMutate", true, {"analysis", "bitreader", "bitwriter", "core", "scalaropts", "support", "target"} },
53{ "globalisel", "LLVMGlobalISel", true, {"analysis", "codegen", "core", "mc", "selectiondag", "support", "target", "transformutils"} },
54{ "instcombine", "LLVMInstCombine", true, {"analysis", "core", "support", "transformutils"} },
55{ "instrumentation", "LLVMInstrumentation", true, {"analysis", "core", "mc", "support", "transformutils", "profiledata"} },
56{ "interfacestub", "LLVMInterfaceStub", true, {"binaryformat", "mc", "object", "support"} },
57{ "interpreter", "LLVMInterpreter", true, {"codegen", "core", "executionengine", "support"} },
58{ "ipo", "LLVMipo", true, {"aggressiveinstcombine", "analysis", "bitreader", "bitwriter", "core", "frontendopenmp", "instcombine", "irreader", "linker", "object", "profiledata", "scalaropts", "support", "transformutils", "vectorize", "instrumentation"} },
59{ "irreader", "LLVMIRReader", true, {"asmparser", "bitreader", "core", "support"} },
60{ "jitlink", "LLVMJITLink", true, {"binaryformat", "object", "orctargetprocess", "support"} },
61{ "libdriver", "LLVMLibDriver", true, {"binaryformat", "bitreader", "object", "option", "support", "binaryformat", "bitreader", "object", "option", "support"} },
62{ "lineeditor", "LLVMLineEditor", true, {"support"} },
63{ "linker", "LLVMLinker", true, {"core", "object", "support", "transformutils"} },
64{ "lto", "LLVMLTO", true, {"aggressiveinstcombine", "analysis", "binaryformat", "bitreader", "bitwriter", "codegen", "core", "extensions", "ipo", "instcombine", "linker", "mc", "objcarcopts", "object", "passes", "remarks", "scalaropts", "support", "target", "transformutils"} },
65{ "mc", "LLVMMC", true, {"support", "binaryformat", "debuginfocodeview"} },
66{ "mca", "LLVMMCA", true, {"mc", "support"} },
67{ "mcdisassembler", "LLVMMCDisassembler", true, {"mc", "support"} },
68{ "mcjit", "LLVMMCJIT", true, {"core", "executionengine", "object", "runtimedyld", "support", "target"} },
69{ "mcparser", "LLVMMCParser", true, {"mc", "support"} },
70{ "mips", nullptr, true, {"mipscodegen", "mipsasmparser", "mipsdisassembler", "mipsdesc", "mipsinfo"} },
71{ "mipsasmparser", "LLVMMipsAsmParser", true, {"mc", "mcparser", "mipsdesc", "mipsinfo", "support"} },
72{ "mipscodegen", "LLVMMipsCodeGen", true, {"analysis", "asmprinter", "codegen", "core", "mc", "mipsdesc", "mipsinfo", "selectiondag", "support", "target", "globalisel"} },
73{ "mipsdesc", "LLVMMipsDesc", true, {"mc", "mipsinfo", "support"} },
74{ "mipsdisassembler", "LLVMMipsDisassembler", true, {"mcdisassembler", "mipsinfo", "support"} },
75{ "mipsinfo", "LLVMMipsInfo", true, {"support"} },
76{ "mirparser", "LLVMMIRParser", true, {"asmparser", "binaryformat", "codegen", "core", "mc", "support", "target"} },
77{ "native", nullptr, true, {} },
78{ "nativecodegen", nullptr, true, {} },
79{ "objcarcopts", "LLVMObjCARCOpts", true, {"analysis", "core", "support", "transformutils"} },
80{ "object", "LLVMObject", true, {"bitreader", "core", "mc", "binaryformat", "mcparser", "support", "textapi"} },
81{ "objectyaml", "LLVMObjectYAML", true, {"binaryformat", "object", "support", "debuginfocodeview", "mc"} },
82{ "option", "LLVMOption", true, {"support"} },
83{ "orcjit", "LLVMOrcJIT", true, {"core", "executionengine", "jitlink", "object", "orcshared", "orctargetprocess", "mc", "passes", "runtimedyld", "support", "target", "transformutils"} },
84{ "orcshared", "LLVMOrcShared", true, {"support"} },
85{ "orctargetprocess", "LLVMOrcTargetProcess", true, {"orcshared", "support"} },
86{ "passes", "LLVMPasses", true, {"aggressiveinstcombine", "analysis", "core", "coroutines", "ipo", "instcombine", "objcarcopts", "scalaropts", "support", "target", "transformutils", "vectorize", "instrumentation"} },
87{ "profiledata", "LLVMProfileData", true, {"core", "support", "demangle"} },
88{ "remarks", "LLVMRemarks", true, {"bitstreamreader", "support"} },
89{ "runtimedyld", "LLVMRuntimeDyld", true, {"core", "mc", "object", "support"} },
90{ "scalaropts", "LLVMScalarOpts", true, {"aggressiveinstcombine", "analysis", "core", "instcombine", "support", "transformutils"} },
91{ "selectiondag", "LLVMSelectionDAG", true, {"analysis", "codegen", "core", "mc", "support", "target", "transformutils"} },
92{ "support", "LLVMSupport", true, {"demangle"} },
93{ "symbolize", "LLVMSymbolize", true, {"debuginfodwarf", "debuginfopdb", "object", "support", "demangle"} },
94{ "tablegen", "LLVMTableGen", true, {"support"} },
95{ "target", "LLVMTarget", true, {"analysis", "core", "mc", "support"} },
96{ "textapi", "LLVMTextAPI", true, {"support", "binaryformat"} },
97{ "transformutils", "LLVMTransformUtils", true, {"analysis", "core", "support"} },
98{ "vectorize", "LLVMVectorize", true, {"analysis", "core", "support", "transformutils"} },
99{ "windowsmanifest", "LLVMWindowsManifest", true, {"support"} },
100{ "xray", "LLVMXRay", true, {"support", "object"} },
101};