RFR: 8328680: Introduce JDK_LIB, and clean up module native compilation

Magnus Ihse Bursie ihse at openjdk.org
Thu Mar 21 14:29:28 UTC 2024


On Thu, 21 Mar 2024 11:49:11 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> This is the first step of several, in which I will clean up the native compilation code as used by modules. In this first step `java.base`, `java.deskop`, `jdk.accessibility` and `jdk.jpackage` are left out, since they require more work. The changes in the remaining modules are trivial by comparison.
> 
> The changes done here are:
> 
> 1) A new argument `JDK_LIB` has been introduced, that is used for linking with other libraries produced by the JDK build. As a follow-up, this will be further cleaned up and generalized, but the goal for this change is just to separate them out from external libraries.
> 
> 2) The list of libraries given to `LIB` and `JDK_LIB` has been sorted in alphabetical order. Note that this change will affect the resulting binaries (since the order libraries are given are stored in the binary), but this change should only be superficial. (If we have symbol clashes between libraries, then we have problems on a whole other level...).
> 
> 3) The code has been checked for inconsistencies and style guide errors, and a common programming style has been applied to all `Lib.gmk` and `Launcher.gmk` files, making sure that all parts follow best practices.
> 
> This PR will be followed up by invidual PRs for the modules requiring not jsut trivial cleanup (`java.base`, `java.deskop`, `jdk.accessibility` and `jdk.jpackage`), and a PR which will unify `JDK_LIB` handling across platforms, and automatically apply proper dependencies.

I have checked this patch using COMPARE_BUILD on Oracle CI standard platforms. As expected, there are binary differences. I have looked through the binary differences, and to the best of my ability to judge, they are all effects of the change in library link order, or downstream changes as an effect of that primary change. This should have no actual runtime effect on the product.

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

PR Comment: https://git.openjdk.org/jdk/pull/18430#issuecomment-2012441544


More information about the build-dev mailing list