mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-20 13:04:00 +00:00

Necessary to give disassembler users (like darwin's otool) a possibility to dlopen libLTO and still initialize the required LLVM bits. This used to go through libMCDisassembler but that's a gross layering violation, the MC layer can't pull in functions from the targets. Adding a function to libLTO is a bit of a hack but not worse than exposing other disassembler bits from libLTO. Fixes PR14362. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168545 91177308-0d34-0410-b5e6-96231b3b80d8
29 lines
751 B
CMake
29 lines
751 B
CMake
set(LLVM_LINK_COMPONENTS
|
|
${LLVM_TARGETS_TO_BUILD}
|
|
ipo scalaropts linker bitreader bitwriter mcdisassembler vectorize)
|
|
|
|
add_definitions( -DLLVM_VERSION_INFO=\"${PACKAGE_VERSION}\" )
|
|
|
|
set(SOURCES
|
|
LTOCodeGenerator.cpp
|
|
LTODisassembler.cpp
|
|
lto.cpp
|
|
LTOModule.cpp
|
|
)
|
|
|
|
if( NOT WIN32 AND LLVM_ENABLE_PIC )
|
|
set(bsl ${BUILD_SHARED_LIBS})
|
|
set(BUILD_SHARED_LIBS ON)
|
|
add_llvm_library(LTO ${SOURCES})
|
|
set_property(TARGET LTO PROPERTY OUTPUT_NAME "LTO")
|
|
set(BUILD_SHARED_LIBS ${bsl})
|
|
set(LTO_STATIC_TARGET_NAME LTO_static)
|
|
else()
|
|
set(LTO_STATIC_TARGET_NAME LTO)
|
|
endif()
|
|
|
|
if( NOT BUILD_SHARED_LIBS )
|
|
add_llvm_library(${LTO_STATIC_TARGET_NAME} ${SOURCES})
|
|
set_property(TARGET ${LTO_STATIC_TARGET_NAME} PROPERTY OUTPUT_NAME "LTO")
|
|
endif()
|