109467b48Spatrickimport("//llvm/utils/TableGen/tablegen.gni")
209467b48Spatrick
309467b48Spatricktablegen("Options") {
409467b48Spatrick  visibility = [ ":ELF" ]
509467b48Spatrick  args = [ "-gen-opt-parser-defs" ]
609467b48Spatrick}
709467b48Spatrick
809467b48Spatrickstatic_library("ELF") {
909467b48Spatrick  output_name = "lldELF"
1009467b48Spatrick  configs += [ "//llvm/utils/gn/build:lld_code" ]
1109467b48Spatrick  deps = [
1209467b48Spatrick    ":Options",
1309467b48Spatrick    "//lld/Common",
1409467b48Spatrick    "//llvm/lib/BinaryFormat",
1509467b48Spatrick    "//llvm/lib/DebugInfo/DWARF",
1609467b48Spatrick    "//llvm/lib/IR",
1709467b48Spatrick    "//llvm/lib/LTO",
1809467b48Spatrick    "//llvm/lib/MC",
1909467b48Spatrick    "//llvm/lib/Object",
2009467b48Spatrick    "//llvm/lib/Option",
2109467b48Spatrick    "//llvm/lib/Support",
2209467b48Spatrick    "//llvm/lib/Target:TargetsToBuild",
23*d415bd75Srobert    "//llvm/lib/TargetParser",
2409467b48Spatrick  ]
2509467b48Spatrick  include_dirs = [ "." ]
2609467b48Spatrick  sources = [
2709467b48Spatrick    "AArch64ErrataFix.cpp",
2809467b48Spatrick    "ARMErrataFix.cpp",
2909467b48Spatrick    "Arch/AArch64.cpp",
3009467b48Spatrick    "Arch/AMDGPU.cpp",
3109467b48Spatrick    "Arch/ARM.cpp",
3209467b48Spatrick    "Arch/AVR.cpp",
3309467b48Spatrick    "Arch/Hexagon.cpp",
3409467b48Spatrick    "Arch/MSP430.cpp",
3509467b48Spatrick    "Arch/Mips.cpp",
3609467b48Spatrick    "Arch/MipsArchTree.cpp",
3709467b48Spatrick    "Arch/PPC.cpp",
3809467b48Spatrick    "Arch/PPC64.cpp",
3909467b48Spatrick    "Arch/RISCV.cpp",
4009467b48Spatrick    "Arch/SPARCV9.cpp",
4109467b48Spatrick    "Arch/X86.cpp",
4209467b48Spatrick    "Arch/X86_64.cpp",
4309467b48Spatrick    "CallGraphSort.cpp",
4409467b48Spatrick    "DWARF.cpp",
4509467b48Spatrick    "Driver.cpp",
4609467b48Spatrick    "DriverUtils.cpp",
4709467b48Spatrick    "EhFrame.cpp",
4809467b48Spatrick    "ICF.cpp",
4909467b48Spatrick    "InputFiles.cpp",
5009467b48Spatrick    "InputSection.cpp",
5109467b48Spatrick    "LTO.cpp",
5209467b48Spatrick    "LinkerScript.cpp",
5309467b48Spatrick    "MapFile.cpp",
5409467b48Spatrick    "MarkLive.cpp",
5509467b48Spatrick    "OutputSections.cpp",
5609467b48Spatrick    "Relocations.cpp",
5709467b48Spatrick    "ScriptLexer.cpp",
5809467b48Spatrick    "ScriptParser.cpp",
5909467b48Spatrick    "SymbolTable.cpp",
6009467b48Spatrick    "Symbols.cpp",
6109467b48Spatrick    "SyntheticSections.cpp",
6209467b48Spatrick    "Target.cpp",
6309467b48Spatrick    "Thunks.cpp",
6409467b48Spatrick    "Writer.cpp",
6509467b48Spatrick  ]
6609467b48Spatrick}
67