[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