mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-27 07:31:28 +00:00
4a6553f4c2
Debuginfod can pull in libcurl as a dependency, which isn't appropriate for libLLVM. (See https://gitlab.freedesktop.org/mesa/mesa/-/issues/5732). This change breaks out debuginfod into a separate non-component library that can be used directly in llvm-symbolizer. The tool can inject debuginfod into the Symbolizer library via an abstract DebugInfoFetcher interface, breaking the dependency of Symbolizer on debuinfod. See https://github.com/llvm/llvm-project/issues/52731 Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D118413
34 lines
848 B
CMake
34 lines
848 B
CMake
# 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
|
|
DebugInfoDWARF
|
|
DebugInfoPDB
|
|
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()
|