On Tue, 27 Aug 2024 23:15:03 GMT, Jiangli Zhou <jian...@openjdk.org> wrote:
>> And the discussion whether the checks are made "dynamically" or "statically" >> is too simplified to be really helpful. >> >> Currently, we compile two sets of all object files, with slightly different >> compiler arguments, one for dynamic libraries and one for static libraries. >> Files that are doing things differently for these two modes have an #ifdef, >> so the alternative way of doing things are not included in the object file. >> >> In your branch, you still have a separate compilation of all files for >> static builds, but you also try to figure out through various means (which >> involves jumping through some hoops to get the bootstrapping right) if this >> is a static build or a dynamic build. In a way, one could argue that this is >> just worse than the current solution, since you are still recompiling all >> files separately for static libraries so you could "know" at build time if >> you are static or not. >> >> What I am trying to do is to get to a point where we can compile almost all >> files just once, and then have two trivially small files that are compiled >> twice, with just a different value of a define that makes the difference. To >> propagate this information to all other object files, they need to call the >> function provided in this object file. So, is it then a "build time" lookup >> or a "runtime lookup", or a "static lookup" vs "dynamic lookup"? The >> semantics does not really matter. The whole point is that the difference in >> build is reduced to an absolute minimum. Sure, this single "lookup" function >> could be created more like the way you are doing in your branch to try to >> figure this out without the help of the build system, but there is really no >> point in that. This is a simple and elegant solution. > > @magicus please also specify contributor properly to so it's clear part of > the change is based on/extracted from > https://github.com/openjdk/leyden/tree/hermetic-java-runtime. @jianglizhou Are there any other authors on the `hermetic-java-runtime` branch that should be credited? ------------- PR Comment: https://git.openjdk.org/jdk/pull/20666#issuecomment-2315222006