1.6 实战:自己编译JDK

1.6.1 获取源码

下载 -> browse -> zip

1.6.3 构建编译环境(Ubuntu)

工具命令
GCCsudo apt-get install build-essential
FreeTypesudo apt-get install libfreetype6-dev
CUPSsudo apt-get install libcups2-dev
X11sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev
ALSAsudo apt-get install libasound2-dev
libffisudo apt-get install libffi-dev
Autoconfsudo apt-get install autoconf
openjdk-11sudo apt-get install openjdk-11-jdk
zipsudo apt-get install zip
libfontconfigsudo apt-get install libfontconfig1-dev

切换gcc

1
2
3
4
5
6
7
8
9
#安装
sudo apt-get install gcc-7

#配置
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --config gcc

#查看版本
gcc -v

切换g++

1
2
3
4
5
6
7
8
9
#安装
sudo apt-get install g++-7

#配置
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
sudo update-alternatives --config g++

#查看版本
g++ -v

1.6.4 进行编译

常用配置(bash configure --help)

  • --with-debug-level=<level>:编译级别(release, fastdebug, slowdebug),越往后优化少调试信息多
  • --enable-debug:等效于--with-debug-level=fastdebug
  • --with-native-debug-symbols=<method>:确定调试符号信息的编译方式(none, internal, external, zipped)
  • --with-version-string=<string>:设置编译jdk版本号

编译配置bash configure --enable-debug --with-jvm-variants=server

编译make images

检查build/配置名称/jdk/bin/java -version