windows10上编译openjdk12

1. 安装cygwin64 下载地址: https://cygwin.com/setup-x86_64.exe
   至少需要安装 autoconf,zip,unzip,make, tar
2. 安装好JDK11如:

     D:/opt/jdk11 
3. 安装英文版 vs2017 community 版

   一定要英文版,否则需要你改半天 common/autoconf/generated-configure.sh 文件

4. 下载open JDK 12 源码(也可以下载zip包解压)

   $hg clone http://hg.openjdk.java.net/jdk/jdk12 src

   我把源码放在D:/jdk12/src 目录

5. 修改脚本 make\autoconf\toolchain_windows.m4 文件696行(由于某些windows目录包含空格及括号)

    修改前:

if test -z "$(ls -d "$with_ucrt_dll_dir/*.dll" 2> /dev/null)"; then

    修改后:

if test -z "$(ls -d "$with_ucrt_dll_dir"/*.dll 2> /dev/null)"; then

6.  运行configure 

打开 cygwin64

$ cd /cygdrive/d/jdk12/src/

配置检查环境

$ bash ./configure --with-target-bits=64  --disable-warnings-as-errors --with-ucrt-dll-dir="/cygdrive/c/Program Files (x86)/Windows Kits/10/Redist/10.0.17763.0/ucrt/DLLs/x64" --with-boot-jdk=/cygdrive/d/opt/jdk11

 

7. $make all 

8. 测试

$ ./build/windows-x86_64-normal-server-release/images/jdk/bin/java -version

openjdk version "12-internal" 2019-03-19

OpenJDK Runtime Environment (build 12-internal+0-adhoc..src)

OpenJDK 64-Bit Server VM (build 12-internal+0-adhoc..src, mixed mode, sharing)


补充: 
a. vs2010-vs2017一定要英文版的,除非你非常熟悉 bash 并愿意改配置脚本。

b. /cygdrive/c/Program Files (x86)/Windows Kits/10/Redist/10.0.17763.0/ucrt/DLLs/x64 这个目录可能   不同的电脑不一样,按照规则自己找。

c. 为编译jdk我把操作系统语言和区域全改成了英文。

你可能感兴趣的:(openjdk)