RFR (M): Enable OpenJDK builds on Windows with MinGW/MSYS

Volker Simonis volker.simonis at gmail.com
Thu Mar 8 17:39:42 UTC 2012


Hi,

please review the following changes which make it possible to use MinGW/MSYS as
underlying build environment for Windows. Because the changes touch several
repositories I prepared three webrevs, all relative to
http://hg.openjdk.java.net/jdk8/build

For the main repository:
http://cr.openjdk.java.net/~simonis/MinGW_MSYS.v1/

For the HotSpot repository:
http://cr.openjdk.java.net/~simonis/MinGW_MSYS_hotspot.v1/

For the JDK repository
http://cr.openjdk.java.net/~simonis/MinGW_MSYS_jdk.v1/

Please be so kind and also create three bug ids for the corresponding changes.

The changes are minimal in the sense that I did "just enough" changes to be able
to build on Windows with either one of the three Unix emulation environments
(MKS, Cygwin, MinGW/MSYS).

The main benefits of the new MinGW/MSYS based Windows build are:
 - no problems with make - one can simply use the make tool which comes with
   MinGW/MSYS
 - with the current MinGW/MSYS version the build is known to succeed, while
   the newest Cygwin 1.7.10 version is known to break the OpenJDK build (see:
   http://old.nabble.com/Is-anyone-able-to-build-on-Win-7-td33196055.html)
 - speed - the MinGW/MSYS build times are comparable to the MKS build times
   and is at least 50% faster than the Cygwin build times (see numbers below)

The changes are intentionally against the old, "traditional" build system to fix
the mentioned Cygwin problems and simplify the Windows build just now. I don't
expect any problems in adapting the "new" build infrastructure to MinGW/MSYS as
well in a follow-up step.

More information on each change can be found in the corresponding webrevs.

Timing results for the different build environments (MKS ver. 9.4, Cygwin
ver. 1.7.9, MinGW/MSYS 1.0.17) for a full JDK 8 product build on a freshly
booted, dual core i7 notebook with 8GB RAM, HDD and 64-bit Windows 7: </p>

MKS
-- Build times ----------
Target all_product_build
Start 2012-02-29 19:19:26
End   2012-02-29 20:07:44
00:03:10 corba
00:03:44 hotspot
00:00:30 jaxp
00:00:37 jaxws
00:39:39 jdk
00:00:36 langtools
00:48:18 TOTAL
-------------------------

MinGW/MSYS
-- Build times ----------
Target all_product_build
Start 2012-02-29 18:16:31
End   2012-02-29 19:10:59
00:02:57 corba
00:03:04 hotspot
00:00:32 jaxp
00:00:40 jaxws
00:46:36 jdk
00:00:36 langtools
00:54:28 TOTAL
-------------------------

Cygwin
-- Build times ----------
Target all_product_build
Start 2012-02-29 14:36:50
End   2012-02-29 16:05:50
00:05:47 corba
00:03:24 hotspot
00:00:33 jaxp
00:00:43 jaxws
01:17:45 jdk
00:00:39 langtools
01:29:00 TOTAL
-------------------------

Regards,
Volker



More information about the build-dev mailing list