On 21/05/2013 7:53 PM, Erik Joelsson wrote:
In the old build, JObjC.jar was built completely differently from all
other java classes, by an ant script. We kept the source/target 1.5 when
converting to the new build to keep the builds equal. I very much doubt
there is a reason for it now though. It looks like left over legacy to me.

The simplest fix for you would be to change the outputdir of the
generated sources for jobjc to something like gensrc_jobjc.

From what I can see though the output directory is intended to be gensrc_jobc, but somehow the com/java/jobc classes get generated into gensrc - though I can't see where.

David
-----

I would really like to see the whole special handling of jobjc
compilation removed.

/Erik

On 2013-05-21 10:47, Alan Bateman wrote:
On 21/05/2013 08:36, David Holmes wrote:

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 ?)
It seems to include gensrc because that is where com.apple.jobjc.** is
generated. I also do not know why this is built as 1.5. I think we
need someone familiar with jobjc to provide an overview on its usage.

-Alan

Reply via email to