Ted Neward wrote:
This was the b52 source drop on the openjdk website, not a Mercurial pull.
(Trying to get back to basics here.)

Which compiler are you using for the Windows JDK builds? VS2005?

Currently we are still using VS2003, but we are trying to transition to
VS2008 for official builds but also allow for VS2005 for developers.
It may take more time for us to completely get off VS2003.



Rather than toss MSDEVTOOLS, I would propose two variables:

ALT_MSDEVTOOLS_PATH - for the root of the Visual Studio installation
ALT_MSSDKTOOLS_PATH - for the root of the Microsoft SDK installation

Such that

COMPILER_PATH = $ALT_MSDEVTOOLS_PATH/VC/bin

and

RC = $ALT_MSSDKTOOLS_PATH/bin/rc.exe

Where on my box, I would set

ALT_MSDEVTOOLS_PATH=C:/Prg/MSVS9.0
ALT_MSSDKTOOLS_PATH=C:/Prg/MicrosoftSDKs/Windows/v6.1

This would also work for previous installations of VS, since they install
the SDK at C:/Prg/MSVS/SDK/v1.1 or something similar.

Tim? Does this sound workable?

Seems ok to me.

Of course, as always with Windows, proof is in the pudding, so to speak. ;^)

-kto


Ted Neward | Principal Consultant, ThoughtWorks
Java, .NET, XML Services
Consulting, Teaching, Speaking, Writing
http://www.thoughtworks.com | http://www.tedneward.com

-----Original Message-----
From: kelly.oh...@sun.com [mailto:kelly.oh...@sun.com]
Sent: Friday, March 27, 2009 10:09 AM
To: Ted Neward
Cc: 'build-dev'
Subject: Re: RC.exe location change?

What forest are you pulling your changes from?

We have been working on the VS2008 transition on 32bit, and also
on 64bit for the v6.1 SDK, so it's pretty fresh stuff.
I've been wrestling with the 64bit Windows v6.1 SDK changes, and
Tim Bell has been working on the 32bit VS2008 compiler changes.
But we haven't yet got to the 32bit v6.1 SDK changes.
Tim Bell may have more to say on this.

a few more comments below...


Ted Neward wrote:
While building the OpenJDK (finally got past the FreeType issues,
though
I'm not entirely sure how or why, which bugs me), I've run across an
error where the make files seem to assume that rc.exe lives in the
compiler directory. and it doesn't-it's been moved to the Platform
SDK.


For example, the problem first shows up in
corba/make/common/shared/Compiler-msvc.gmk:
Yes, an unfortunate copy of the jdk file. :^(



#

# MSVC Compiler settings

#



ifeq ($(PLATFORM), windows)

  CC           = $(COMPILER_PATH)cl

  CPP          = $(COMPILER_PATH)cl

  CXX          = $(COMPILER_PATH)cl

  CCC          = $(COMPILER_PATH)cl

  LIBEXE       = $(COMPILER_PATH)lib

  LINK         = $(COMPILER_PATH)link

#

# Begin TKN mod

#

#  RC           = $(MSDEVTOOLS_PATH)rc

  RC           =
$(MSDEVTOOLS_PATH)/../MicrosoftSDKs/Windows/v6.1/Bin/rc
#

# End TKN mod

#

  LINK32       = $(LINK)

  RSC          = $(RC)



Now I'm not sure if MSDEVTOOLS_PATH is supposed to point to the
PlatformSDK bin, or the MSVS9.0/VC/bin (which is what other parts of
the
build system seem to assume), or what, but rc.exe pretty definitively
isn't in the VC directory of VS 2008, from what I can tell. (I
checked
on another machine that had a "go ahead install everything" install
experience, and it's not there, either.)
Yes, it appears to move around with each compile release.
And also between the free Express edition and the paid for products I
think.

The MSDEVTOOLS_PATH variable may need to be trashed.
We should be referring to the SDK area, in the many places that might
be. :^(



Dunno if this is a bug, or what, but the Compiler-msvc file should
probably be patched to read something like:



    ifeq ($(CC_MAJORVER), 15)

      # This should be: CC_VER=15.00.21022.08 LINK_VER=9.00.21022.08

      REQUIRED_CC_VER = 15.00.21022.08

      REQUIRED_LINK_VER = 9.00.21022.08

      COMPILER_NAME=Visual Studio 9

      COMPILER_VERSION=VS2008

      #rebase and midl moved out of Visual Studio into the SDK:

      REBASE     = $(MSDEVTOOLS_PATH)/rebase

      MTL        = $(MSDEVTOOLS_PATH)/midl.exe

      RC = $(MSDEVTOOLS_PATH)/rc.exe

      RCS = $(RC)

      ifndef COMPILER_PATH

                COMPILER_PATH := $(error COMPILER_PATH cannot be
empty here)
      endif

    endif



. assuming MSDEVTOOLS_PATH is supposed to point to the PlatformSDK
bin
(and not MSVS9.0/VC/bin).
Yes, I think that is right.



Is that the breakdown between COMPILER_PATH and MSDEVTOOLS_PATH? The
README implies that the latter is derived from the former, and it
probably shouldn't be..

Correct. We should toss MSDEVTOOLS_PATH in my opinion.
And not assume the SDK is in the compiler area, like it was with
Visual Studio 2003 Professional Edition.

-kto


Ted Neward | Principal Consultant, ThoughtWorks

Java, .NET, XML Services

Consulting, Teaching, Speaking, Writing

http://www.thoughtworks.com <http://www.tedneward.com> |
http://www.tedneward.com






Reply via email to