標籤:build jdk8
簡單的步驟
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-unzipmingw-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/downloads2.1 下載編譯 freetype我是用cmake產生vs2010 project, 然後編譯 release, 要注意事項a. 修改makelist.txt, 在 add_library(...) 加入 SHARED, 預設是static libb. 修改 某 標頭檔, 在宏定義 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 buildcd buildcmake -G "Visual Studio 10 2010 Win64" ../d. 編譯吧. 最後把dll lib copy到freetype下的lib目錄裡, 步驟5中 --with-freetype指向此freetype路徑
可以參考source的README-builds.html, 當然如果文檔上說的全面正確, 我也不會做此記錄了.