[External] : Re: Which JDK in the build directory is the one that is shipped?
erik.joelsson at oracle.com
erik.joelsson at oracle.com
Mon Feb 12 14:16:15 UTC 2024
On 2/11/24 03:14, Julian Waters wrote:
> Hi Erik,
>
> Thanks for the clarification! How then does Oracle compile the JDK,
> such that the versioning numbers appear in the following manner?
>
> C:\Users\vertig0>java --version
> java 21 2023-09-19 LTS
> Java(TM) SE Runtime Environment (build 21+35-LTS-2513)
> Java HotSpot(TM) 64-Bit Server VM (build 21+35-LTS-2513, mixed mode,
> sharing)
>
> (My system doesn't have OpenJDK as its main JDK, and uses the Oracle
> JDK instead. The "Java" strings should rightfully be "OpenJDK", so pay
> no mind to that. Last I remember, the printed OpenJDK version is the
> same as above except for "Java(TM)" being "OpenJDK" instead)
>
> The MSYS2 Project would prefer to have its MinGW JDKs versioned as
> such (Eg build 21+35-LTS-2513 or whatever), rather than something like
> "23-internal-adhoc.mingwci.jdk", and we'd prefer to mimic how Oracle
> compiles both OpenJDK and Oracle JDK as closely as possible.
>
> I believe Oracle probably does it by specifying different parts of the
> version string on configure, something like
>
> bash configure <Whatever the option string and other compile options are>
> make product-bundles
>
> but I'd like to know the exact flags used, especially for Windows
> binaries, if possible
>
These are the relevant arguments we used for that particular build:
--with-version-build=35 --with-version-pre= --with-version-opt=LTS-2513
/Erik
> best regards,
> Julian
>
> On Thu, Feb 1, 2024 at 9:52 PM <erik.joelsson at oracle.com> wrote:
>
> On 2/1/24 04:47, Julian Waters wrote:
> > Hi all,
> >
> > Quick question: Which JDK in the build directory is the one that is
> > officially shipped by Oracle? Is it the one in "jdk" that is
> directly
> > in the build directory, or the one in "images/jdk"?
>
> The one in images/jdk is the one we base the distribution on, but
> it's
> not actually exactly that. For historic reasons the image
> generated in
> images/jdk contains external debug symbols, which we do not ship.
> To get
> exactly what is shipped, run `make product-bundles` and check the
> zip/tar.gz in "bundles/".
>
> The one directly in jdk, the "exploded image", just exists because
> it's
> faster to build, especially incrementally, so in some developer
> workflows it's preferred. Since the class files are all laid out
> on disk
> and not jlinked together, it has quite different performance
> characteristics.
>
> /Erik
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/build-dev/attachments/20240212/d640c04a/attachment-0001.htm>
More information about the build-dev
mailing list