Skip to content

Instantly share code, notes, and snippets.

@pruidong
Last active January 22, 2021 05:45
Show Gist options
  • Save pruidong/5df5319651ef89f0d47a184ef9342941 to your computer and use it in GitHub Desktop.
Save pruidong/5df5319651ef89f0d47a184ef9342941 to your computer and use it in GitHub Desktop.
Windows 10编译OpenJDK源码

Windows 10编译OpenJDK源码

所需环境:

  • Windows 10 x64;
  • Visual Studio 2019(必须安装在默认路径下面.同时需要安装C++开发组件);
  • Cygwin64最新版;
  • 引导JDK(可以是最新稳定版JDK,需要配置JAVA_HOME环境变量).

参考链接:

获取源码:

# cmd或者PowerShell

# -b 为选择指定标签.
git clone -b jdk-16+29 https://gitee.com/mirrors/openjdk.git

运行配置

# Cygwin64

# 推荐使用下面的命令(命令参数含义: 禁用-警告被视为错误):

bash configure --disable-warnings-as-errors

# 默认命令(可能会报错,但其实报错信息来自警告)
bash configure

可能的问题

Target CPU mismatch. We are building for x86_64 but CL is for ""; expected "x64"

打开

make/autoconf/toolchain.m4

找到"Target CPU mismatch",有两个办法:

  1. 注释这一段if;
  2. 把AC_MSG_ERROR改成AC_MSG_RESULT

构建镜像:

# Cygwin64

make images

校验新构建的JDK:

# Cygwin64

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

如果输出了下面的文本,则表示大功告成!

openjdk version "16-internal" 2021-03-16
OpenJDK Runtime Environment (build 16-internal+0-adhoc.pcname.openjdk)
OpenJDK 64-Bit Server VM (build 16-internal+0-adhoc.pcname.openjdk, mixed mod
e, sharing)

运行基础测试(可选):

# Cygwin64

make run-test-tier1

更新

  • 2021-01-22 初次整理.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment