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.

Reply via email to