[Lldb-commits] [lldb] e763709 - Add a new launch flag option for watchos, WatchComplicationLaunch.
Jason Molenda via lldb-commits
lldb-commits at lists.llvm.org
Tue Oct 13 16:28:25 PDT 2020
Author: Jason Molenda
Date: 2020-10-13T16:28:16-07:00
New Revision: e763709d14e560915e04731c2fd6f1595d7ff8ba
URL: https://github.com/llvm/llvm-project/commit/e763709d14e560915e04731c2fd6f1595d7ff8ba
DIFF: https://github.com/llvm/llvm-project/commit/e763709d14e560915e04731c2fd6f1595d7ff8ba.diff
LOG: Add a new launch flag option for watchos, WatchComplicationLaunch.
Link against CarouselServices on watchos, recognize the
WatchComplicationLaunch launch flag option when that framework
is available.
<rdar://problem/62473967>, <rdar://problem/61230088>
Added:
Modified:
lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
lldb/tools/debugserver/source/CMakeLists.txt
lldb/tools/debugserver/source/MacOSX/MachProcess.mm
Removed:
################################################################################
diff --git a/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj b/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
index 1c7a55f7108a..d93f376322ec 100644
--- a/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
+++ b/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
@@ -850,6 +850,21 @@
"-framework",
Security,
);
+ "OTHER_LDFLAGS[sdk=watchos*]" = (
+ "-framework",
+ SpringBoardServices,
+ "-framework",
+ BackBoardServices,
+ "-llockdown",
+ "-framework",
+ FrontBoardServices,
+ "-framework",
+ MobileCoreServices,
+ "$(LLDB_ENERGY_LDFLAGS)",
+ "$(LLDB_COMPRESSION_LDFLAGS)",
+ "-framework",
+ CarouselServices,
+ );
OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
PRODUCT_NAME = debugserver;
SDKROOT = macosx;
@@ -907,6 +922,10 @@
"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
);
"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
+ "OTHER_CPLUSPLUSFLAGS[sdk=watchos*]" = (
+ "$(OTHER_CFLAGS)",
+ "-DWITH_CAROUSEL=1",
+ );
OTHER_LDFLAGS = "";
"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
"-framework",
@@ -931,6 +950,21 @@
"-framework",
Security,
);
+ "OTHER_LDFLAGS[sdk=watchos*]" = (
+ "-framework",
+ SpringBoardServices,
+ "-framework",
+ BackBoardServices,
+ "-llockdown",
+ "-framework",
+ FrontBoardServices,
+ "-framework",
+ MobileCoreServices,
+ "$(LLDB_ENERGY_LDFLAGS)",
+ "$(LLDB_COMPRESSION_LDFLAGS)",
+ "-framework",
+ CarouselServices,
+ );
OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
PRODUCT_NAME = debugserver;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
@@ -987,6 +1021,10 @@
"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
);
"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
+ "OTHER_CPLUSPLUSFLAGS[sdk=watchos*]" = (
+ "$(OTHER_CFLAGS)",
+ "-DWITH_CAROUSEL=1",
+ );
OTHER_LDFLAGS = "";
"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
"-framework",
@@ -1011,6 +1049,21 @@
"-framework",
Security,
);
+ "OTHER_LDFLAGS[sdk=watchos*]" = (
+ "-framework",
+ SpringBoardServices,
+ "-framework",
+ BackBoardServices,
+ "-llockdown",
+ "-framework",
+ FrontBoardServices,
+ "-framework",
+ MobileCoreServices,
+ "$(LLDB_ENERGY_LDFLAGS)",
+ "$(LLDB_COMPRESSION_LDFLAGS)",
+ "-framework",
+ CarouselServices,
+ );
OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
PRODUCT_NAME = debugserver;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
@@ -1385,27 +1438,6 @@
"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
);
"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
- "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
- "-framework",
- SpringBoardServices,
- "-framework",
- BackBoardServices,
- "-llockdown",
- "-framework",
- FrontBoardServices,
- "-framework",
- MobileCoreServices,
- "$(LLDB_ENERGY_LDFLAGS)",
- "$(LLDB_COMPRESSION_LDFLAGS)",
- );
- "OTHER_LDFLAGS[sdk=macosx*]" = (
- "-sectcreate",
- __TEXT,
- __info_plist,
- "$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
- "$(LLDB_ENERGY_LDFLAGS)",
- "$(LLDB_COMPRESSION_LDFLAGS)",
- );
OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
PRODUCT_NAME = debugserver;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
@@ -1499,27 +1531,6 @@
"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
);
"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
- "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
- "-framework",
- SpringBoardServices,
- "-framework",
- BackBoardServices,
- "-llockdown",
- "-framework",
- FrontBoardServices,
- "-framework",
- MobileCoreServices,
- "$(LLDB_ENERGY_LDFLAGS)",
- "$(LLDB_COMPRESSION_LDFLAGS)",
- );
- "OTHER_LDFLAGS[sdk=macosx*]" = (
- "-sectcreate",
- __TEXT,
- __info_plist,
- "$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
- "$(LLDB_ENERGY_LDFLAGS)",
- "$(LLDB_COMPRESSION_LDFLAGS)",
- );
OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
PRODUCT_NAME = debugserver;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
@@ -1690,28 +1701,6 @@
"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
);
"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
- OTHER_LDFLAGS = "";
- "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
- "-framework",
- SpringBoardServices,
- "-framework",
- BackBoardServices,
- "-llockdown",
- "-framework",
- FrontBoardServices,
- "-framework",
- MobileCoreServices,
- "$(LLDB_ENERGY_LDFLAGS)",
- "$(LLDB_COMPRESSION_LDFLAGS)",
- );
- "OTHER_LDFLAGS[sdk=macosx*]" = (
- "-sectcreate",
- __TEXT,
- __info_plist,
- "$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
- "$(LLDB_ENERGY_LDFLAGS)",
- "$(LLDB_COMPRESSION_LDFLAGS)",
- );
OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
PRODUCT_NAME = debugserver;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
@@ -1806,27 +1795,6 @@
"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
);
"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
- "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
- "-framework",
- SpringBoardServices,
- "-framework",
- BackBoardServices,
- "-llockdown",
- "-framework",
- FrontBoardServices,
- "-framework",
- MobileCoreServices,
- "$(LLDB_ENERGY_LDFLAGS)",
- "$(LLDB_COMPRESSION_LDFLAGS)",
- );
- "OTHER_LDFLAGS[sdk=macosx*]" = (
- "-sectcreate",
- __TEXT,
- __info_plist,
- "$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
- "$(LLDB_ENERGY_LDFLAGS)",
- "$(LLDB_COMPRESSION_LDFLAGS)",
- );
OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
PRODUCT_NAME = debugserver;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
diff --git a/lldb/tools/debugserver/source/CMakeLists.txt b/lldb/tools/debugserver/source/CMakeLists.txt
index 0ed6280168f3..6977fe734381 100644
--- a/lldb/tools/debugserver/source/CMakeLists.txt
+++ b/lldb/tools/debugserver/source/CMakeLists.txt
@@ -109,6 +109,10 @@ if(APPLE)
find_library(MOBILESERVICES_LIBRARY MobileCoreServices
PATHS ${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks)
find_library(LOCKDOWN_LIBRARY lockdown)
+ if (APPLE_EMBEDDED STREQUAL "watchos")
+ find_library(CAROUSELSERVICES_LIBRARY CarouselServices
+ PATHS ${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks)
+ endif()
if(NOT BACKBOARD_LIBRARY)
set(SKIP_TEST_DEBUGSERVER ON CACHE BOOL "" FORCE)
@@ -214,6 +218,7 @@ target_link_libraries(lldbDebugserverCommon
${SPRINGBOARD_LIBRARY}
${MOBILESERVICES_LIBRARY}
${LOCKDOWN_LIBRARY}
+ ${CAROUSELSERVICES_LIBRARY}
lldbDebugserverArchSupport
lldbDebugserverDarwin_DarwinLog
${FOUNDATION_LIBRARY}
@@ -266,6 +271,11 @@ if(APPLE_EMBEDDED)
WITH_FBS
WITH_BKS
)
+ if(CAROUSELSERVICES_LIBRARY)
+ set_property(TARGET lldbDebugserverCommon APPEND PROPERTY COMPILE_DEFINITIONS
+ WITH_CAROUSEL
+ )
+ endif()
set_property(TARGET debugserver APPEND PROPERTY COMPILE_DEFINITIONS
WITH_LOCKDOWN
WITH_FBS
diff --git a/lldb/tools/debugserver/source/MacOSX/MachProcess.mm b/lldb/tools/debugserver/source/MacOSX/MachProcess.mm
index d3c2f52a972a..80792f07214b 100644
--- a/lldb/tools/debugserver/source/MacOSX/MachProcess.mm
+++ b/lldb/tools/debugserver/source/MacOSX/MachProcess.mm
@@ -79,6 +79,11 @@
#endif // WITH_SPRINGBOARD
+#if WITH_CAROUSEL
+// For definition of CSLSOpenApplicationOptionForClockKit.
+#include <CarouselServices/CSLSOpenApplicationOptions.h>
+#endif // WITH_CAROUSEL
+
#if defined(WITH_SPRINGBOARD) || defined(WITH_BKS) || defined(WITH_FBS)
// This returns a CFRetained pointer to the Bundle ID for app_bundle_path,
// or NULL if there was some problem getting the bundle id.
@@ -402,6 +407,12 @@ static bool FBSAddEventDataToOptions(NSMutableDictionary *options,
DNBLog("Setting ActivateSuspended key in options dictionary.");
[options setObject:@YES forKey: FBSOpenApplicationOptionKeyActivateSuspended];
found_one = true;
+#if WITH_CAROUSEL
+ } else if (value.compare("WatchComplicationLaunch") == 0) {
+ DNBLog("Setting FBSOpenApplicationOptionKeyActivateSuspended key in options dictionary.");
+ [options setObject:@YES forKey: CSLSOpenApplicationOptionForClockKit];
+ found_one = true;
+#endif // WITH_CAROUSEL
} else {
DNBLogError("Unrecognized event type: %s. Ignoring.", value.c_str());
option_error.SetErrorString("Unrecognized event data.");
More information about the lldb-commits
mailing list