Hi Volker,

On 9/03/2012 3:39 AM, Volker Simonis wrote:
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/

Saw one typo: fastes

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

I'm mainly looking at this from the "does it break anything" perspective, but note that in

make/windows/makefiles/defs.make

SYSTEM_UNAME is only set when doing a full build (JDK/control). If you just try to build hotspot this will not be set, so I expect you will want to change this.

I was also wondering about the / to - changes but see in the README-builds.html changes that MSYS might otherwise misinterpret them.

make/windows/makefiles/rules.make

As Kelly said: why the quotes? Does MinGW not handle spaces in paths the way Cygwin does?

make/windows/makefiles/sa.make

So changes from \ to / . Not sure about this. Seems odd that we had a mix of \ and / to start with so I can't help but wonder if there was some Cygwin issue that this was addressing. I guess as long as it works then it is okay in that sense.

Cheers,
David
-------

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

Reply via email to