DRAFT PROPOSAL: OpenJDK on Windows
ted at tedneward.com
Sat Mar 1 10:53:38 PST 2008
FINAL PROPOSAL: OpenJDK on Windows
ted at tedneward dot com
Revamp the OpenJDK build process on Windows
I propose to rewrite/port the OpenJDK build processes for the Windows
platform to take advantage of the new freely-available compilers and
toolchain (Visual C++ 2008 Express) and more Windows-friendly tools
(MinGW), so as to enable a more Windows-friendly environment in which
OpenJDK developers can more easily participate.
This proposal includes the following ideas
o adjust the Hotspot build processes to Visual C++ 9.0
o adjust the Hotspot build processes to make use of MSBuild
o adjust the overall build environment to use MinGW instead of Cygwin
The result of the proposal will be an environment by which developers
working on the Windows platform can simply download MinGW and the
freely-available Visual C++ Express, run the appropriate batch file to
establish an environment in which to build, and type “make”.
The Clear Need
Building the JDK on Windows has always been an arcane art. A quick
glance at the build-dev mailing list archives reveals the disparity in
ease between building the OpenJDK on a *nix-based platform and doing
the same on Windows. The fact that Sun’s own expertise is clearly
focused on the *nix platform does not help matters; developers trying
to build the OpenJDK on Windows end up facing numerous challenges and
find close to zero resources "in the field" to help navigate some of
the more treacherous paths, despite the fact that the Windows platform,
for all its flaws, clearly remains one of the most important development
platforms of the day.
If the OpenJDK project is going to be open to developers working on the
Windows platform, significant steps must be made to ease this process.
The transition to the free Microsoft toolchains will also have a huge
financial impact on the OpenJDK community--and Sun Microsystems in
particular, in that now the Professional versions (which charge a
license fee for each seat using it) are required in order to build
the OpenJDK sources, at several thousand dollars a head. Porting this
over to Visual C++ Express and/or MinGW’s gcc could reduce that cost
Development of this project will take place in accordance with the
openjdk development guidelines, on a branch of the official Mercurial
repositories. No structural source changes are anticipated, however
major changes to the build processes (makefiles and shell scripts) are
obviously a key part of the project.
Dependence on Sun and other resources
Development of this project should not require significant amounts of
Sun resources: some level of coordination with the build team, most
notably Kelly O’Hair and possibly any other Sun developers involved
with the Windows build process, will obviously be required, and some
degree of coordination with the development teams writing platform-
specific parts of the OpenJDK sources (AWT, JavaSound, etc) may be
required in order to ensure a smooth transition when compiling native
code, but this is not anticipated to be large--ideally, a simple request
to test the candidate build structure periodically and report errors.
Project Plan and Milestones
It is difficult to provide milestones and a concrete plan at this time,
as much of this project is research-based: does the Visual C++ Express
product have all the necessary library and include file support to
build the OpenJDK, does the MinGW toolchain provide the necessary tools
to build the OpenJDK, and so on. It is believed that the project would
not exceed several months of work, however this is merely a guess at
this point in time.
Some of the project goals are also potentially unclear: for example,
Microsoft’s clear “path forward” with respect to build tools is to use
MSBuild instead of Makefiles, however, MinGW could continue to use
GNU make (or something similar) if the supporters of this proposal felt
that a change to MSBuild would create a "competency gap" that the
OpenJDK community would have a hard time closing. These recommendations
could heighten or reduce project work accordingly.
This proposal, in its entirety, is hereby contributed under the terms
of the Sun Contributor Agreement.
Java, .NET, XML Services
Consulting, Teaching, Speaking, Writing
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.516 / Virus Database: 269.21.2/1305 - Release Date: 2/29/2008
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the challenge-discuss