Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a
minimize
subcommand that performs asplat
, followed by running an actual compile for windows (defaults tox86_64-pc-windows-msvc
) wrapped instrace
so that xwin can detect all file accesses to headers and libraries in the crt and sdk, and writing only those accessed files to a map file. This map file can then be used with asplat
to only splat and symlink the files listed in map file.This results in a vastly smaller splat output eg. from 577 MiB -> 105 MiB for a large internal project that includes a significant amount of C/C++ code.
This also adds a
--sdk-version
and--crt-version
so allow users to explicitly specify the sdk/crt to use, rather than the default behavior of always using the latest version detected in the manifest used. This was primarily done due to some CRT in the latest version required clang 16+, from the previous lowest version being 11, which can be too much of a jump for some people.Resolves: #85
Resolves: #84
Resolves: #28