Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
375 changes: 375 additions & 0 deletions packages/l/libllvm/constants.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,375 @@
--- from llvm/CMakeLists.txt

function get_llvm_all_projects()
-- @see https://llvm.org/docs/CMake.html
-- Some projects listed here can also go in LLVM_ENABLE_RUNTIMES. They should
-- only appear in one of the two lists. If a project is a valid possiblity for
-- both, prefer putting it in LLVM_ENABLE_RUNTIMES.
return {
"bolt",
"clang",
"clang-tools-extra", -- But we do not build clang tools.
"libclc",
"lld",
"lldb",
"mlir", -- TODO: incompleted.
"polly"
}
end

function get_llvm_extra_projects()
return {
"flang"
}
end

function get_llvm_known_projects()
return table.join(get_llvm_all_projects(), get_llvm_extra_projects())
end

function get_llvm_all_runtimes()
return {
"libc",
"libunwind",
"libcxxabi",
"pstl",
"libcxx",
"compiler-rt",
"openmp",
"llvm-libgcc",
"offload",
"flang-rt"
}
end

--- from cmake/llvm/LLVMExports.cmake

function get_llvm_shared_libraries()
return {
"LLVM",
"Remarks",
"LTO"
}
end

function get_llvm_static_libraries()
return {
"LLVMExegesisMips",
"LLVMExegesisPowerPC",
"LLVMExegesisAArch64",
"LLVMExegesisX86",
"LLVMOptDriver",
"LLVMExegesis",
"LLVMOrcDebugging",
"LLVMBPFCodeGen",
"LLVMAMDGPUCodeGen",
"LLVMOrcJIT",
"LLVMLTO",
"LLVMPasses",
"LLVMX86CodeGen",
"LLVMRISCVCodeGen",
"LLVMPowerPCCodeGen",
"LLVMMipsCodeGen",
"LLVMARMCodeGen",
"LLVMAArch64CodeGen",
"LLVMNVPTXCodeGen",
"LLVMHexagonCodeGen",
"LLVMCoroutines",
"LLVMWebAssemblyCodeGen",
"LLVMDWARFLinkerParallel",
"LLVMDWARFLinkerClassic",
"LLVMXCoreCodeGen",
"LLVMVECodeGen",
"LLVMSystemZCodeGen",
"LLVMSparcCodeGen",
"LLVMMSP430CodeGen",
"LLVMLoongArchCodeGen",
"LLVMLanaiCodeGen",
"LLVMAVRCodeGen",
"LLVMGlobalISel",
"LLVMipo",
"LLVMWebAssemblyUtils",
"LLVMInterpreter",
"LLVMDWARFLinker",
"LLVMMIRParser",
"LLVMAsmPrinter",
"LLVMSelectionDAG",
"LLVMFrontendOpenMP",
"LLVMCodeGen",
"LLVMFuzzMutate",
"LLVMAMDGPUTargetMCA",
"LLVMAMDGPUDisassembler",
"LLVMAMDGPUAsmParser",
"LLVMMCJIT",
"LLVMScalarOpts",
"LLVMAMDGPUDesc",
"LLVMExecutionEngine",
"LLVMLinker",
"LLVMHipStdPar",
"LLVMObjCARCOpts",
"LLVMVectorize",
"LLVMInstCombine",
"LLVMAggressiveInstCombine",
"LLVMInstrumentation",
"LLVMFrontendOffloading",
"LLVMAMDGPUUtils",
"LLVMTarget",
"LLVMTransformUtils",
"LLVMFrontendDriver",
"LLVMBitWriter",
"LLVMIRPrinter",
"LLVMCoverage",
"LLVMAnalysis",
"LLVMCFIVerify",
"LLVMProfileData",
"LLVMDebuginfod",
"LLVMARMDisassembler",
"LLVMARMAsmParser",
"LLVMSymbolize",
"LLVMDebugInfoLogicalView",
"LLVMTextAPIBinaryReader",
"LLVMDWP",
"LLVMDebugInfoGSYM",
"LLVMXRay",
"LLVMLibDriver",
"LLVMDlltoolDriver",
"LLVMARMDesc",
"LLVMRuntimeDyld",
"LLVMJITLink",
"LLVMDebugInfoPDB",
"LLVMDebugInfoDWARF",
"LLVMObjectYAML",
"LLVMObjCopy",
"LLVMCodeGenData",
"LLVMInterfaceStub",
"LLVMX86TargetMCA",
"LLVMX86AsmParser",
"LLVMWebAssemblyDisassembler",
"LLVMWebAssemblyAsmParser",
"LLVMVEAsmParser",
"LLVMSystemZDisassembler",
"LLVMSystemZAsmParser",
"LLVMSparcAsmParser",
"LLVMRISCVTargetMCA",
"LLVMRISCVDisassembler",
"LLVMRISCVAsmParser",
"LLVMPowerPCAsmParser",
"LLVMMSP430AsmParser",
"LLVMMipsAsmParser",
"LLVMLoongArchDisassembler",
"LLVMLoongArchAsmParser",
"LLVMLanaiDisassembler",
"LLVMLanaiAsmParser",
"LLVMHexagonDisassembler",
"LLVMHexagonAsmParser",
"LLVMBPFAsmParser",
"LLVMAVRAsmParser",
"LLVMAArch64Disassembler",
"LLVMAArch64AsmParser",
"LLVMObject",
"LLVMXCoreDesc",
"LLVMXCoreDisassembler",
"LLVMX86Desc",
"LLVMX86Disassembler",
"LLVMWebAssemblyDesc",
"LLVMVEDesc",
"LLVMVEDisassembler",
"LLVMSystemZDesc",
"LLVMSparcDesc",
"LLVMSparcDisassembler",
"LLVMRISCVDesc",
"LLVMPowerPCDesc",
"LLVMPowerPCDisassembler",
"LLVMNVPTXDesc",
"LLVMMSP430Disassembler",
"LLVMMSP430Desc",
"LLVMMipsDesc",
"LLVMMipsDisassembler",
"LLVMLoongArchDesc",
"LLVMLanaiDesc",
"LLVMHexagonDesc",
"LLVMBPFDesc",
"LLVMBPFDisassembler",
"LLVMAVRDesc",
"LLVMAVRDisassembler",
"LLVMAArch64Desc",
"LLVMIRReader",
"LLVMXCoreInfo",
"LLVMX86Info",
"LLVMWebAssemblyInfo",
"LLVMVEInfo",
"LLVMSystemZInfo",
"LLVMSparcInfo",
"LLVMRISCVInfo",
"LLVMPowerPCInfo",
"LLVMNVPTXInfo",
"LLVMMSP430Info",
"LLVMMipsInfo",
"LLVMLoongArchInfo",
"LLVMLanaiInfo",
"LLVMHexagonInfo",
"LLVMBPFInfo",
"LLVMAVRInfo",
"LLVMARMInfo",
"LLVMAMDGPUInfo",
"LLVMAArch64Info",
"LLVMMCA",
"LLVMMCDisassembler",
"LLVMMCParser",
"LLVMDiff",
"LLVMAsmParser",
"LLVMSandboxIR",
"LLVMAArch64Utils",
"LLVMCFGuard",
"LLVMFrontendHLSL",
"LLVMBitReader",
"LLVMTextAPI",
"LLVMMC",
"LLVMCore",
"LLVMTableGenCommon",
"LLVMWindowsDriver",
"LLVMOrcTargetProcess",
"LLVMBinaryFormat",
"LLVMFuzzerCLI",
"LLVMRemarks",
"LLVMTableGenBasic",
"LLVMWindowsManifest",
"LLVMTargetParser",
"LLVMLineEditor",
"LLVMARMUtils",
"LLVMOrcShared",
"LLVMDebugInfoBTF",
"LLVMDebugInfoCodeView",
"LLVMDebugInfoMSF",
"LLVMOption",
"LLVMFrontendOpenACC",
"LLVMExtensions",
"LLVMBitstreamReader",
"LLVMCodeGenTypes",
"LLVMFileCheck",
"LLVMTableGen",
"LLVMSupport",
"LLVMDemangle",
"Remarks", -- shared
"LTO" -- shared
}
end

