LLVM out of source pass build: Loadable modules not supported (on Linux)

后端 未结 3 457
长情又很酷
长情又很酷 2021-01-02 18:47

I compiled and installed LLVM from trunk on debian wheezy some weeks ago (configure & make) and now tried to out of source compile the llvm-mutate pass. AFAICC, llvm-mut

相关标签:
3条回答
  • 2021-01-02 19:01

    Just for the sake of completeness if someone will come across this error. This bug is meanwhile fixed in LLVM 3.8.0 so that you only have to include AddLLVM to build your plugin. The HandleLLVMOption include file is only helpful to get the right compiler flags as stated above in the post.

    0 讨论(0)
  • 2021-01-02 19:12

    Adding to alexei's reply.

    You can lso add list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}") in the CMakeLists.txt file prior to the include(AddLLVM) line and then having in your PATH the LLVM binary directory for llvm-config, invoke cmake as

    CXX=clang++ cmake -DLLVM_DIR=$(llvm-config --prefix)/share/llvm/cmake ..
    
    0 讨论(0)
  • 2021-01-02 19:13

    AddLLVM cmake module needs some prerequisites. Add to CMakeLists.txt:

    # AddLLVM needs these
    set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
    set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib)
    
    include(HandleLLVMOptions) # important: matches compiler flags to LLVM/Clang build
    include(AddLLVM)
    

    Some inspiration came from this message.

    0 讨论(0)
提交回复
热议问题