1.
安裝mercurial
Mercurial是一個(gè)版本管理工具。
sudo apt-get install mercurial
安裝mercurial的擴(kuò)展,添加fclone在支持
hg clone
http://bitbucket.org/pmezard/hgforest-crew
將以下內(nèi)容添加到$HOME/.hgrc文件中,如果沒(méi)有則自己創(chuàng)建一個(gè):
[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
設(shè)置ANT_HOME
9.
安裝findbugs
編譯需要這玩意兒有點(diǎn)奇怪。需要設(shè)置FINDBUGS_HOME
10.
測(cè)試編譯
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總是提示找不到源文件,而我又暫時(shí)對(duì)只對(duì)JDK、Hotspot感興趣,所以索性把這兩個(gè)給去掉。
如果出現(xiàn):Sanity check passed.則表示測(cè)試編譯通過(guò)了,不過(guò)也別開心得太早,真正make的時(shí)候不保證一定沒(méi)問(wèn)題,也許還會(huì)缺少某些依賴。
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出來(lái)的jdk等了。