On 21/05/2013 5:15 PM, Alan Bateman wrote:
On 21/05/2013 06:00, David Holmes wrote:
Hi Alan,

That log looks correct to me. can you verify if the missing types are
indeed within:

/u/alanb/ws/jdk7u-dev/build/macosx-x86_64/j2sdk-image/jre/lib/rt.jar

?

David

That's the boot JDK so it isn't going to have types that are new in

Doh! Sorry it looked like something you had built (well maybe you did).

jdk8. So I think the issue that both jdk8 classes and apple classes used
by jobjc are be generated to gensrc. It just happened to work previously
because gensrc/** didn't reference anything that is new in jdk8.

While that is probably true, it seems to me that the cause of the problem here is that the javac source path includes /u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/gensrc - and that seems wrong to me. It comes from CompileJavaClasses.gmk:

$(eval $(call SetupJavaCompilation,BUILD_JOBJC,\
                SETUP:=GENERATE_15BYTECODE,\
                DISABLE_SJAVAC:=true,\
                SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \

$(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \
                     $(JDK_OUTPUTDIR)/gensrc, \
                INCLUDES := com/apple/jobjc,\
                EXCLUDES := tests/java/com/apple/jobjc,\
                BIN:=$(JDK_OUTPUTDIR)/jobjc_classes,\
                JAR:=$(JDK_OUTPUTDIR)/lib/JObjC.jar, \
                JARINDEX := true))


No idea why JObjC.jar has to be built as 1.5. But in that case it should be able to compile against the boot JDK and not put gensrc on the sourcepath. (Maybe it was meant to be gensrc_jobjc/src ?)

David
-----

-Alan.


Reply via email to