xref: /openbsd-src/gnu/llvm/lld/ELF/CMakeLists.txt (revision dfe94b169149f14cc1aee2cf6dad58a8d9a1860c)
1set(LLVM_TARGET_DEFINITIONS Options.td)
2tablegen(LLVM Options.inc -gen-opt-parser-defs)
3add_public_tablegen_target(ELFOptionsTableGen)
4
5if(LLVM_ENABLE_ZLIB)
6  set(imported_libs ZLIB::ZLIB)
7endif()
8
9if(LLVM_ENABLE_ZSTD)
10  if(TARGET zstd::libzstd_shared AND NOT LLVM_USE_STATIC_ZSTD)
11    set(zstd_target zstd::libzstd_shared)
12  else()
13    set(zstd_target zstd::libzstd_static)
14  endif()
15endif()
16
17if(LLVM_ENABLE_ZSTD)
18  list(APPEND imported_libs ${zstd_target})
19endif()
20
21add_lld_library(lldELF
22  AArch64ErrataFix.cpp
23  Arch/AArch64.cpp
24  Arch/AMDGPU.cpp
25  Arch/ARM.cpp
26  Arch/AVR.cpp
27  Arch/Hexagon.cpp
28  Arch/Mips.cpp
29  Arch/MipsArchTree.cpp
30  Arch/MSP430.cpp
31  Arch/PPC.cpp
32  Arch/PPC64.cpp
33  Arch/RISCV.cpp
34  Arch/SPARCV9.cpp
35  Arch/X86.cpp
36  Arch/X86_64.cpp
37  ARMErrataFix.cpp
38  CallGraphSort.cpp
39  DWARF.cpp
40  Driver.cpp
41  DriverUtils.cpp
42  EhFrame.cpp
43  ICF.cpp
44  InputFiles.cpp
45  InputSection.cpp
46  LTO.cpp
47  LinkerScript.cpp
48  MapFile.cpp
49  MarkLive.cpp
50  OutputSections.cpp
51  Relocations.cpp
52  ScriptLexer.cpp
53  ScriptParser.cpp
54  SymbolTable.cpp
55  Symbols.cpp
56  SyntheticSections.cpp
57  Target.cpp
58  Thunks.cpp
59  Writer.cpp
60
61  LINK_COMPONENTS
62  ${LLVM_TARGETS_TO_BUILD}
63  BinaryFormat
64  BitWriter
65  Core
66  DebugInfoDWARF
67  Demangle
68  LTO
69  MC
70  Object
71  Option
72  Passes
73  Support
74  TargetParser
75
76  LINK_LIBS
77  lldCommon
78  ${imported_libs}
79  ${LLVM_PTHREAD_LIB}
80
81  DEPENDS
82  ELFOptionsTableGen
83  intrinsics_gen
84  )
85