| # Copyright 2025 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//src/lib/llvm/llvm_library.gni") |
| |
| # These are the host libraries that support debugging tools like zxdb. These are |
| # kept in lock step for all host platforms. When updating these, the pinned git |
| # revision in //manifests/toolchain should be updated to a new git SHA, and then |
| # this file updated accordingly with new dependency graph changes, and finally |
| # with updating the source code that uses these libraries to account for any API |
| # changes. This can all be done in a single CL, there is usually no need for |
| # soft transitions. |
| |
| # The following dependency graph could be obtained by |
| # 1. Download llvm/utils/GenLibDeps.pl from LLVM codebase. |
| # 2. GenLibDeps.pl -flat prebuilt/third_party/llvm/lib | python3 convert_deps.py |
| |
| # Sometimes when rolling, the dependency graph for the libraries changes. It |
| # then becomes necessary to check the `using_old_prebuilt` flag to soft |
| # transition the build graph. |
| # |
| # To update, copy all of the llvm_library instances below into an |
| # `if (using_old_prebuilt) { ... }` and an `else {...}` branch. Update the |
| # contents of the else branch to the if branch. Then make any necessary changes |
| # to the else branch for the new version. |
| llvm_library("LLVMAArch64CodeGen") { |
| deps = [ |
| ":LLVMAArch64Desc", |
| ":LLVMAArch64Info", |
| ":LLVMAArch64Utils", |
| ":LLVMAnalysis", |
| ":LLVMAsmPrinter", |
| ":LLVMCFGuard", |
| ":LLVMCodeGen", |
| ":LLVMCodeGenTypes", |
| ":LLVMCore", |
| ":LLVMGlobalISel", |
| ":LLVMMC", |
| ":LLVMPasses", |
| ":LLVMScalarOpts", |
| ":LLVMSelectionDAG", |
| ":LLVMSupport", |
| ":LLVMTarget", |
| ":LLVMTargetParser", |
| ":LLVMTransformUtils", |
| ":LLVMVectorize", |
| ] |
| } |
| |
| llvm_library("LLVMAArch64Desc") { |
| deps = [ |
| ":LLVMAArch64Info", |
| ":LLVMAArch64Utils", |
| ":LLVMBinaryFormat", |
| ":LLVMMC", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMAArch64Disassembler") { |
| deps = [ |
| ":LLVMAArch64Desc", |
| ":LLVMAArch64Info", |
| ":LLVMAArch64Utils", |
| ":LLVMMC", |
| ":LLVMMCDisassembler", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMAArch64Info") { |
| deps = [ |
| ":LLVMMC", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMAArch64Utils") { |
| deps = [ |
| ":LLVMCore", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMARMCodeGen") { |
| deps = [ |
| ":LLVMARMDesc", |
| ":LLVMARMInfo", |
| ":LLVMARMUtils", |
| ":LLVMAnalysis", |
| ":LLVMAsmPrinter", |
| ":LLVMCFGuard", |
| ":LLVMCodeGen", |
| ":LLVMCore", |
| ":LLVMGlobalISel", |
| ":LLVMMC", |
| ":LLVMScalarOpts", |
| ":LLVMSelectionDAG", |
| ":LLVMSupport", |
| ":LLVMTarget", |
| ":LLVMTargetParser", |
| ":LLVMTransformUtils", |
| ":LLVMipo", |
| ] |
| } |
| |
| llvm_library("LLVMARMDesc") { |
| deps = [ |
| ":LLVMARMInfo", |
| ":LLVMARMUtils", |
| ":LLVMBinaryFormat", |
| ":LLVMMC", |
| ":LLVMMCDisassembler", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMARMDisassembler") { |
| deps = [ |
| ":LLVMARMDesc", |
| ":LLVMARMInfo", |
| ":LLVMARMUtils", |
| ":LLVMMCDisassembler", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMARMInfo") { |
| deps = [ |
| ":LLVMMC", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMARMUtils") { |
| deps = [ ":LLVMSupport" ] |
| } |
| |
| llvm_library("LLVMAggressiveInstCombine") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMAnalysis") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMCore", |
| ":LLVMFrontendHLSL", |
| ":LLVMObject", |
| ":LLVMProfileData", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMAsmParser") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMAsmPrinter") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMBinaryFormat", |
| ":LLVMCodeGen", |
| ":LLVMCore", |
| ":LLVMDebugInfoCodeView", |
| ":LLVMDebugInfoDWARFLowLevel", |
| ":LLVMMC", |
| ":LLVMMCParser", |
| ":LLVMRemarks", |
| ":LLVMSupport", |
| ":LLVMTarget", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMBinaryFormat") { |
| deps = [ |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMBitReader") { |
| deps = [ |
| ":LLVMBitstreamReader", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMBitWriter") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMMC", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMBitstreamReader") { |
| deps = [ ":LLVMSupport" ] |
| } |
| |
| llvm_library("LLVMCFGuard") { |
| deps = [ |
| ":LLVMCore", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMCGData") { |
| deps = [ |
| ":LLVMBitReader", |
| ":LLVMBitWriter", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMCodeGen") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCGData", |
| ":LLVMCodeGenTypes", |
| ":LLVMCore", |
| ":LLVMMC", |
| ":LLVMObjCARCOpts", |
| ":LLVMProfileData", |
| ":LLVMScalarOpts", |
| ":LLVMSupport", |
| ":LLVMTarget", |
| ":LLVMTargetParser", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMCodeGenTypes") { |
| deps = [ ":LLVMSupport" ] |
| } |
| |
| llvm_library("LLVMCore") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMDemangle", |
| ":LLVMRemarks", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMCoroutines") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMScalarOpts", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMDebugInfoBTF") { |
| deps = [ ":LLVMSupport" ] |
| } |
| |
| llvm_library("LLVMDebugInfoCodeView") { |
| deps = [ ":LLVMSupport" ] |
| } |
| |
| llvm_library("LLVMDebugInfoDWARF") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMDebugInfoDWARFLowLevel", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMDebugInfoDWARFLowLevel") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMDebugInfoGSYM") { |
| deps = [ |
| ":LLVMDebugInfoDWARF", |
| ":LLVMMC", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMDebugInfoMSF") { |
| deps = [ ":LLVMSupport" ] |
| } |
| |
| llvm_library("LLVMDebugInfoPDB") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMDebugInfoCodeView", |
| ":LLVMDebugInfoMSF", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMDemangle") { |
| deps = [] |
| } |
| |
| llvm_library("LLVMExecutionEngine") { |
| deps = [ |
| ":LLVMCore", |
| ":LLVMMC", |
| ":LLVMObject", |
| ":LLVMOrcTargetProcess", |
| ":LLVMRuntimeDyld", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMFrontendAtomic") { |
| deps = [ |
| ":LLVMCore", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMFrontendDirective") { |
| deps = [] |
| } |
| |
| llvm_library("LLVMFrontendHLSL") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMFrontendOffloading") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMCore", |
| ":LLVMObject", |
| ":LLVMObjectYAML", |
| ":LLVMSupport", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMFrontendOpenMP") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMBitReader", |
| ":LLVMCore", |
| ":LLVMDemangle", |
| ":LLVMFrontendAtomic", |
| ":LLVMFrontendDirective", |
| ":LLVMFrontendOffloading", |
| ":LLVMMC", |
| ":LLVMScalarOpts", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMGlobalISel") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCodeGen", |
| ":LLVMCodeGenTypes", |
| ":LLVMCore", |
| ":LLVMMC", |
| ":LLVMSelectionDAG", |
| ":LLVMSupport", |
| ":LLVMTarget", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMHipStdPar") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMIRPrinter") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMIRReader") { |
| deps = [ |
| ":LLVMAsmParser", |
| ":LLVMBitReader", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMInstCombine") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMInstrumentation") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMDemangle", |
| ":LLVMMC", |
| ":LLVMProfileData", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMLinker") { |
| deps = [ |
| ":LLVMCore", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMMC") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMDebugInfoDWARFLowLevel", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMMCDisassembler") { |
| deps = [ |
| ":LLVMMC", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMMCJIT") { |
| deps = [ |
| ":LLVMCore", |
| ":LLVMExecutionEngine", |
| ":LLVMObject", |
| ":LLVMRuntimeDyld", |
| ":LLVMSupport", |
| ":LLVMTarget", |
| ] |
| } |
| |
| llvm_library("LLVMMCParser") { |
| deps = [ |
| ":LLVMMC", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMObjCARCOpts") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMObject") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMBitReader", |
| ":LLVMCore", |
| ":LLVMIRReader", |
| ":LLVMMC", |
| ":LLVMMCParser", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ":LLVMTextAPI", |
| ] |
| } |
| |
| llvm_library("LLVMObjectYAML") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMDebugInfoCodeView", |
| ":LLVMMC", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMOrcShared") { |
| deps = [ ":LLVMSupport" ] |
| } |
| |
| llvm_library("LLVMOrcTargetProcess") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMObject", |
| ":LLVMOrcShared", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMPasses") { |
| deps = [ |
| ":LLVMAggressiveInstCombine", |
| ":LLVMAnalysis", |
| ":LLVMCFGuard", |
| ":LLVMCodeGen", |
| ":LLVMCore", |
| ":LLVMCoroutines", |
| ":LLVMGlobalISel", |
| ":LLVMHipStdPar", |
| ":LLVMIRPrinter", |
| ":LLVMInstCombine", |
| ":LLVMInstrumentation", |
| ":LLVMObjCARCOpts", |
| ":LLVMScalarOpts", |
| ":LLVMSupport", |
| ":LLVMTarget", |
| ":LLVMTransformUtils", |
| ":LLVMVectorize", |
| ":LLVMipo", |
| ] |
| } |
| |
| llvm_library("LLVMProfileData") { |
| deps = [ |
| ":LLVMBitstreamReader", |
| ":LLVMCore", |
| ":LLVMDebugInfoDWARF", |
| ":LLVMDebugInfoDWARFLowLevel", |
| ":LLVMDemangle", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ":LLVMSymbolize", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMRISCVCodeGen") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMAsmPrinter", |
| ":LLVMCodeGen", |
| ":LLVMCodeGenTypes", |
| ":LLVMCore", |
| ":LLVMGlobalISel", |
| ":LLVMMC", |
| ":LLVMPasses", |
| ":LLVMRISCVDesc", |
| ":LLVMRISCVInfo", |
| ":LLVMScalarOpts", |
| ":LLVMSelectionDAG", |
| ":LLVMSupport", |
| ":LLVMTarget", |
| ":LLVMTargetParser", |
| ":LLVMTransformUtils", |
| ":LLVMVectorize", |
| ":LLVMipo", |
| ] |
| } |
| |
| llvm_library("LLVMRISCVDesc") { |
| deps = [ |
| ":LLVMMC", |
| ":LLVMRISCVInfo", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMRISCVDisassembler") { |
| deps = [ |
| ":LLVMMC", |
| ":LLVMMCDisassembler", |
| ":LLVMRISCVDesc", |
| ":LLVMRISCVInfo", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMRISCVInfo") { |
| deps = [ |
| ":LLVMMC", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMRemarks") { |
| deps = [ |
| ":LLVMBitstreamReader", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMRuntimeDyld") { |
| deps = [ |
| ":LLVMCore", |
| ":LLVMMC", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMSandboxIR") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMScalarOpts") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMProfileData", |
| ":LLVMSupport", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMSelectionDAG") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCodeGen", |
| ":LLVMCore", |
| ":LLVMMC", |
| ":LLVMSupport", |
| ":LLVMTarget", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMSupport") { |
| deps = [] |
| } |
| |
| llvm_library("LLVMSymbolize") { |
| deps = [ |
| ":LLVMDebugInfoBTF", |
| ":LLVMDebugInfoDWARF", |
| ":LLVMDebugInfoGSYM", |
| ":LLVMDebugInfoPDB", |
| ":LLVMDemangle", |
| ":LLVMObject", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMTarget") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMMC", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMTargetParser") { |
| deps = [ ":LLVMSupport" ] |
| } |
| |
| llvm_library("LLVMTextAPI") { |
| deps = [ |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ] |
| } |
| |
| llvm_library("LLVMTransformUtils") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMVectorize") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMCore", |
| ":LLVMSandboxIR", |
| ":LLVMSupport", |
| ":LLVMTransformUtils", |
| ] |
| } |
| |
| llvm_library("LLVMX86CodeGen") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMAsmPrinter", |
| ":LLVMCFGuard", |
| ":LLVMCodeGen", |
| ":LLVMCore", |
| ":LLVMGlobalISel", |
| ":LLVMIRPrinter", |
| ":LLVMInstrumentation", |
| ":LLVMMC", |
| ":LLVMObjCARCOpts", |
| ":LLVMProfileData", |
| ":LLVMScalarOpts", |
| ":LLVMSelectionDAG", |
| ":LLVMSupport", |
| ":LLVMTarget", |
| ":LLVMTargetParser", |
| ":LLVMTransformUtils", |
| ":LLVMX86Desc", |
| ":LLVMX86Info", |
| ] |
| } |
| |
| llvm_library("LLVMX86Desc") { |
| deps = [ |
| ":LLVMBinaryFormat", |
| ":LLVMMC", |
| ":LLVMMCDisassembler", |
| ":LLVMSupport", |
| ":LLVMTargetParser", |
| ":LLVMX86Info", |
| ] |
| } |
| |
| llvm_library("LLVMX86Disassembler") { |
| deps = [ |
| ":LLVMMCDisassembler", |
| ":LLVMSupport", |
| ":LLVMX86Info", |
| ] |
| } |
| |
| llvm_library("LLVMX86Info") { |
| deps = [ |
| ":LLVMMC", |
| ":LLVMSupport", |
| ] |
| } |
| |
| llvm_library("LLVMipo") { |
| deps = [ |
| ":LLVMAnalysis", |
| ":LLVMBitReader", |
| ":LLVMBitWriter", |
| ":LLVMCore", |
| ":LLVMDemangle", |
| ":LLVMFrontendOpenMP", |
| ":LLVMIRReader", |
| ":LLVMInstrumentation", |
| ":LLVMLinker", |
| ":LLVMObject", |
| ":LLVMProfileData", |
| ":LLVMSupport", |
| ":LLVMTransformUtils", |
| ] |
| } |