RFR: JDK-8001912, JDK-8001913 Improve detection of msvcr100.dll
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Wed Oct 16 18:09:02 UTC 2013
Bug: https://bugs.openjdk.java.net/browse/JDK-8001912
Bug: https://bugs.openjdk.java.net/browse/JDK-8001913
To build on Windows, we need a redistribution copy of the Visual Studio
runtime library msvcr100.dll. There is unfortunately no well-defined
place to find this. Our current code searches for this slowly and
inefficiently, and does not look in all reasonable places. Also, it does
not check if the found DLL matches the architecture of the target cpu
we're building for.
These issues were discussed in two bugs, but it turned out that they
needed to be solved both at a single time, since we need to check the
architecture at each potential DLL we find, instead of once at the end.
(Otherwise we can't continue looking for a better match.) This is
similar to how we locate Visual Studio or the Boot JDK.
I moved the msvcr setup logic to a new function,
TOOLCHAIN_SETUP_MSVCR_DLL. WebRev does not display this gracefully,
unfortunately.
When testing with --with-msvcr-dll, it turned out that we do not handle
relative paths like ./myspeciallibs/msvcr100.dll correctly. This fix
also addresses this, by adding -a (rewrite as absolute path) to all
cygpath -u calls.
WebRev:
http://cr.openjdk.java.net/~ihse/JDK-8001912-improve-msvcr100-dll-detection/webrev.01
/Magnus
More information about the build-dev
mailing list