Three things broke the x86_64-w64-mingw32 build; two are real and fixed
here (the third was a stale-object contamination from building Linux and
Windows in the same tree, resolved by a clean rebuild — not a code fix).
1. Single-pass mingw ld could not resolve the cross-references DragonX
added between the internal static archives (libbitcoin_util/common
objects pulling in UniValue; util<->common mutual deps). GNU ld on
Linux re-scans archives so it never surfaced; ld64 on macOS rejects
the grouping flag outright. Bracket each binary's _LDADD in
-Wl,--start-group/--end-group, delivered via AC_SUBST(LINK_GROUP_*)
so automake does not reject the linker flag inside _LDADD, and left
empty on every non-Windows target.
2. The Rust build emits the mingw archive as rustzcash.lib, but the
link line asks for -lrustzcash, i.e. librustzcash.a. Normalize the
staged filename to librustzcash.a for every host (a no-op on
Linux/macOS, where the basename was already librustzcash.a).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>