BUILD_JOBJC woes on Mac

Erik Joelsson erik.joelsson at
Tue May 21 09:53:23 UTC 2013

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.

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,\
>>                 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** 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