RFR: 8257679: Improved unix compatibility layer in Windows build (winenv) [v7]
Magnus Ihse Bursie
ihse at openjdk.java.net
Sat Dec 5 01:13:34 UTC 2020
> For the build to work on Windows, we need a unix compatibility layer (known as the "winenv" in the build system). This can be e.g. Cygwin or Msys. The build system then needs to adapt various aspect to get the build to work in this winenv. Over time, our current solutions (which were never that well-designed) has collapsed into an unmaintainable mess.
>
> This rewrite takes on a fresh approach, by giving up on the native "fixpath.exe" converter, and instead relying on a platform-independent shell script "fixpath.sh", which can dynamically adapt to the current winenv. It also provides a proper framework on how to categorize, and support, different winenvs. As a result, we now easily support Cygwin, Msys2, WSL1 and WSL2 (the latter is unfortunately not mature enough to be able to compile the JDK).
>
> Furthermore, this rewrite removes all the kludges and hacks that were put in place all over the code base, and consolidates all tricky part of handling the winenv to basically two places: setting up in configure, and run-time handling by fixpath.sh.
>
> This patch also cleans up our handling of how we detect tools in configure, and makes a proper framework for cross-compilation on Windows.
Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision:
Extract only the actual contents added to the PATH by VS SetEnv.cmd.
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/1597/files
- new: https://git.openjdk.java.net/jdk/pull/1597/files/41cee7d1..ef81e1f9
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1597&range=06
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1597&range=05-06
Stats: 8 lines in 2 files changed: 7 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/1597.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1597/head:pull/1597
PR: https://git.openjdk.java.net/jdk/pull/1597
More information about the hotspot-compiler-dev
mailing list