mk: Fix LD_LIBRARY_PATH_ENV_NAMES in cross build
auto merge of #15705 : klutzy/rust/cross-ld-library, r=alexcrichton
Add support for patterns referencing non-trivial statics

This is accomplished by rewriting static expressions into equivalent patterns.
This way, patterns referencing static variables can both participate
in exhaustiveness analysis as well as be compiled down into the appropriate
branch of the decision trees that match expressions are codegened to.

Fixes #6533.
Fixes #13626.
Fixes #13731.
Fixes #14576.
Fixes #15393.