The idea of setting up general "toolchains" in the native build was good, but 
it turned out that we really only need a single toolchain, with a single twist: 
if it should use CC or CPP to link. This is better described by a specific 
argument to SetupNativeCompilation, LANG := C++ or LANG := C (the default).

There is a single exception to this rule, and that is if we want to compile for 
the build platform rather than the target platform. (This is only done for 
adlc) To keep expressing this difference, introduce TARGET_TYPE := BUILD (or 
TARGET_TYPE := TARGET, the default).

The final odd-case was the hack for building hsdis/bin on mingw. This can be 
resolved using direct variables to SetupNativeCompilation, instead of first 
creating a toolchain.

Doing this refactoring will simplify the SetupNativeCompilation code, and make 
it much clearer if we use the C or C++ linker.

-------------

Commit messages:
 - 8326583: Remove over-generalized DefineNativeToolchain solution

Changes: https://git.openjdk.org/jdk/pull/17986/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17986&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8326583
  Stats: 225 lines in 14 files changed: 55 ins; 137 del; 33 mod
  Patch: https://git.openjdk.org/jdk/pull/17986.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17986/head:pull/17986

PR: https://git.openjdk.org/jdk/pull/17986

Reply via email to