RC.exe location change?

Ted Neward ted at tedneward.com
Fri Mar 27 22:17:10 UTC 2009


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?


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?

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.Ohair at Sun.COM [mailto:Kelly.Ohair at 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
> >
> >
> >
> >
> >




More information about the build-dev mailing list