Using the no-charge "Express" tools to build a JDK on win32 [RE: Upcoming OpenJDK infrastructure projects]
Tim Bell
Tim.Bell at Sun.COM
Mon Dec 31 20:42:49 UTC 2007
Back in November, dan at fabulich.com wrote:
> [...] pipe up in favor of simplifying the Windows build experience.
I am all for that, since I spend more hours maintaining Windows build systems than on all our
other build systems combined. :-/
> Specifically...
>
> 1) Update the build to work with Visual C++ 2005 Express, the free
> (no-charge) version of the Visual Studio C++ compiler.
The question of using the no-charge "Express" tools to build on win32 comes back from time to
time. As Kelly wrote [1], when we were opening up the JDK under the JRL/JDL [2], we looked at
the free 2003 kit and concluded it did not include enough of the necessary pieces to be useful
for JDK development. Unfortunately I don't recall the details.
Last week I got my hands on a surplus 3Ghz 1.5MByte P4 system (still a nice build machine) and
resolved to repeat the experiment after wiping the disks and installing from scratch. The
Windows XP license was paid for as part of my MSDN 'Professional' membership, but I wanted to
see how far I could get beyond that while using only zero cost tools. As it is no fair to pull
from our internal servers, everything I used during setup came from the open Internet (more on
that later).
Specifically I was interested in: Visual C++ 2005 Express [3] combined with the Express 2005
platform SDK [4]. Both 'Express' packages are available for download at zero $$ (registration
required).
To cut to the chase, my conclusion is no. The free kit does not include the WIN32/MFC/ATL
headers (atlmfc.h, windows.h to name two) or the supporting libraries needed. I was able to
pass 'make sanity', but as soon as I tried to compile any of the open native code in JDK7 [that
would be the corba, hotspot, jdk repositories] the build quickly failed:
In corba:
> ../../../../src/windows/resource/version.rc(26) : fatal error RC1015: cannot ope n include file
'afxres.h'.
In hotspot:
> g:\tbell\jdk7\2007_12_21\hotspot\src\os\windows\vm\jvm_windows.h(33) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
Or in JDK:
> g:/tbell/jdk7/2007_1~1/jdk/src/windows/resource/version.rc(26) : fatal error RC1015: cannot open include file 'afxres.h'.
Other developers may have reported better success, but after reading over the archives I
believe they were using 1) the fully paid-for Visual C++ 2005 kit, or 2) a paid-for SDK that
was already on their system. If I am mistaken here, please follow up with specific details of
your build platform and how I (or we) could reproduce the results.
This email is already too long, so I omit further details. I will write up my notes over the
next few days and post a description of the build setup on my long dormant weblog:
http://blogs.sun.com/TimBell
Tim Bell
[1] http://mail.openjdk.java.net/pipermail/build-dev/2007-July/000139.html
[2] https://jdk.dev.java.net/
[3] http://www.microsoft.com/express/2005/download/default.aspx
English Language version available here:
http://go.microsoft.com/fwlink/?LinkId=51410&clcid=0x409
[4] http://www.microsoft.com/express/2005/platformsdk/default.aspx
Note: these URLs were working as of December 2007, but I can't control what may happen to them
in the future.
More information about the build-dev
mailing list