这里的JVM是指Sun以GPL开源的Hotspot JVM
在Sun提供的编译文档中说明需要使用MKS工具。现在MKS工具几乎无法搞到,于是我使用cygwin来替代。
编译步骤:
一、安装cygwin。假设cygwin安装在c:\cygwin。那么把c:\cygwin\bin加入环境变量PATH中。
注:使用cygwin/MKS也主要使为了使用sh、cat、cp等Unix命令行工具。
一、安装cygwin。假设cygwin安装在c:\cygwin。那么把c:\cygwin\bin加入环境变量PATH中。
注:使用cygwin/MKS也主要使为了使用sh、cat、cp等Unix命令行工具。
二、打开VS2003命令行。(我使用VS2005编译没有成功,原因还没有去细查)
三、进入 \hotspot\build\windows 文件夹。
在我的电脑上是: D:\temp\hotspot\build\windows
四、运行 build A B C D<flavor></flavor><version></version><workspace></workspace><bootstrap_dir></bootstrap_dir>
其中 <flavor></flavor> A 可以是:product、debug、fastdebug
<version></version> B 可以是: core、compiler1、compiler2
<workspace></workspace> C 是 jvm源码的根目录
D <bootstrap_dir></bootstrap_dir>是 JDK的根目录
例如在我电脑上,我是这样编译的:build product core D:\temp\hotspot C:\Java\jdk1.5.0_08
其中 <flavor></flavor> A 可以是:product、debug、fastdebug
<version></version> B 可以是: core、compiler1、compiler2
<workspace></workspace> C 是 jvm源码的根目录
D <bootstrap_dir></bootstrap_dir>是 JDK的根目录
例如在我电脑上,我是这样编译的:build product core D:\temp\hotspot C:\Java\jdk1.5.0_08
其中关于JDK的目录需要注意的是不要包含空格,例如默认安装:C:\Program Files\Java\jdk1.5.0_08,就会使编译失败。
所以我把JDK安装在了C:\Java\jdk1.5.0_08
所以我把JDK安装在了C:\Java\jdk1.5.0_08