> 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: Make fixpath import ignore bad paths while importing path lists ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/1597/files - new: https://git.openjdk.java.net/jdk/pull/1597/files/20f26190..5b7a7490 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1597&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1597&range=02-03 Stats: 57 lines in 2 files changed: 15 ins; 3 del; 39 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