function get_bolt_shared_libraries()
return {} -- TODO
end

function get_bolt_static_libraries()
return {
"LLVMBOLTRewrite",
"LLVMBOLTRuntimeLibs",
"LLVMBOLTTargetRISCV",
"LLVMBOLTTargetX86",
"LLVMBOLTTargetAArch64",
"LLVMBOLTProfile",
"LLVMBOLTPasses",
"LLVMBOLTCore",
"LLVMBOLTUtils"
}
end

function get_polly_shared_libraries()
return {} -- TODO
end

function get_polly_static_libraries()
return {
"Polly",
"LLVMPolly", -- shared
"PollyISL",
}
end

--- from cmake/clang/ClangTargets.cmake

function get_clang_shared_libraries()
return {
"clang-cpp",
"clang" -- Clang's stable CAPI (shared)
}
end

function get_clang_static_libraries()
return {
"clangInterpreter",
"clangFrontendTool",
"clangStaticAnalyzerFrontend",
"clangStaticAnalyzerCheckers",
"clangTransformer",
"clangStaticAnalyzerCore",
"clangToolingRefactoring",
"clangExtractAPI",
"clangCrossTU",
"clangHandleCXX",
"clangDependencyScanning",
"clangIndex",
"clangTooling",
"clangToolingSyntax",
"clangRewriteFrontend",
"clangARCMigrate",
"clangCodeGen",
"clangFrontend",
"clangAnalysisFlowSensitiveModels",
"clangSerialization",
"clangParse",
"clangFormat",
"clangAnalysisFlowSensitive",
"clangSema",
"clangToolingInclusions",
"clangAnalysis",
"clangDynamicASTMatchers",
"clangToolingCore",
"clangInstallAPI",
"clangToolingASTDiff",
"clangToolingInclusionsStdlib",
"clangEdit",
"clangASTMatchers",
"clangRewrite",
"clangAST",
"clangIndexSerialization",
"clangDriver",
"clangLex",
"clangAPINotes",
"clangHandleLLVM",
"clangSupport",
"clangDirectoryWatcher",
"clangBasic",
"clang", -- Clang's stable CAPI (shared)
}
end

--- from cmake/lld/LLDTargets.cmake

function get_lld_shared_libraries()
return {} -- TODO
end

function get_lld_static_libraries()
return {
"lldMinGW",
"lldWasm",
"lldMachO",
"lldELF",
"lldCOFF",
"lldCommon",
}
end

--- lldb

function get_lldb_shared_libraries()
return {
"lldb"
}
end

function get_lldb_static_libraries()
return {
"lldb" -- shared
}
end
Loading
Loading