Compiling Java code for all target platforms at once
some-java-user-99206970363698485155 at vodafonemail.de
some-java-user-99206970363698485155 at vodafonemail.de
Sat Aug 27 13:55:28 UTC 2022
> It's not possible to cross compile all platforms from any single OS, so
> you can't provide native toolchains for separate builds on the same host.
>
> Depending on how close to correct you need the java class files to be
> produced, it could be possible to hack around in the build system to
> achieve something that is perhaps close enough, but as I said already,
> it won't be trivial. I doubt we would want to incorporate any such
> change into the build permanently without some very strong motivation.
>
> /Erik
Thanks a lot for your and David Holmes' quick and extensive responses. I was a
bit naive assuming that it would just work. I tried David's approach of including
the `classes` directories for all supported platforms, but that fails already
because for example the class `sun.nio.ch.PipeImpl` has a Unix and Windows
specific implementation.
It is a bit unfortunate that it is therefore not possible to build a CodeQL database
which contains all the Java code of the JDK, but at least you can build databases
containing the Java code for one specific platform. Most likely a database
containing the Java code for all platforms would also not provide proper dataflow
paths.
I agree that the work required to have the JDK build system support this special
use case is probably not worth it.
Kind regards
More information about the build-dev
mailing list