首页 > 代码库 > Build OpenJDK8 on Windows

Build OpenJDK8 on Windows

简单的步骤

1. MinGW + msys: 我已经整理好直接解压即可 http://pan.baidu.com/s/1bncptlt 

2. OpenJDK8 source code:  http://pan.baidu.com/s/1eQtKkeQ 其中包括了freetype 和 一个环境bat

    如果想更新到最新的JDK8 source, 安装 HG, 解压后运行  jdk8/src/get_source.sh. 此压缩包并未破坏HG文件

3. 安装 vs2010 和 sp1, 没有sp1补丁会有link错误

4.  修改 jdk8/hg_env.bat,  使环境变量 HG (mercurial hg), MINGW, BOOST_STARP_JDK 等 指向正确目录. 运行hg_env.bat  

5.  运行configure

bash ./configure --enable-debug --with-num-cores=4 --with-target-bits=64 --with-freetype=../freetype
      如果提示找不到 msvcr100.dll,  修改 jdk8\src\common\autoconf\generated-configure.sh, 把"CORRECT_MSVCR_ARCH=x86-64" 换成 "CORRECT_MSVCR_ARCH=MS"

6 . make all


补充
1. 在这里下载一个MinGW, 64位
http://ncu.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe 
下载msys, 整合到 MinGW中
下载一个mingw-get.exe, copy到MinGW bin中
运行
mingw-get.exe install msys-zip 
mingw-get.exe install msys-unzip
mingw-get.exe install msys-mktemp
下载 cpio.exe, 放在msys内
2. http://hg.openjdk.java.net/jdk8/jdk8  这里下载一个zip包, 解压后 运行get_source.sh下载最新source, 我的百度jdk8包已经下载好source, 可以直接用.
当然, 提前安装好mercurial hg http://mercurial.selenic.com/downloads
2.1 下载编译 freetype
我是用cmake生成vs2010 project, 然后编译 release, 要注意事项
a. 修改makelist.txt,  在  add_library(...) 加入 SHARED, 默认是static lib
b. 修改 某 头文件, 在宏定义 FT_EXPORT 加上 __declspec (dllexport )

#ifndef
FT_EXPORT
#ifdef
__cplusplus
#define
FT_EXPORT( x )  __declspec (dllexport ) extern "C"   x
#else
#define
FT_EXPORT( x )  __declspec (dllexport ) extern   x
#endif
#endif
/* !FT_EXPORT */

c. 在freetype目录下

mkdir build
cd build
cmake -G "Visual Studio 10 2010 Win64" ../
d. 编译吧. 最后把dll lib copy到freetype下的lib目录里, 步骤5中 --with-freetype指向此freetype路径

可以参考source的README-builds.html, 当然如果文档上说的全面正确, 我也不会做此记录了.