RFR (M): Enable OpenJDK builds on Windows with MinGW/MSYS
David Holmes
david.holmes at oracle.com
Thu Mar 8 23:14:27 UTC 2012
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
More information about the build-dev
mailing list