diff options
| -rw-r--r-- | lldb/cmake/LLDBDependencies.cmake | 7 | ||||
| -rw-r--r-- | lldb/cmake/platforms/Android.cmake | 14 |
2 files changed, 15 insertions, 6 deletions
diff --git a/lldb/cmake/LLDBDependencies.cmake b/lldb/cmake/LLDBDependencies.cmake index 96f6bcc2b43..67f98cf5975 100644 --- a/lldb/cmake/LLDBDependencies.cmake +++ b/lldb/cmake/LLDBDependencies.cmake @@ -155,7 +155,12 @@ 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) + if (NOT LLDB_DISABLE_PYTHON) + list(APPEND LLDB_SYSTEM_LIBS python2.7 util) + endif() + if (NOT LLDB_DISABLE_CURSES) + list(APPEND LLDB_SYSTEM_LIBS gpm) + endif() endif() set( LLVM_LINK_COMPONENTS diff --git a/lldb/cmake/platforms/Android.cmake b/lldb/cmake/platforms/Android.cmake index 2af8de70562..3374bcc7f0d 100644 --- a/lldb/cmake/platforms/Android.cmake +++ b/lldb/cmake/platforms/Android.cmake @@ -38,6 +38,15 @@ add_definitions( -DANDROID -D__ANDROID_NDK__ -DLLDB_DISABLE_LIBEDIT ) set( ANDROID True ) set( __ANDROID_NDK__ True ) +# linking lldb-server statically for Android avoids the need to ship two +# binaries (pie for API 21+ and non-pie for API 14-). It's possible to use +# a non-pie shim on API 14-, but that requires lldb-server to dynamically export +# its symbols, which significantly increases the binary size. Static linking, on +# the other hand, has little to no effect on the binary size. +if (NOT DEFINED LLVM_BUILD_STATIC) + set( LLVM_BUILD_STATIC True ) +endif() + set( ANDROID_ABI "${ANDROID_ABI}" CACHE INTERNAL "Android Abi" FORCE ) if( ANDROID_ABI STREQUAL "x86" ) set( CMAKE_SYSTEM_PROCESSOR "i686" ) @@ -95,11 +104,6 @@ elseif( ANDROID_ABI STREQUAL "armeabi" ) set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -march=armv7-a" ) endif() -# PIE is required for API 21+ so we enable it -# unfortunately, it is not supported before API 14 so we need to do something else there -# see http://llvm.org/pr23457 -set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -pie -fPIE" ) - # linker flags set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fdata-sections -ffunction-sections" ) set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--gc-sections" ) |

