summaryrefslogtreecommitdiffstats
path: root/lldb
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2018-01-18 01:16:30 +0000
committerVedant Kumar <vsk@apple.com>2018-01-18 01:16:30 +0000
commit3c3345be1bf4c706bc7f44e4fa91342bdc91f4b1 (patch)
tree6509a1b849b15e81642bfcb8865423b97d99c43c /lldb
parent53b3855b2ba2a35f9006c75ccc1f7601cb15f079 (diff)
downloadbcm5719-llvm-3c3345be1bf4c706bc7f44e4fa91342bdc91f4b1.tar.gz
bcm5719-llvm-3c3345be1bf4c706bc7f44e4fa91342bdc91f4b1.zip
[CMake] Make check-lldb work with LLDB_CODESIGN_IDENTITY=''
On Darwin, if a test machine isn't set up for code-signing (see docs/code-signing.txt), running check-lldb should use the system debugserver instead of the unsigned one built in-tree. This makes it possible to run lldb's test suite without having code-signing set up, which is really convenient. Differential Revision: https://reviews.llvm.org/D42215 llvm-svn: 322803
Diffstat (limited to 'lldb')
-rw-r--r--lldb/docs/code-signing.txt11
-rw-r--r--lldb/test/CMakeLists.txt17
2 files changed, 23 insertions, 5 deletions
diff --git a/lldb/docs/code-signing.txt b/lldb/docs/code-signing.txt
index 5407fd4bb42..3da3a8085e6 100644
--- a/lldb/docs/code-signing.txt
+++ b/lldb/docs/code-signing.txt
@@ -1,6 +1,11 @@
-On MacOSX lldb needs to be code signed. The Debug, DebugClang and Release
-builds are set to code sign using a code signing certificate named
-"lldb_codesign".
+To use the in-tree debug server on macOS, lldb needs to be code signed. The
+Debug, DebugClang and Release builds are set to code sign using a code signing
+certificate named "lldb_codesign". This document explains how to set up the
+signing certificate.
+
+Note that it's possible to build and use lldb on macOS without setting up code
+signing by using the system's debug server. To configure lldb in this way with
+cmake, specify -DLLDB_CODESIGN_IDENTITY=''.
If you have re-installed a new OS, please delete all old lldb_codesign items
from your keychain. There will be a code signing certification and a public
diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt
index 9826de38c3c..6fb8235907c 100644
--- a/lldb/test/CMakeLists.txt
+++ b/lldb/test/CMakeLists.txt
@@ -25,7 +25,9 @@ if(TARGET lldb-server)
endif()
if(TARGET debugserver)
- list(APPEND LLDB_TEST_DEPS debugserver)
+ if(NOT CMAKE_HOST_APPLE OR LLDB_CODESIGN_IDENTITY)
+ list(APPEND LLDB_TEST_DEPS debugserver)
+ endif()
endif()
if(TARGET lldb-mi)
@@ -95,7 +97,18 @@ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows|Darwin")
endif()
if(CMAKE_HOST_APPLE)
- list(APPEND LLDB_TEST_COMMON_ARGS --server $<TARGET_FILE:debugserver>)
+ if(LLDB_CODESIGN_IDENTITY)
+ set(DEBUGSERVER_PATH $<TARGET_FILE:debugserver>)
+ else()
+ execute_process(
+ COMMAND xcode-select -p
+ OUTPUT_VARIABLE XCODE_DEV_DIR)
+ string(STRIP ${XCODE_DEV_DIR} XCODE_DEV_DIR)
+ set(DEBUGSERVER_PATH
+ "${XCODE_DEV_DIR}/../SharedFrameworks/LLDB.framework/Resources/debugserver")
+ endif()
+ message(STATUS "Path to the lldb debugserver: ${DEBUGSERVER_PATH}")
+ list(APPEND LLDB_TEST_COMMON_ARGS --server ${DEBUGSERVER_PATH})
endif()
set(LLDB_DOTEST_ARGS ${LLDB_TEST_COMMON_ARGS};${LLDB_TEST_USER_ARGS})
OpenPOWER on IntegriCloud