blob: d3dec1984b78d2834bf9ab7cafd46f2fbfbcbce2 [file] [log] [blame]
set( LLVM_LINK_COMPONENTS
${LLVM_TARGETS_TO_BUILD}
Core
LineEditor
Option
OrcJIT
Support
)
add_clang_tool(clang-repl
ClangRepl.cpp
)
clang_target_link_libraries(clang-repl PRIVATE
clangAST
clangBasic
clangFrontend
clangInterpreter
)
# Support plugins.
if(CLANG_PLUGIN_SUPPORT)
export_executable_symbols_for_plugins(clang-repl)
endif()
# The clang-repl binary can get huge with static linking in debug mode.
# Some 32-bit targets use PLT slots with limited branch range by default and we
# start to exceed this limit, e.g. when linking for arm-linux-gnueabihf with
# gold. This flag tells the linker to build a PLT for the full address range.
# Linkers without this flag are assumed to support proper PLTs by default.
set(flag_long_plt "-Wl,--long-plt")
llvm_check_linker_flag(CXX ${flag_long_plt} HAVE_LINKER_FLAG_LONG_PLT)
if(HAVE_LINKER_FLAG_LONG_PLT)
target_link_options(clang-repl PRIVATE ${flag_long_plt})
endif()