jdk build system is limited
Antoni Jankowski
antoni.s.jankowski at gmail.com
Wed Dec 17 11:50:39 UTC 2025
Hi Alexey,
Thank you for passing this to the right mailing list.
Best regards,
Antoni Jankowski
śr., 17 gru 2025, 12:44 użytkownik Alexey Ivanov <alexey.ivanov at oracle.com>
napisał:
> Hi Antoni,
>
> This discussion belongs in build-dev mailing list.
>
> --
> Regards,
> Alexey
>
> On 2025-12-17 11:22, Antoni Jankowski wrote:
>
> Hi,
>
> I've recently studied the jdk21u build system and noticed that at its core
> it is not meant to handle BUILDJDK and TARGETJDK being made for two very
> different systems.
> Many of the FLAGS are shared between the two and in many cases that may be
> problematic. A good example is the GENDEPS_FLAGS variable, which is only
> present in one version, just in the *make/autoconf/spec.gmk.in
> <http://spec.gmk.in>*, meaning that the BUILDJDK gets the same
> GENDEPS_FLAGS as the TARGETJDK. Shouldn't this variable be split into
> GENDEPS_FLAGS_TARGET and GENDEPS_FLAGS_BUILD to ensure a correct generation
> of dependency files in all sorts of cross-compilation scenarios?
>
> Same story is with the variables defined in *make/autoconf/flags-cflags.m4,
> make/autoconf/flags-ldflags.m4 and make/autoconf/flags-other.m4, *like
> * $2CFLAGS_JDKEXE
> * $2CXXFLAGS_JDKEXE
> * $2CFLAGS_JDKLIB
> as they all depend on the OPENJDK_TARGET_OS variable, which is the same
> for both TARGETJDK and BUILDJDK. I suppose the root of the problem is right
> there, where in *build-spec.gmk.in <http://build-spec.gmk.in>* the
> OPENJDK_TARGET_OS variable is not overwritten with the value of
> OPENJDK_BUILD_OS, like it's done with other OPENJDK_TARGET_* variables. I
> suppose no problems occur when the compiler is shared between the target
> and the build platforms, even less problems in case of linux or macOS in
> both cases being the operating system, however in case of the target system
> differing greatly from the build, the cross-compilation is close to
> impossible with the current build system.
>
> I wonder if that is a design choice, or perhaps a limitation that was not
> planned.
> Would you be open for changes that make it a bit easier to introduce a new
> platform target to openjdk? I'd gladly post a pull request solving the
> issues mentioned.
>
> Best regards,
> Antoni Jankowski
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/build-dev/attachments/20251217/52abcb38/attachment.htm>
More information about the build-dev
mailing list