On Thu, 3 Dec 2020 14:19:13 GMT, Magnus Ihse Bursie <i...@openjdk.org> wrote:
> 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. This pull request has now been integrated. Changeset: d29c78da Author: Magnus Ihse Bursie <i...@openjdk.org> URL: https://git.openjdk.java.net/jdk/commit/d29c78da Stats: 4737 lines in 50 files changed: 1908 ins; 2492 del; 337 mod 8257679: Improved unix compatibility layer in Windows build (winenv) Reviewed-by: erikj, jvernee, burban ------------- PR: https://git.openjdk.java.net/jdk/pull/1597