Mac编译openJdk1.8

本文详细介绍了在MacOSCatalina10.15.4上编译OpenJDK1.8的步骤,包括环境配置、源码下载、配置修改、编译选项设置等,并提供了遇到问题时的参考链接。同时,还指导如何将项目导入Clion进行XCode的断点调试。
摘要由CSDN通过智能技术生成

Mac编译openJdk1.8

环境及准备

本机mac环境为 macOS Catalina 10.15.4
编译器: XCode12,   xcode11也能用, 没有安装xcode去官网下载, 各个版本官方下载地址: https://developer.apple.com/download/all/?q=xcode . 其中Xcode12下载地址: https://download.developer.apple.com/Developer_Tools/Xcode_12/Xcode_12.xip
jdk1.7作为Boot JDK 官网下载mac压缩包版即可, 在官网中下载mac班1.7jdk并安装. 地址: https://www.oracle.com/cn/java/technologies/oracle-java-archive-downloads.html, 我安装的是jdk1.7.0_80

环境准备


sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

brew install freetype
brew install autoconf
brew install ccache
brew install llvm
brew install binutils

pip3 install compiledb

下载jdk源码


## 下载Mercurial仓库,因为jdk源码使用Mercurial仓库进行管理

brew install Mercurial

## 下载源码

hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev

cd jdk8u-dev

sh get_source.sh

## 执行完后等待源码下载完毕

vim hotspot/make/bsd/makefiles/gcc.make

## 将以下内容注释掉
# ifneq ($(COMPILER_WARNINGS_FATAL),false)
#   WARNINGS_ARE_ERRORS = -Werror
# endif

configure


chmod 777 configure

## 编译release版本
./configure  --with-freetype-include=/usr/local/include/freetype2 --with-freetype-lib=/usr/local/lib/

## 编译XCode可断点调试slow-debug版本
./configure --with-debug-level=slowdebug --with-freetype-include=/usr/local/include/freetype2 --with-freetype-lib=/usr/local/lib --with-boot-jdk=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home --enable-debug-symbols ZIP_DEBUGINFO_FILES=0 OBJCOPY=gobjcopy

configure成功后显示信息

A new configuration has been successfully created in
/Users/aa/Downloads/jdk源码/jdk8/jdk8u-dev/build/macosx-x86_64-normal-server-slowdebug
using configure arguments '--with-debug-level=slowdebug --with-freetype-include=/usr/local/include/freetype2 --with-freetype-lib=/usr/local/lib --with-boot-jdk=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home --enable-debug-symbols ZIP_DEBUGINFO_FILES=0 OBJCOPY=gobjcopy'.

Configuration summary:
* Debug level:    slowdebug
* JDK variant:    normal
* JVM variants:   server
* OpenJDK target: OS: macosx, CPU architecture: x86, address length: 64

Tools summary:
* Boot JDK:       java version "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)  (at /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home)
* Toolchain:      clang (clang/LLVM)
* C Compiler:     Version 12.0.0 (at /usr/bin/clang)
* C++ Compiler:   Version 12.0.0 (at /usr/bin/clang++)

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

编译


make all
# 或
make all JOBS=8 ZIP_DEBUGINFO_FILES=0 COMPILER_WARNINGS_FATAL=false  CC=clang USE_CLANG=true LP64=1

# 生成一个json文件方便将整个项目导入到Clion中
compiledb make WARNINGS_ARE_ERRORS="" images 

问题参考

在具体安装过程中出现了不少错误, 可以参考如下博客:

https://blog.csdn.net/lizhengjava/article/details/105629780

https://www.cnblogs.com/dwtfukgv/p/14727290.html

导入Clion进行单步调试

参考 https://www.cnblogs.com/dwtfukgv/p/14727290.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值