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

Reply via email to