1.
安装mercurial
Mercurial是一个版本管理工具。
sudo apt-get install mercurial
安装mercurial的扩展,添加fclone在支持
hg clone
http://bitbucket.org/pmezard/hgforest-crew
将以下内容添加到$HOME/.hgrc文件中,如果没有则自己创建一个:
[extensions]
forest=/home/daren/hgforest-crew/forest.py
fetch=
2.
下载jdk7源码
hg fclone http://hg.openjdk.java.net/jdk7/jdk7
3.
安装gcc、g++、make等
sudo apt-get
install build-essential
4.
安装XRender
sudo apt-get install libxrender-dev
sudo apt-get install xorg-dev
5.
安装alsa
sudo apt-get install libasound2-dev
6.
Cups
sudo apt-get install libcups2-dev
7.
安装jdk6
8.
安装ant
设置ANT_HOME
9.
安装findbugs
编译需要这玩意儿有点奇怪。需要设置FINDBUGS_HOME
10.
测试编译
export LANG=C ALT_BOOTDIR=/opt/jdk1.6.0_22/
#删除JAVA_HOME
export -n JAVA_HOME
export ALT_JDK_IMPORT_PATH=/opt/jdk1.6.0_22/
make sanity BUILD_JAXWS=false BUILD_JAXP =false
在build BUILD_JAXWS和BUILD_JAXP总是提示找不到源文件,而我又暂时对只对JDK、Hotspot感兴趣,所以索性把这两个给去掉。
如果出现:Sanity check passed.则表示测试编译通过了,不过也别开心得太早,真正make的时候不保证一定没问题,也许还会缺少某些依赖。
11.
编译
export LANG=C
ALT_BOOTDIR=/opt/jdk1.6.0_22/
#删除JAVA_HOME
export -n
JAVA_HOME
export
ALT_JDK_IMPORT_PATH=/opt/jdk1.6.0_22/
#make
BUILD_JAXWS=false BUILD_JAXP=false
#make
DEBUG_NAME=fastdebug BUILD_JAXWS=false BUILD_JAXP=false
make DEBUG_NAME=all_fastdebug BUILD_JAXWS=false
BUILD_JAXP=false
如果一切正常的话在$HOME/jdk7/build/linux-i586/下就有build出来的jdk等了。