Audit set of bundled MinGW import libraries

463ee23
Opened by Peter Atashian at 2023-10-06 04:17:35

The set of import libraries that Rust bundles should strictly be what is needed to link against the libraries that come with the Rust distribution. Missing an import library causes link errors while including unnecessary import libraries bloats the distribution.

| Library | Necessary | |--|--| | libadvapi32.a | Yes | | libbcrypt.a | No | | libcomctl32.a | No | | libcomdlg32.a | No | | libcredui.a | Yes and missing! | | libcrypt32.a | No | | libdbghelp.a | Yes | | libgdi32.a | Yes | | libimagehlp.a | No | | libiphlpapi.a | No | | libkernel32.a | Yes | | libmsimg32.a | Yes | | libmsvcrt.a | Yes | | libodbc32.a | No | | libole32.a | No | | liboleaut32.a | No | | libopengl32.a | Yes | | libpsapi.a | Yes | | librpcrt4.a | No | | libsecur32.a | Yes and missing! | | libsetupapi.a | Yes | | libshell32.a | Yes | | libuser32.a | Yes | | libuserenv.a | Yes | | libuuid.a | No | | libwinhttp.a | No | | libwinmm.a | No | | libwinspool.a | Yes | | libws2_32.a | Yes | | libwsock32.a | No |

  1. Triage: The above list looks outdated according to https://github.com/rust-lang/rust/pull/108262#issuecomment-1454836352. Not sure if we should keep this issue open, but it is kind of a neat list that is useful to base an updated list on, so I'll leave this open for now.

    Martin Nordholts at 2023-10-06 04:17:35