Skip to content

Support UCRT64 in check-for-missing-dlls#716

Merged
dscho merged 4 commits into
mainfrom
check-for-missing-dlls-vs-ucrt64
Jun 17, 2026
Merged

Support UCRT64 in check-for-missing-dlls#716
dscho merged 4 commits into
mainfrom
check-for-missing-dlls-vs-ucrt64

Conversation

@dscho

@dscho dscho commented Jun 16, 2026

Copy link
Copy Markdown
Member

I noticed over in git-for-windows/git-sdk-64#117 that the check-for-missing-dlls job failed. That's because the script needed some adjustment. (The make-file-list.sh script, to be precise.)

dscho added 4 commits June 16, 2026 22:28
To allow specifying MINGW packages to be excluded in a convenient
manner, the `mingw-w64-` prefix is automatically expanded to a pattern
that matches the various architectures.

Include UCRT64 in that pattern.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The `pdftotext` dependencies are somewhat special, as they include the
C++ standard library that we specifically want to exclude in MinGit, but
have to include in regular Git for Windows because `pdftotext.exe`
depends on it (and `WhoUses.exe`, too).

But that is a GCC-specific issue, as the Clang-based builds we use for
Windows/ARM64 do not want that handling. UCRT64 _is_ GCC-specific, so we
want to include _that_ in that handling.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Tons of exclusions started out as `mingw..` regular expressions,
matching both `/mingw64/` and `/mingw32/`.

When CLANGARM64 joined the fray, these patterns were extended to also
match `clang*` (seeing as `clang64` might be something we'd also want to
match).

Now that UCRT64 is coming along for the ride, we _could_ add all of
those patterns to also match `/ucrt64/`. But this is as good an
opportunity as any to instead be precise in what we want: We do not want
to exclude `/clangarm64/` files in MINGW64, for example, as that would
hide some undesirable payload. Instead, we basically want to match the
MINGW_PREFIX (which this script knows as `/$MSYSTEM_LOWER`).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Now that the `make-file-list.sh` file is prepared for that flavor, we
should ensure that it stays that way by running this check in all PRs.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho self-assigned this Jun 16, 2026
@dscho dscho marked this pull request as ready for review June 16, 2026 20:55
@dscho dscho merged commit 9c13621 into main Jun 17, 2026
22 checks passed
@dscho dscho deleted the check-for-missing-dlls-vs-ucrt64 branch June 17, 2026 10:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant