RFR: JDK-8034788 Rewrite toolchain.m4 to support multiple toolchains per platform (original) (raw)

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Wed Feb 12 14:58:18 UTC 2014


We need to be able to handle different toolchains on the same platform, e.g. both gcc and clang on macosx. We have felt the need for this for quite some time, but it has become pressing due to the clang on macosx issue. (We are on a path to replace gcc with clang as official build platform on macosx, but we need to handle both toolchains during a transition period.

To do this properly requires a complete reorganisation and cleanup of toolchain.m4.

This is, as you can see, quite a large change in the configure system. Unfortunately, due to the bad state of the code in toolchain.m4, it was hard to do it in smaller steps. I have still tried to keep the changes small. For instance:

Both of these will be addressed in follow-up patches.

In this step, the priority has been to:

  1. introduce the toolchain type concept,
  2. cleanup toolchain.m4 to be able support this, and
  3. move flag handling out of toolchain.m4

This is a (somewhat cleaned up) log from the commits to my internal working repo, it gives a hint on what kind of changes/refactorisations that were performed:

Bug: https://bugs.openjdk.java.net/browse/JDK-8034788 WebRev: http://cr.openjdk.java.net/~ihse/JDK-8034788-rewrite-toolchain-m4/webrev.01

/Magnus



More information about the build-dev mailing list