BUILD_JOBJC woes on Mac
david.holmes at oracle.com
Tue May 21 10:50:27 UTC 2013
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.
> I would really like to see the whole special handling of jobjc
> compilation removed.
> 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,\
>>> 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,\
>>> 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.
More information about the build-dev