On 4/9/26 09:05, Erik Joelsson wrote:
Hello,
The OpenJDK community as a whole does not have a uniform configuration
for building OpenJDK. There are multiple entities that each produce
binaries and they all have their own specific configurations based on
their business needs. The binaries hosted at jdk.java.net are built by
Oracle. While there isn't anything inherently secret about how those
binaries are built (most of the logic for piecing together the
configure command lines can be inferred by reading
make/conf/jib-profiles.js even if the exact interpretation of that
file is not public), actually putting together and publishing the
exact configurations would require some amount of effort from our
side, so for that simple reason, it's not something we do.
I can provide a quickly sanitized version of the configure command
lines used for recent builds for the 3 major operating systems. Note
that this will still not completely emulate our builds as for example
signing logic is proprietary. The version options are specific to that
one particular build. The referenced dependencies you would need to
figure out based on the make/devkit/ scripts.
Windows:
configure --with-boot-jdk=.../jdk-26 MAKE=.../make
--with-jmh=.../jmh-1.37
--with-jcov=/cygdrive/c/ade/mesos/work_dir/jib-master/install/jcov/3.0/5/bundles/jcov-3.0+5.zip
--with-devkit=.../devkit-windows_x64-VS2022-17.13.2
--with-gtest=.../googletest-1.14.0
PANDOC=.../pandoc-windows_x64-2.19.2/pandoc/pandoc
--with-exclude-translations=es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK
--disable-jvm-feature-shenandoahgc --with-version-build=17
--with-version-pre=ea --with-default-make-target=product-bundles
test-bundles static-libs-bundles --with-vendor-name='"Oracle
Corporation"' --with-vendor-url='https://java.oracle.com/'
--with-vendor-bug-url='https://bugreport.java.com/bugreport/'
MacOS:
configure --with-boot-jdk=.../jdk-26.jdk/Contents/Home
MAKE=.../gnumake-macosx_aarch64-4.0+1.0/bin/make
--with-jmh=.../jmh-1.37 --with-jcov=.../jcov-3.0+5
--with-devkit=.../devkit-macosx-Xcode15.4
--with-gtest=.../googletest-1.14.0
DOT=.../graphviz-macosx_aarch64-9.0.0/dot
PANDOC=.../pandoc-macosx_aarch64-2.19.2/pandoc/pandoc
TIDY=.../tidy-html-macosx-5.9.20/tidy/bin/tidy
--with-exclude-translations=es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK
--disable-jvm-feature-shenandoahgc --with-version-build=17
--with-version-pre=ea --with-version-opt=1564
--with-macosx-bundle-build-version=17.1564
--with-source-date=1775743790 --with-macosx-version-max=11.00.00
--with-default-make-target=product-bundles test-bundles
static-libs-bundles --with-vendor-name='"Oracle Corporation"'
--with-vendor-url='https://java.oracle.com/'
--with-vendor-bug-url='https://bugreport.java.com/bugreport/'
Linux:
configure --with-boot-jdk=.../jdk-26
MAKE=.../gnumake-linux_x64-4.0/bin/make --with-jmh=.../jmh-1.37
--with-jcov=.../jcov-3.0
--with-devkit=.../devkit-linux_x64-gcc14.2.0-OL6.4/x86_64-linux-gnu-to-x86_64-linux-gnu
--with-gtest=.../googletest-1.14.0
DOT=.../graphviz-linux_x64-9.0.0/dot
PANDOC=.../pandoc-linux_x64-2.19.2/pandoc/pandoc
TIDY=.../tidy-html-linux_x64-5.9.20/installtidylinux/bin/tidy
--with-exclude-translations=es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK
--disable-jvm-feature-shenandoahgc --with-version-build=17
--with-version-pre=ea --with-version-opt=1564
--with-source-date=1775743790 --with-zlib=system --disable-dtrace
--enable-openjdk-only --with-default-make-target=product-bundles
test-bundles static-libs-bundles --with-vendor-name='"Oracle
Corporation"' --with-vendor-url='https://java.oracle.com/'
--with-vendor-bug-url='https://bugreport.java.com/bugreport/'
I think it's worth reiterating that the vendor specific config options
are just that, vendor specific, so you should not copy those for your
builds. I only included them for completeness.
/Erik
/Erik
On 4/8/26 23:35, Hui Fei wrote:
Hi community,
I see that GA releases are available here:
https://jdk.java.net/archive/.
Could you kindly share the build configurations used for these releases?
I would like to build OpenJDK using the same configurations as the
community.
Thank you in advance!