JDK_IMPORT_PATH

Kelly O'Hair Kelly.Ohair at Sun.COM
Fri Mar 7 18:22:21 UTC 2008


My apologies, I may have confused what the issue was here.
When building corba independently, you do need to point it at a
ALT_JDK_IMPORT_PATH so it can get a newer javac to use...


Perhaps this can help clarify...

When we separated out the langtools, corba, jaxp, and jaxws repositories
the question comes up as to what "javac" should be used to compile
these sources. The langtools repository has the javac sources.
The BOOTDIR javac is one revision back (jdk6), so although it can
compile all this source now, it cannot create "jdk7" version classfiles
and would not be the same javac we would ship with this jdk7 release.
(Granted we are still only creating "jdk5" versioned classfiles in both
  jdk6 and jdk7, so ignore that issue for now, but we can't forget it.
  This refers to the -target 5 vs. -target 7 javac option.).

So officially, every class file delivered as part of the jdk7 product
should have been compiled by "the" javac created by the latest jdk7
langtools javac.

So the basic official steps for a master build are:
   Build langtools with the BOOTDIR jdk & javac (langtools team guarantees
     that the langtools source can be built with a BOOTDIR jdk&javac).
     This creates a new javac tool that can run with a BOOTDIR jdk and
     also creates it's javac class files built with this new javac for
     inclusion into the final jdk7 image.
   Build everything else with this langtools javac and the BOOTDIR jdk.

But when building any of these repositories independently, decisions
have to be made about what javac to use.
If ALT_LANGTOOLS_DIST is set to refer to a "dist" directory created
by a langtools build, then that javac and the BOOTDIR jdk is used to do the
javac compiles (or should be, tell me if that is not true).
Otherwise, it will use the ALT_JDK_IMPORT_PATH javac, which comes the
closest to the right javac to use. ALT_JDK_IMPORT_PATH should refer to
a fairly recent jdk7 image. Using the BOOTDIR jdk & javac seemed wrong
to me, but I could look into allowing it.

Now, ALT_JDK_IMPORT_PATH doesn't "have to" refer to a jdk7 image,
you can probably get away with pointing it at a jdk6 image.
But that may not be a good long term answer, but should work now.

The corba, jaxp, and jaxws teams may decide that their repositories
can be considered always buildable by the BOOTDIR jdk, in which case
we could change the rules to allow it to be built by the BOOTDIR jdk
if langtools javac is not available. But if they ever used a jdk7
feature in theor sources, they would not be able to use a BOOTDIR javac.

Hope this helps... and hasn't created more confusion.... :^(

-kto


Douglas Felt wrote:
> Kelly suggested the following, but it doesn't work for me.
> 
> ---
> I think I pushed a fix for this into the jdk7/build/corba repository,
> but it may be a while before it gets integrated into the master
> jdk7/jdk7/corba repository.
> 
> You could try:
>     cd your/corba
>     hg pull http://hg.openjdk.java.net/jdk7/build/corba
> ---
> 
> dougfelt at df-kubuntu:~/openjdk/jdk7/java2d/corba$ hg pull
> http://hg.openjdk.java.net/jdk7/build/corba
> pulling from http://hg.openjdk.java.net/jdk7/build/corba
> searching for changes
> no changes found
> $
> [...]
>>>> Recursively making xa build @ Fri Mar  7 00:39:59 PST 2008 ...
> make[3]: Entering directory
> `/home/dougfelt/openjdk/jdk7/java2d/corba/make/javax/xa'
> ../../common/shared/Defs-linux.gmk:138: "WARNING: Value of JDK_IMPORT_PATH
> cannot be empty, check or set ALT_JDK_IMPORT_PATH"
> 
> So I'm not sure what to do now.
> 
> Doug
> 
> 
>       ____________________________________________________________________________________
> Looking for last minute shopping deals?  
> Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping



More information about the build-dev mailing list