summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVince Harron <vharron@google.com>2015-01-07 21:35:07 +0000
committerVince Harron <vharron@google.com>2015-01-07 21:35:07 +0000
commit878a2ce55476e378fd033ff12138b734131671df (patch)
tree6f1e84ef498516cfe8ecbdb778bdc5c18f7ace62
parentdf55d8ba83d8d69cd28549a58c971eba0f8025a0 (diff)
downloadbcm5719-llvm-878a2ce55476e378fd033ff12138b734131671df.tar.gz
bcm5719-llvm-878a2ce55476e378fd033ff12138b734131671df.zip
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. llvm-svn: 225398
-rw-r--r--lldb/cmake/LLDBDependencies.cmake6
-rw-r--r--lldb/tools/lldb-platform/CMakeLists.txt30
2 files changed, 34 insertions, 2 deletions
diff --git a/lldb/cmake/LLDBDependencies.cmake b/lldb/cmake/LLDBDependencies.cmake
index 9416a67f0a7..e80b3716621 100644
--- a/lldb/cmake/LLDBDependencies.cmake
+++ b/lldb/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/lldb/tools/lldb-platform/CMakeLists.txt b/lldb/tools/lldb-platform/CMakeLists.txt
index f3c70a7000c..157776524eb 100644
--- a/lldb/tools/lldb-platform/CMakeLists.txt
+++ b/lldb/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})
OpenPOWER on IntegriCloud