diff options
author | Vince Harron <vharron@google.com> | 2015-01-07 21:35:07 +0000 |
---|---|---|
committer | Vince Harron <vharron@google.com> | 2015-01-07 21:35:07 +0000 |
commit | ededbc19cf40d452b9f17cda8fa041e605d533a4 (patch) | |
tree | 4a775db917b67a26fa889ebff45a330feb32dea1 | |
parent | 185f2bea8d0560c86091bafe780e0980b910fa56 (diff) |
lldb-platform - static link all llvm dependencies
Differential Revision: http://reviews.llvm.org/D6797
lldb-gdbserver statically links all llvm dependencies. This allows
dead stripping code and reduces total binary size.
This change modifies lldb-plaform to static link llvm dependencies
like lldb-gdbserver.
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225398 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | cmake/LLDBDependencies.cmake | 6 | ||||
-rw-r--r-- | tools/lldb-platform/CMakeLists.txt | 30 |
2 files changed, 34 insertions, 2 deletions
diff --git a/cmake/LLDBDependencies.cmake b/cmake/LLDBDependencies.cmake index 9416a67f0..e80b37166 100644 --- a/cmake/LLDBDependencies.cmake +++ b/cmake/LLDBDependencies.cmake @@ -139,12 +139,16 @@ if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") list(APPEND LLDB_SYSTEM_LIBS execinfo) endif() -if (NOT LLDB_DISABLE_PYTHON) +if (NOT LLDB_DISABLE_PYTHON AND NOT LLVM_BUILD_STATIC) list(APPEND LLDB_SYSTEM_LIBS ${PYTHON_LIBRARIES}) endif() list(APPEND LLDB_SYSTEM_LIBS ${system_libs}) +if (LLVM_BUILD_STATIC) + list(APPEND LLDB_SYSTEM_LIBS python2.7 z util termcap gpm ssl crypto bsd) +endif() + set( LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} interpreter diff --git a/tools/lldb-platform/CMakeLists.txt b/tools/lldb-platform/CMakeLists.txt index f3c70a700..157776524 100644 --- a/tools/lldb-platform/CMakeLists.txt +++ b/tools/lldb-platform/CMakeLists.txt @@ -1,12 +1,40 @@ set(LLVM_NO_RTTI 1) +if ( CMAKE_SYSTEM_NAME MATCHES "Linux" ) +include_directories( + ../../source/Plugins/Process/Linux + ../../source/Plugins/Process/POSIX + ) +endif () + +if ( CMAKE_SYSTEM_NAME MATCHES "FreeBSD" ) +include_directories( + ../../source/Plugins/Process/FreeBSD + ../../source/Plugins/Process/POSIX + ) +endif () + include_directories(../../source) +include(../../cmake/LLDBDependencies.cmake) + add_lldb_executable(lldb-platform lldb-platform.cpp + ../../source/lldb-log.cpp + ../../source/lldb.cpp ) -target_link_libraries(lldb-platform liblldb) +# The Darwin linker doesn't understand --start-group/--end-group. +if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") + target_link_libraries(lldb-platform + -Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group) +else() + target_link_libraries(lldb-platform ${LLDB_USED_LIBS}) +endif() +target_link_libraries(lldb-platform ${CLANG_USED_LIBS}) +llvm_config(lldb-platform ${LLVM_LINK_COMPONENTS}) + +target_link_libraries(lldb-platform ${LLDB_SYSTEM_LIBS}) set_target_properties(lldb-platform PROPERTIES VERSION ${LLDB_VERSION}) |