my $isWin64;
my $isInspectorFrontend;
my $portName;
-my $shouldTargetWebProcess;
-my $shouldUseXPCServiceForWebProcess;
my $shouldUseGuardMalloc;
my $shouldNotUseNinja;
my $xcodeVersion;
return $ENV{'OS'} eq 'Windows_NT';
}
-sub shouldTargetWebProcess
-{
- determineShouldTargetWebProcess();
- return $shouldTargetWebProcess;
-}
-
-sub determineShouldTargetWebProcess
-{
- return if defined($shouldTargetWebProcess);
- $shouldTargetWebProcess = checkForArgumentAndRemoveFromARGV("--target-web-process");
-}
-
-sub shouldUseXPCServiceForWebProcess
-{
- determineShouldUseXPCServiceForWebProcess();
- return $shouldUseXPCServiceForWebProcess;
-}
-
-sub determineShouldUseXPCServiceForWebProcess
-{
- return if defined($shouldUseXPCServiceForWebProcess);
- $shouldUseXPCServiceForWebProcess = checkForArgumentAndRemoveFromARGV("--use-web-process-xpc-service");
-}
-
sub debugger
{
determineDebugger();
--help Show this help message
--no-saved-state Launch the application without state restoration (OS X 10.7 and later)
-g|--guard-malloc Enable Guard Malloc (OS X only)
- --use-web-process-xpc-service Launch the Web Process as an XPC Service (OS X only)
EOF
if ($includeOptionsForDebugging) {
print STDERR <<EOF;
- --target-web-process Debug the web process
--use-gdb Use GDB (this is the default when using Xcode 4.4 or earlier)
--use-lldb Use LLDB (this is the default when using Xcode 4.5 or later)
EOF
# FIXME: Don't set ApplePersistenceIgnoreState once all supported OS versions respect ApplePersistenceIgnoreStateQuietly (rdar://15032886).
push @args, ("-ApplePersistenceIgnoreState", "YES");
}
- push @args, ("-WebKit2UseXPCServiceForWebProcess", "YES") if shouldUseXPCServiceForWebProcess();
unshift @args, @ARGV;
return @args;
setupMacWebKitEnvironment($productDir);
my @architectureFlags = ($architectureSwitch, architecture());
- if (!shouldTargetWebProcess()) {
- print "Starting @{[basename($appPath)]} under $debugger with DYLD_FRAMEWORK_PATH set to point to built WebKit in $productDir.\n";
- exec { $debuggerPath } $debuggerPath, @architectureFlags, $argumentsSeparator, $appPath, argumentsForRunAndDebugMacWebKitApp() or die;
- } else {
- if (shouldUseXPCServiceForWebProcess()) {
- die "Targeting the Web Process is not compatible with using an XPC Service for the Web Process at this time.";
- }
-
- my $webProcessShimPath = File::Spec->catfile($productDir, "SecItemShim.dylib");
- my $webProcessPath = File::Spec->catdir($productDir, "WebProcess.app");
- my $webKit2ExecutablePath = File::Spec->catfile($productDir, "WebKit2.framework", "WebKit2");
-
- appendToEnvironmentVariableList("DYLD_INSERT_LIBRARIES", $webProcessShimPath);
-
- print "Starting WebProcess under $debugger with DYLD_FRAMEWORK_PATH set to point to built WebKit in $productDir.\n";
- exec { $debuggerPath } $debuggerPath, @architectureFlags, $argumentsSeparator, $webProcessPath, $webKit2ExecutablePath, "-type", "webprocess", "-client-executable", $appPath or die;
- }
+ print "Starting @{[basename($appPath)]} under $debugger with DYLD_FRAMEWORK_PATH set to point to built WebKit in $productDir.\n";
+ exec { $debuggerPath } $debuggerPath, @architectureFlags, $argumentsSeparator, $appPath, argumentsForRunAndDebugMacWebKitApp() or die;
}
sub debugSafari
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
- version = "1.7">
- <BuildAction
- parallelizeBuildables = "NO"
- buildImplicitDependencies = "YES">
- <PreActions>
- <ExecutionAction
- ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
- <ActionContent
- title = "Run Script"
- scriptText = ""$SRCROOT/../../Tools/Scripts/copy-webkitlibraries-to-product-directory" --wksi --llvm">
- <EnvironmentBuildable>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "5D247B6114689B8600E78B76"
- BuildableName = "libWTF.a"
- BlueprintName = "WTF"
- ReferencedContainer = "container:Source/WTF/WTF.xcodeproj">
- </BuildableReference>
- </EnvironmentBuildable>
- </ActionContent>
- </ExecutionAction>
- </PreActions>
- <BuildActionEntries>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "14F271BD18EA3963008C152F"
- BuildableName = "libbmalloc.a"
- BlueprintName = "bmalloc"
- ReferencedContainer = "container:Source/bmalloc/bmalloc.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "5D247B6114689B8600E78B76"
- BuildableName = "libWTF.a"
- BlueprintName = "WTF"
- ReferencedContainer = "container:Source/WTF/WTF.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "932F5BE30822A1C700736975"
- BuildableName = "All"
- BlueprintName = "All"
- ReferencedContainer = "container:Source/JavaScriptCore/JavaScriptCore.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "FB39D0D01200F0E300088E69"
- BuildableName = "libANGLE.a"
- BlueprintName = "ANGLE"
- ReferencedContainer = "container:Source/ThirdParty/ANGLE/ANGLE.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "41816F7913859C550057AAA4"
- BuildableName = "All"
- BlueprintName = "All"
- ReferencedContainer = "container:Source/WebCore/WebCore.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A54C2256148B23DF00373FA3"
- BuildableName = "WebInspectorUI.framework"
- BlueprintName = "WebInspectorUI"
- ReferencedContainer = "container:Source/WebInspectorUI/WebInspectorUI.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "9398100A0824BF01008DF038"
- BuildableName = "WebKitLegacy.framework"
- BlueprintName = "WebKitLegacy"
- ReferencedContainer = "container:Source/WebKit/WebKit.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "1A50DB38110A3C13000D3FE5"
- BuildableName = "All"
- BlueprintName = "All"
- ReferencedContainer = "container:Source/WebKit2/WebKit2.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- </BuildActionEntries>
- </BuildAction>
- <TestAction
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- shouldUseLaunchSchemeArgsEnv = "YES"
- buildConfiguration = "Debug">
- <Testables>
- </Testables>
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "1A50DB1D110A3BDC000D3FE5"
- BuildableName = "WebProcess.app"
- BlueprintName = "WebProcess"
- ReferencedContainer = "container:Source/WebKit2/WebKit2.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
- </TestAction>
- <LaunchAction
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- launchStyle = "0"
- useCustomWorkingDirectory = "NO"
- buildConfiguration = "Debug"
- ignoresPersistentStateOnLaunch = "NO"
- debugDocumentVersioning = "YES"
- allowLocationSimulation = "YES">
- <BuildableProductRunnable>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "1A50DB1D110A3BDC000D3FE5"
- BuildableName = "WebProcess.app"
- BlueprintName = "WebProcess"
- ReferencedContainer = "container:Source/WebKit2/WebKit2.xcodeproj">
- </BuildableReference>
- </BuildableProductRunnable>
- <CommandLineArguments>
- <CommandLineArgument
- argument = ""$(BUILT_PRODUCTS_DIR)/WebKit2.framework/WebKit2""
- isEnabled = "YES">
- </CommandLineArgument>
- <CommandLineArgument
- argument = "-type webprocess"
- isEnabled = "YES">
- </CommandLineArgument>
- <CommandLineArgument
- argument = "-client-executable /Applications/Safari.app/Contents/MacOS/SafariForWebKitDevelopment"
- isEnabled = "YES">
- </CommandLineArgument>
- </CommandLineArguments>
- <EnvironmentVariables>
- <EnvironmentVariable
- key = "DYLD_INSERT_LIBRARIES"
- value = "$(BUILT_PRODUCTS_DIR)/WebProcessShim.dylib"
- isEnabled = "YES">
- </EnvironmentVariable>
- </EnvironmentVariables>
- <AdditionalOptions>
- </AdditionalOptions>
- </LaunchAction>
- <ProfileAction
- shouldUseLaunchSchemeArgsEnv = "YES"
- savedToolIdentifier = ""
- useCustomWorkingDirectory = "NO"
- buildConfiguration = "Release"
- debugDocumentVersioning = "YES">
- </ProfileAction>
- <AnalyzeAction
- buildConfiguration = "Debug">
- </AnalyzeAction>
- <ArchiveAction
- buildConfiguration = "Release"
- revealArchiveInOrganizer = "YES">
- </ArchiveAction>
-</Scheme>