# FIXME: As we plan to execute llvm-symbolizer binary from compiler-rt
# libraries, it has to be compiled for all supported targets (x86_64, i386 etc).
# This means that we need LLVM libraries to be compiled for these
# targets as well. Currently, there is no support for such a build strategy.

set(LLVM_TARGET_DEFINITIONS Opts.td)
tablegen(LLVM Opts.inc -gen-opt-parser-defs)
add_public_tablegen_target(SymbolizerOptsTableGen)

set(LLVM_LINK_COMPONENTS
  Demangle
  Object
  Option
  Support
  Symbolize
  )

add_llvm_tool(llvm-symbolizer
  llvm-symbolizer.cpp

  DEPENDS
  SymbolizerOptsTableGen
  )

target_link_libraries(llvm-symbolizer PRIVATE LLVMDebuginfod)

add_llvm_tool_symlink(llvm-addr2line llvm-symbolizer)

if(LLVM_INSTALL_BINUTILS_SYMLINKS)
  add_llvm_tool_symlink(addr2line llvm-symbolizer)
endif()
