blob: 08ea200d48c45babf79e6a6d0efe642fead3cb8f [file] [log] [blame]
# 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",
]
}