package An official xmake package repository https://xrepo.xmake.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

138 lines
3.7 KiB

function get_links(package)
local links = {
"LLVMIRReader",
"LLVMAsmParser",
"LLVMExecutionEngine",
"LLVMRuntimeDyld",
"LLVMAsmPrinter",
"LLVMDebugInfoDWARF",
"LLVMGlobalISel",
"LLVMSelectionDAG",
"LLVMMCDisassembler",
"LLVMPasses",
"LLVMCodeGen",
"LLVMipo",
"LLVMBitWriter",
"LLVMInstrumentation",
"LLVMScalarOpts",
"LLVMAggressiveInstCombine",
"LLVMInstCombine",
"LLVMVectorize",
"LLVMTransformUtils",
"LLVMTarget",
"LLVMAnalysis",
"LLVMProfileData",
"LLVMObject",
"LLVMBitReader",
"LLVMCore",
"LLVMRemarks",
"LLVMBitstreamReader",
"LLVMMCParser",
"LLVMMC",
"LLVMBinaryFormat",
"LLVMDebugInfoCodeView",
"LLVMSupport",
"LLVMDemangle",
"LLVMMIRParser",
"LLVMCFGuard",
"LLVMCFIVerify",
"LLVMCoroutines",
"LLVMCoverage",
"LLVMDWARFLinker",
"LLVMDWP",
"LLVMDebugInfoGSYM",
"LLVMDebugInfoMSF",
"LLVMDebugInfoPDB",
"LLVMDebuginfod",
"LLVMDiff",
"LLVMDlltoolDriver",
"LLVMExegesis",
"LLVMExtensions",
"LLVMFileCheck",
"LLVMFrontendOpenACC",
"LLVMFrontendOpenMP",
"LLVMFuzzMutate",
"LLVMInterfaceStub",
"LLVMInterpreter",
"LLVMJITLink",
"LLVMLTO",
"LLVMLibDriver",
"LLVMLineEditor",
"LLVMLinker",
"LLVMMCA",
"LLVMMCJIT",
"LLVMObjCARCOpts",
"LLVMObjectYAML",
"LLVMOption",
"LLVMOrcJIT",
"LLVMOrcShared",
"LLVMOrcTargetProcess",
"LLVMSymbolize",
"LLVMTableGen",
"LLVMTableGenGlobalISel",
"LLVMTextAPI",
"LLVMWindowsManifest",
"LLVMXRay"
}
local links_arch
if package:is_arch("x86_64", "i386", "x64", "x86") then
links_arch = {
"LLVMX86CodeGen",
"LLVMX86Desc",
"LLVMX86Info",
"LLVMX86AsmParser",
"LLVMX86Disassembler",
"LLVMX86TargetMCA",
"LLVMExegesisX86"}
elseif package:is_arch("arm64") then
links_arch = {
"LLVMAArch64AsmParser",
"LLVMAArch64CodeGen",
"LLVMAArch64Desc",
"LLVMAArch64Disassembler",
"LLVMAArch64Info",
"LLVMAArch64Utils",
"LLVMExegesisAArch64"}
elseif package:is_arch("armv7") then
links_arch = {
"LLVMARMAsmParser",
"LLVMARMCodeGen",
"LLVMARMDesc",
"LLVMARMDisassembler",
"LLVMARMInfo",
"LLVMARMUtils"}
elseif package:is_arch("mips", "mips64") then
links_arch = {
"LLVMMipsAsmParser",
"LLVMMipsCodeGen",
"LLVMMipsDesc",
"LLVMMipsDisassembler",
"LLVMMipsInfo",
"LLVMExegesisMips"}
elseif package:is_arch("wasm32") then
links_arch = {
"LLVMWebAssemblyAsmParser",
"LLVMWebAssemblyCodeGen",
"LLVMWebAssemblyDesc",
"LLVMWebAssemblyDisassembler",
"LLVMWebAssemblyInfo",
"LLVMWebAssemblyUtils"}
elseif package:is_arch("riscv32") then
links_arch = {
"LLVMRISCVAsmParser",
"LLVMRISCVCodeGen",
"LLVMRISCVDesc",
"LLVMRISCVDisassembler",
"LLVMRISCVInfo"}
end
if links_arch then
links = table.join(links_arch, links)
end
return links
end
function main(package, component)
component:add("links", get_links(package))
end