BUILD_JOBJC woes on Mac

David Holmes 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.

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



More information about the build-dev mailing list