base.lua 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. function get_links(package)
  2. local links = {
  3. "LLVMIRReader",
  4. "LLVMAsmParser",
  5. "LLVMExecutionEngine",
  6. "LLVMRuntimeDyld",
  7. "LLVMAsmPrinter",
  8. "LLVMDebugInfoDWARF",
  9. "LLVMGlobalISel",
  10. "LLVMSelectionDAG",
  11. "LLVMMCDisassembler",
  12. "LLVMPasses",
  13. "LLVMCodeGen",
  14. "LLVMipo",
  15. "LLVMBitWriter",
  16. "LLVMInstrumentation",
  17. "LLVMScalarOpts",
  18. "LLVMAggressiveInstCombine",
  19. "LLVMInstCombine",
  20. "LLVMVectorize",
  21. "LLVMTransformUtils",
  22. "LLVMTarget",
  23. "LLVMAnalysis",
  24. "LLVMProfileData",
  25. "LLVMObject",
  26. "LLVMBitReader",
  27. "LLVMCore",
  28. "LLVMRemarks",
  29. "LLVMBitstreamReader",
  30. "LLVMMCParser",
  31. "LLVMMC",
  32. "LLVMBinaryFormat",
  33. "LLVMDebugInfoCodeView",
  34. "LLVMSupport",
  35. "LLVMDemangle",
  36. "LLVMMIRParser",
  37. "LLVMCFGuard",
  38. "LLVMCFIVerify",
  39. "LLVMCoroutines",
  40. "LLVMCoverage",
  41. "LLVMDWARFLinker",
  42. "LLVMDWP",
  43. "LLVMDebugInfoGSYM",
  44. "LLVMDebugInfoMSF",
  45. "LLVMDebugInfoPDB",
  46. "LLVMDebuginfod",
  47. "LLVMDiff",
  48. "LLVMDlltoolDriver",
  49. "LLVMExegesis",
  50. "LLVMExtensions",
  51. "LLVMFileCheck",
  52. "LLVMFrontendOpenACC",
  53. "LLVMFrontendOpenMP",
  54. "LLVMFuzzMutate",
  55. "LLVMInterfaceStub",
  56. "LLVMInterpreter",
  57. "LLVMJITLink",
  58. "LLVMLTO",
  59. "LLVMLibDriver",
  60. "LLVMLineEditor",
  61. "LLVMLinker",
  62. "LLVMMCA",
  63. "LLVMMCJIT",
  64. "LLVMObjCARCOpts",
  65. "LLVMObjectYAML",
  66. "LLVMOption",
  67. "LLVMOrcJIT",
  68. "LLVMOrcShared",
  69. "LLVMOrcTargetProcess",
  70. "LLVMSymbolize",
  71. "LLVMTableGen",
  72. "LLVMTableGenGlobalISel",
  73. "LLVMTextAPI",
  74. "LLVMWindowsManifest",
  75. "LLVMXRay"
  76. }
  77. local links_arch
  78. if package:is_arch("x86_64", "i386", "x64", "x86") then
  79. links_arch = {
  80. "LLVMX86CodeGen",
  81. "LLVMX86Desc",
  82. "LLVMX86Info",
  83. "LLVMX86AsmParser",
  84. "LLVMX86Disassembler",
  85. "LLVMX86TargetMCA",
  86. "LLVMExegesisX86"}
  87. elseif package:is_arch("arm64") then
  88. links_arch = {
  89. "LLVMAArch64AsmParser",
  90. "LLVMAArch64CodeGen",
  91. "LLVMAArch64Desc",
  92. "LLVMAArch64Disassembler",
  93. "LLVMAArch64Info",
  94. "LLVMAArch64Utils",
  95. "LLVMExegesisAArch64"}
  96. elseif package:is_arch("armv7") then
  97. links_arch = {
  98. "LLVMARMAsmParser",
  99. "LLVMARMCodeGen",
  100. "LLVMARMDesc",
  101. "LLVMARMDisassembler",
  102. "LLVMARMInfo",
  103. "LLVMARMUtils"}
  104. elseif package:is_arch("mips", "mips64") then
  105. links_arch = {
  106. "LLVMMipsAsmParser",
  107. "LLVMMipsCodeGen",
  108. "LLVMMipsDesc",
  109. "LLVMMipsDisassembler",
  110. "LLVMMipsInfo",
  111. "LLVMExegesisMips"}
  112. elseif package:is_arch("wasm32") then
  113. links_arch = {
  114. "LLVMWebAssemblyAsmParser",
  115. "LLVMWebAssemblyCodeGen",
  116. "LLVMWebAssemblyDesc",
  117. "LLVMWebAssemblyDisassembler",
  118. "LLVMWebAssemblyInfo",
  119. "LLVMWebAssemblyUtils"}
  120. elseif package:is_arch("riscv32") then
  121. links_arch = {
  122. "LLVMRISCVAsmParser",
  123. "LLVMRISCVCodeGen",
  124. "LLVMRISCVDesc",
  125. "LLVMRISCVDisassembler",
  126. "LLVMRISCVInfo"}
  127. end
  128. if links_arch then
  129. links = table.join(links_arch, links)
  130. end
  131. return links
  132. end
  133. function main(package, component)
  134. component:add("links", get_links(package))
  135. end