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