Files
UnrealEngineUWP/Engine/Source/Programs/SymsLibDump/SymsLibDump.Target.cs
Brandon Schaefer 5c141c554d First pass at new tool SymsLibDump
This will look at replacing dump_syms, as it is *much* faster, takes ~85% less time to produce a psym file.

Still some work to be done so not going to be enabled yet. Issues with calle vs call site for inlining location is causing a much larger symbol file

The aim of this tool is to produce the exact same output as dump_syms which is formatted as:
https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/symbol_files.md

time SymsLibDump -input /path/to/four_gb.debug -output /path/output.psym
real    0m14.457s

time dump_syms -o /path/output.psym /path/to/four_gb.debug
real    1m30.276s

#jira UE-153228
#rb Johan.Berg
#preflight none

[CL 20364685 by Brandon Schaefer in ue5-main branch]
2022-05-25 10:51:11 -04:00

38 lines
1.1 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
[SupportedPlatforms(UnrealPlatformClass.Desktop)]
public class SymsLibDumpTarget : TargetRules
{
public SymsLibDumpTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "SymsLibDump";
// Make SymsLibDump the shipping version
UndecoratedConfiguration = UnrealTargetConfiguration.Shipping;
// Lean and mean
bBuildDeveloperTools = false;
// Compile out references from Core to the rest of the engine
bCompileAgainstEngine = false;
bCompileAgainstCoreUObject = false;
// Logs are still useful to print the results
bUseLoggingInShipping = true;
// Make a console application under Windows, so entry point is main() everywhere
bIsBuildingConsoleApplication = true;
// Only output on Error or higher logs in shipping builds
if (Target.Configuration == UnrealTargetConfiguration.Shipping)
{
GlobalDefinitions.Add("COMPILED_IN_MINIMUM_VERBOSITY=Error");
}
}
}