BUILD_JOBJC woes on Mac
Erik Joelsson
erik.joelsson at oracle.com
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.
/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