编译环境

  • 操作系统: macOS Big Sur 11.4 20F71 x86_64
  • CPU架构: x86
  • BootStrap: zulu17.28.13-ca-jdk17.0.0-macosx_x64

编译版本: https://github.com/openjdk/jdk

下载jdk源码

git clone https://git.openjdk.java.net/jdk/

根据发布版本记录切换到 jdk17-ga版本

git checkout jdk-17-ga

运行配置

构建之前彻底清空上一次编译结果

make dist-clean

配置 BootStrap JDK。编译jdk17需要jdk17,下载已经编译好的jdk作为BootStrap JDK 同一个终端下配置JAVA_HOME

export JAVA_HOME=${jdk17 home}

最后执行bash configure, 处理WARN等日志

成功结果

Configuration summary:
* Name:           macosx-x86_64-server-release
* Debug level:    release
* HS debug level: product
* JVM variants:   server
* JVM features:   server: 'cds compiler1 compiler2 dtrace epsilongc g1gc jfr jni-check jvmci jvmti management nmt parallelgc serialgc services shenandoahgc vm-structs zgc'
* OpenJDK target: OS: macosx, CPU architecture: x86, address length: 64
* Version string: 17-internal+0-adhoc.linran.jdk (17-internal)

Tools summary:
* Boot JDK:       openjdk version "17" 2021-09-14 LTS OpenJDK Runtime Environment Zulu17.28+13-CA (build 17+35-LTS) OpenJDK 64-Bit Server VM Zulu17.28+13-CA (build 17+35-LTS, mixed mode, sharing) (at /Users/linran/dev/java-jdk/zulu17.28.13-ca-jdk17.0.0-macosx_x64)
* Toolchain:      clang (clang/LLVM from Xcode 13.0)
* C Compiler:     Version 13.0.0 (at /usr/bin/clang)
* C++ Compiler:   Version 13.0.0 (at /usr/bin/clang++)

Build performance summary:
* Cores to use:   8
* Memory limit:   32768 MB

编译

执行make images,编译整个jdk镜像 完成编译结果

Creating jdk image
Creating CDS archive for jdk image
Creating CDS-NOCOOPS archive for jdk image
Stopping sjavac server
Finished building target 'images' in configuration 'macosx-x86_64-server-release'

验证结果

./build/*/images/jdk/bin/java -version

运行基础测试

  make run-test-tier1

REF