labath created this revision.
labath added reviewers: zturner, tfiala.
labath added a subscriber: lldb-commits.
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.
http://reviews.llvm.org/D16678
Files:
tools/lldb-server/CMakeLists.txt
Index: tools/lldb-server/CMakeLists.txt
===================================================================
--- tools/lldb-server/CMakeLists.txt
+++ tools/lldb-server/CMakeLists.txt
@@ -33,24 +33,19 @@
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})
Index: tools/lldb-server/CMakeLists.txt
===================================================================
--- tools/lldb-server/CMakeLists.txt
+++ tools/lldb-server/CMakeLists.txt
@@ -33,24 +33,19 @@
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})
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits