brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 2c23e44 Raw
54 lines · plain
1# Building shared libraries requires PIC objects.2if(LLVM_ENABLE_PIC)3 4  set(LLVM_LINK_COMPONENTS5    AllTargetsAsmParsers6    AllTargetsCodeGens7    AllTargetsDescs8    AllTargetsDisassemblers9    AllTargetsInfos10    BitReader11    Core12    CodeGen13    LTO14    MC15    MCDisassembler16    Support17    Target18    TargetParser19    )20 21  set(SOURCES22    LTODisassembler.cpp23    lto.cpp24    )25 26  set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)27 28  if(CMAKE_SYSTEM_NAME STREQUAL "AIX")29      set(LTO_LIBRARY_TYPE MODULE)30      set(LTO_LIBRARY_NAME libLTO)31    else()32      set(LTO_LIBRARY_TYPE SHARED)33      set(LTO_LIBRARY_NAME LTO)34  endif()35 36  add_llvm_library(${LTO_LIBRARY_NAME} ${LTO_LIBRARY_TYPE} INSTALL_WITH_TOOLCHAIN37      ${SOURCES} DEPENDS intrinsics_gen)38 39  install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h40    DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/llvm-c"41    COMPONENT LTO)42 43  if (APPLE)44    set(LTO_VERSION ${LLVM_VERSION_MAJOR})45    if(LLVM_LTO_VERSION_OFFSET)46      math(EXPR LTO_VERSION "${LLVM_VERSION_MAJOR} + ${LLVM_LTO_VERSION_OFFSET}")47    endif()48    set_property(TARGET LTO APPEND_STRING PROPERTY49                LINK_FLAGS50                " -compatibility_version 1 -current_version ${LTO_VERSION}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}")51  endif()52 53endif()54