Windows 10 下编译 OpenJDK8

只是编译,不调试。

一、安装 Cygwin

32 位和 64 位都可以试试。

https://cygwin.com/install.html

把这些装上(https://hg.openjdk.java.net/jdk8u/jdk8u/raw-file/tip/README-builds.html

二、下载源码(OpenJDK8)

https://www.mercurial-scm.org/downloads

# 下载源码,目标目录需要为空
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u /jdk8u

# 更新代码,操作和 Git 类似
hg pull

# 获取完整源码(需要在源码目录下执行,下载时间较长,一次可能下载不成功,多试几次)
cd jdk8u/
set path=D:OpenJDKcygwinin;%path%
bash get_source.sh

三、安装 VS2010

安装英文版本,只需要安装 c++ 部分,安装路径不要有空格或中文(默认路径有空格)

文件名     en_visual_studio_2010_professional_x86_dvd_509727.iso
SHA1      F0ED50712D83BF0EDA7D284DA76DF49E4C88CEF7
文件大小   2.19GB
发布时间   2010-04-12
ed2k://|file|en_visual_studio_2010_professional_x86_dvd_509727.iso|2351316992|D395B6381AC129209EE80D9BED4BA5F1|/

安装完成后看看是否自动设置了环境变量 VS100COMNTOOLS

四、编译

下载 freetype-2.5.3 版本(--with-freetype-src):https://download.savannah.gnu.org/releases/freetype/

也可以直接下载编译好的(--with-freetype):https://www.freetype.org/download.htmlhttps://github.com/ubawurinna/freetype-windows-binaries/releases,解压后将 win64 文件夹重命名为 lib

编译相关说明:https://www.cnblogs.com/jhxxb/p/11094578.html

# 打开 CMD,也可以使用 bash 环境
bash ./configure --with-boot-jdk=D:/OpenJDK/jdk1.7.0_80 --with-target-bits=64 --enable-debug-symbols --with-debug-level=slowdebug --with-freetype=D:OpenJDKfreetype-2.10.1

# --with-target-bits=64 编译 64 位
# --enable-debug-symbols 生成调试符号
# --with-debug-level=slowdebug 调试模式
# --with-freetype-src=D:OpenJDKfreetype-2.5.3 字体

# --disable-debug-symbols 与 --disable-zip-debug-info 都是和调试相关
# 和 --with-native-debug-symbols 作用相似,在 windows 上 --with-native-debug-symbols=internal 似乎没有作用,windows 上调试需要 pdb 文件
# --with-native-debug-symbols 默认为 zipped

# 编译
make images JOBS=8 CONF=windows-x86_64-normal-server-slowdebug
# JOBS 线程数
# CONF 若 configure 多种环境,用 CONF 指定编译哪一种,只有一个可以不指定

configure

make

测试

一些问题

checking if we should generate debug symbols... configure: error: Unable to find objcopy, cannot enable debug-symbols

安装下相关组件

还不行就加上参数 OBJCOPY=gobjcopy

./configure ... OBJCOPY=gobjcopy

https://codertang.com/2019/11/11/build-jdk8/

https://yemablog.com/posts/debug-openjdk-in-clion

http://lionoggo.com/2018/06/20/OpenJDK%E7%B3%BB%E5%88%97(%E4%B8%80)_%E7%BC%96%E8%AF%91%E4%B8%8E%E8%B0%83%E8%AF%95/

https://nullwy.me/2018/02/build-debug-openjdk/

原文地址:https://www.cnblogs.com/jhxxb/p/12558970.html