在 MacOS 上编译 OpenJDK 8
获取 OpenJDK 源代码
OpenJDK 8 源代码可通过 Mercurial 或 Github 获取。这里推荐使用 Mercurial,Github 上的代码在 MacOS 上编译问题非常多。
安装 Mercurial
1 | brew install mercurial |
克隆 OpenJDK 8 仓库
1 | hg clone https://hg.openjdk.java.net/jdk8u/jdk8u |
获取完整源码并更新仓库
1 | cd jdk8u && sh ./get_source.sh |
获取低版本的 Xcode
如果你的 Xcode 版本大于 12,需要手动下载低版本 Xcode,下载地址为
编译 OpenJDK 8 最高支持的版本是 Xcode 12.5.1 下载完成后解压。解压完成后得到的程序因为版本限制可能无法双击执行。
但是问题不大,仍然可以使用 --with-xcode-path
指定使用此版本的 Xcode
1 | --with-xcode-path=/Users/leon/Downloads/Xcode.app |
编译配置
1 | bash configure --with-freetype-include=/usr/local/Cellar/freetype/2.11.1/include/freetype2 --with-freetype-lib=/usr/local/Cellar/freetype/2.11.1/lib --with-xcode-path=/Users/leon/Downloads/Xcode.app |
如果本地默认安装的 JDK 不是 JDK 7 或 JDK 8,需要安装 Boot JDK 并使用参数进行指定
1 | --with-boot-jdk=/path/to/bootjdk |
同时,编译过程需要依赖 freetype,如果没有安装请使用 homebrew 进行安装,安装完成后参照上面的命令使用 --with-freetype-include
和 --with-freetype-lib
进行指定。
编译
1 | make images |
编译完成后后,产物在 build/macosx-x86_64-normal-server-release/jdk
目录下。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 空山新雨!