[Lldb-commits] [lldb] r351496 - [CMake] Prevent lldbDebugserverCommon from building if you disable debugserver builds
Alex Langford via lldb-commits
lldb-commits at lists.llvm.org
Thu Jan 17 15:14:04 PST 2019
Author: xiaobai
Date: Thu Jan 17 15:14:04 2019
New Revision: 351496
URL: http://llvm.org/viewvc/llvm-project?rev=351496&view=rev
Log:
[CMake] Prevent lldbDebugserverCommon from building if you disable debugserver builds
Summary:
The flags `LLDB_USE_SYSTEM_DEBUGSERVER` and `LLDB_NO_DEBUGSERVER` were
introduced to the debugserver build. If one of these two flags are set, then we
do not build and sign debugserver. However I noticed that we were still building
the lldbDebugserverCommon and lldbDebugserverCommon_NonUI libraries regardless
of whether or not these flags were set. I don't believe we should be building
these libraries unless we are building and signing debugserver.
Reviewers: sgraenitz, davide, JDevlieghere, beanz, vsk, aprantl, labath
Subscribers: mgorny, jfb, lldb-commits
Differential Revision: https://reviews.llvm.org/D56763
Modified:
lldb/trunk/tools/debugserver/source/CMakeLists.txt
lldb/trunk/unittests/CMakeLists.txt
Modified: lldb/trunk/tools/debugserver/source/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/CMakeLists.txt?rev=351496&r1=351495&r2=351496&view=diff
==============================================================================
--- lldb/trunk/tools/debugserver/source/CMakeLists.txt (original)
+++ lldb/trunk/tools/debugserver/source/CMakeLists.txt Thu Jan 17 15:14:04 2019
@@ -30,69 +30,6 @@ check_library_exists(compression compres
add_subdirectory(MacOSX)
-set(generated_mach_interfaces
- ${CMAKE_CURRENT_BINARY_DIR}/mach_exc.h
- ${CMAKE_CURRENT_BINARY_DIR}/mach_excServer.c
- ${CMAKE_CURRENT_BINARY_DIR}/mach_excUser.c
- )
-add_custom_command(OUTPUT ${generated_mach_interfaces}
- COMMAND mig ${CMAKE_CURRENT_SOURCE_DIR}/MacOSX/dbgnub-mig.defs
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/MacOSX/dbgnub-mig.defs
- )
-
-set(DEBUGSERVER_VERS_GENERATED_FILE ${CMAKE_CURRENT_BINARY_DIR}/debugserver_vers.c)
-set_source_files_properties(${DEBUGSERVER_VERS_GENERATED_FILE} PROPERTIES GENERATED 1)
-
-add_custom_command(OUTPUT ${DEBUGSERVER_VERS_GENERATED_FILE}
- COMMAND ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
- ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj debugserver
- > ${DEBUGSERVER_VERS_GENERATED_FILE}
- DEPENDS ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
- ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj
- )
-
-set(lldbDebugserverCommonSources
- DNBArch.cpp
- DNBBreakpoint.cpp
- DNB.cpp
- DNBDataRef.cpp
- DNBError.cpp
- DNBLog.cpp
- DNBRegisterInfo.cpp
- DNBThreadResumeActions.cpp
- JSON.cpp
- StdStringExtractor.cpp
- # JSON reader depends on the following LLDB-common files
- ${LLDB_SOURCE_DIR}/source/Host/common/StringConvert.cpp
- ${LLDB_SOURCE_DIR}/source/Host/common/SocketAddress.cpp
- # end JSON reader dependencies
- libdebugserver.cpp
- PseudoTerminal.cpp
- PThreadEvent.cpp
- PThreadMutex.cpp
- RNBContext.cpp
- RNBRemote.cpp
- RNBServices.cpp
- RNBSocket.cpp
- SysSignal.cpp
- TTYState.cpp
-
- MacOSX/CFBundle.cpp
- MacOSX/CFString.cpp
- MacOSX/Genealogy.cpp
- MacOSX/MachException.cpp
- MacOSX/MachProcess.mm
- MacOSX/MachTask.mm
- MacOSX/MachThread.cpp
- MacOSX/MachThreadList.cpp
- MacOSX/MachVMMemory.cpp
- MacOSX/MachVMRegion.cpp
- MacOSX/OsLogger.cpp
- ${generated_mach_interfaces}
- ${DEBUGSERVER_VERS_GENERATED_FILE})
-
-add_library(lldbDebugserverCommon ${lldbDebugserverCommonSources})
-
# LLDB-specific identity, currently used for code signing debugserver.
set(LLDB_CODESIGN_IDENTITY "" CACHE STRING
"Override code sign identity for debugserver and for use in tests; falls back to LLVM_CODESIGNING_IDENTITY if set or lldb_codesign otherwise (Darwin only)")
@@ -241,6 +178,69 @@ if(LLDB_USE_ENTITLEMENTS)
endif()
if(build_and_sign_debugserver)
+ set(generated_mach_interfaces
+ ${CMAKE_CURRENT_BINARY_DIR}/mach_exc.h
+ ${CMAKE_CURRENT_BINARY_DIR}/mach_excServer.c
+ ${CMAKE_CURRENT_BINARY_DIR}/mach_excUser.c
+ )
+ add_custom_command(OUTPUT ${generated_mach_interfaces}
+ COMMAND mig ${CMAKE_CURRENT_SOURCE_DIR}/MacOSX/dbgnub-mig.defs
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/MacOSX/dbgnub-mig.defs
+ )
+
+ set(DEBUGSERVER_VERS_GENERATED_FILE ${CMAKE_CURRENT_BINARY_DIR}/debugserver_vers.c)
+ set_source_files_properties(${DEBUGSERVER_VERS_GENERATED_FILE} PROPERTIES GENERATED 1)
+
+ add_custom_command(OUTPUT ${DEBUGSERVER_VERS_GENERATED_FILE}
+ COMMAND ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
+ ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj debugserver
+ > ${DEBUGSERVER_VERS_GENERATED_FILE}
+ DEPENDS ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
+ ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj
+ )
+
+ set(lldbDebugserverCommonSources
+ DNBArch.cpp
+ DNBBreakpoint.cpp
+ DNB.cpp
+ DNBDataRef.cpp
+ DNBError.cpp
+ DNBLog.cpp
+ DNBRegisterInfo.cpp
+ DNBThreadResumeActions.cpp
+ JSON.cpp
+ StdStringExtractor.cpp
+ # JSON reader depends on the following LLDB-common files
+ ${LLDB_SOURCE_DIR}/source/Host/common/StringConvert.cpp
+ ${LLDB_SOURCE_DIR}/source/Host/common/SocketAddress.cpp
+ # end JSON reader dependencies
+ libdebugserver.cpp
+ PseudoTerminal.cpp
+ PThreadEvent.cpp
+ PThreadMutex.cpp
+ RNBContext.cpp
+ RNBRemote.cpp
+ RNBServices.cpp
+ RNBSocket.cpp
+ SysSignal.cpp
+ TTYState.cpp
+
+ MacOSX/CFBundle.cpp
+ MacOSX/CFString.cpp
+ MacOSX/Genealogy.cpp
+ MacOSX/MachException.cpp
+ MacOSX/MachProcess.mm
+ MacOSX/MachTask.mm
+ MacOSX/MachThread.cpp
+ MacOSX/MachThreadList.cpp
+ MacOSX/MachVMMemory.cpp
+ MacOSX/MachVMRegion.cpp
+ MacOSX/OsLogger.cpp
+ ${generated_mach_interfaces}
+ ${DEBUGSERVER_VERS_GENERATED_FILE})
+
+ add_library(lldbDebugserverCommon ${lldbDebugserverCommonSources})
+
target_link_libraries(lldbDebugserverCommon
INTERFACE ${COCOA_LIBRARY}
${CORE_FOUNDATION_LIBRARY}
@@ -267,6 +267,7 @@ if(build_and_sign_debugserver)
ENTITLEMENTS
${entitlements}
)
+
if(IOS)
set_property(TARGET lldbDebugserverCommon APPEND PROPERTY COMPILE_DEFINITIONS
WITH_LOCKDOWN
@@ -281,30 +282,28 @@ if(build_and_sign_debugserver)
set_property(TARGET lldbDebugserverCommon APPEND PROPERTY COMPILE_FLAGS
-F${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks
)
- endif()
-endif()
-if(IOS)
- add_library(lldbDebugserverCommon_NonUI ${lldbDebugserverCommonSources})
- target_link_libraries(lldbDebugserverCommon_NonUI
- INTERFACE ${COCOA_LIBRARY}
- ${CORE_FOUNDATION_LIBRARY}
- ${FOUNDATION_LIBRARY}
- lldbDebugserverArchSupport
- lldbDebugserverDarwin_DarwinLog
- ${LIBCOMPRESSION})
- if(HAVE_LIBCOMPRESSION)
- set_property(TARGET lldbDebugserverCommon_NonUI APPEND PROPERTY
- COMPILE_DEFINITIONS HAVE_LIBCOMPRESSION)
- endif()
+ add_library(lldbDebugserverCommon_NonUI ${lldbDebugserverCommonSources})
+ target_link_libraries(lldbDebugserverCommon_NonUI
+ INTERFACE ${COCOA_LIBRARY}
+ ${CORE_FOUNDATION_LIBRARY}
+ ${FOUNDATION_LIBRARY}
+ lldbDebugserverArchSupport
+ lldbDebugserverDarwin_DarwinLog
+ ${LIBCOMPRESSION})
+ if(HAVE_LIBCOMPRESSION)
+ set_property(TARGET lldbDebugserverCommon_NonUI APPEND PROPERTY
+ COMPILE_DEFINITIONS HAVE_LIBCOMPRESSION)
+ endif()
- add_lldb_tool(debugserver-nonui
- debugserver.cpp
+ add_lldb_tool(debugserver-nonui
+ debugserver.cpp
- LINK_LIBS
- lldbDebugserverCommon_NonUI
+ LINK_LIBS
+ lldbDebugserverCommon_NonUI
- ENTITLEMENTS
- ${entitlements}
- )
+ ENTITLEMENTS
+ ${entitlements}
+ )
+ endif()
endif()
Modified: lldb/trunk/unittests/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/CMakeLists.txt?rev=351496&r1=351495&r2=351496&view=diff
==============================================================================
--- lldb/trunk/unittests/CMakeLists.txt (original)
+++ lldb/trunk/unittests/CMakeLists.txt Thu Jan 17 15:14:04 2019
@@ -78,6 +78,6 @@ add_subdirectory(tools)
add_subdirectory(UnwindAssembly)
add_subdirectory(Utility)
-if(LLDB_CAN_USE_DEBUGSERVER)
+if(NOT SKIP_TEST_DEBUGSERVER)
add_subdirectory(debugserver)
endif()
More information about the lldb-commits
mailing list