Skip to content

Commit

Permalink
Fix linking of lldb-server with BUILD_SHARED_LIBS
Browse files Browse the repository at this point in the history
Summary:
The BUILD_SHARED_LIBS branch of lldb-server link flags was hopelessly broken, at least since we
started restricting the symbols exported by liblldb. lldb-server depends on symbols from the
lldb_private namespace, so it cannot link to the public interface of liblldb. Instead I make it
link to the individual libraries constituting liblldb, just like it does in the
!BUILD_SHARED_LIBS case.

This does not make the BUILD_SHARED_LIBS build of lldb fully functional yet, due to the way
liblldb dependencies are managed, but it's a step in that direction.

Reviewers: zturner, tfiala

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D16678

llvm-svn: 259188
  • Loading branch information
labath committed Jan 29, 2016
1 parent 987a1d2 commit 941ca06
Showing 1 changed file with 11 additions and 16 deletions.
27 changes: 11 additions & 16 deletions lldb/tools/lldb-server/CMakeLists.txt
Expand Up @@ -33,24 +33,19 @@ add_lldb_executable(lldb-server
LLDBServerUtilities.cpp
)

if (BUILD_SHARED_LIBS )
target_link_libraries(lldb-server liblldb)
target_link_libraries(lldb-server ${LLDB_SYSTEM_LIBS})
# The Darwin linker doesn't understand --start-group/--end-group.
if (LLDB_LINKER_SUPPORTS_GROUPS)
target_link_libraries(lldb-server
-Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group)
target_link_libraries(lldb-server
-Wl,--start-group ${CLANG_USED_LIBS} -Wl,--end-group)
else()
# The Darwin linker doesn't understand --start-group/--end-group.
if (LLDB_LINKER_SUPPORTS_GROUPS)
target_link_libraries(lldb-server
-Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group)
target_link_libraries(lldb-server
-Wl,--start-group ${CLANG_USED_LIBS} -Wl,--end-group)
else()
target_link_libraries(lldb-server ${LLDB_USED_LIBS})
target_link_libraries(lldb-server ${CLANG_USED_LIBS})
endif()
llvm_config(lldb-server ${LLVM_LINK_COMPONENTS})

target_link_libraries(lldb-server ${LLDB_SYSTEM_LIBS})
target_link_libraries(lldb-server ${LLDB_USED_LIBS})
target_link_libraries(lldb-server ${CLANG_USED_LIBS})
endif()
llvm_config(lldb-server ${LLVM_LINK_COMPONENTS})

target_link_libraries(lldb-server ${LLDB_SYSTEM_LIBS})

set_target_properties(lldb-server PROPERTIES VERSION ${LLDB_VERSION})

Expand Down

0 comments on commit 941ca06

Please sign in to comment.