What is the Build Process for Codes inside jdk/src/macosx/native/jobjc

Erik Joelsson erik.joelsson at oracle.com
Thu Apr 18 08:46:17 UTC 2013

Hello Dan,

These sources are indeed treated separately. I don't actually know why, 
but they were in the old build. (There the native was compiled as an 
XCode project and the java code with Ant). When converting to the new 
build, we strived to keep differences in build output to a minimum. This 
means that the library libJObjC is built as both 32 and 64 bit and 
packaged as a universal binary. The java source for this is compiled 
with source/target 1.5 for the same reason. Now that equality with the 
old build is no longer a requirement, I would welcome the removal of 
this and moving the source to more standard locations.

To see how it's done, look in jdk/makefiles/CompileNativeLibraries.gmk 
and CompileJavaClasses.gmk and search for jobjc.


On 2013-04-18 02:50, Dan Xu wrote:
> Hi David,
> Under src/macosx/native/jobjc folder, it contains not only native *.m 
> source files, but also *.java files. If you check the build results in 
> build/macosx-x86_64-normal-server-release/jdk folder, it contains some 
> build results specific for jobjc, say gensrc_jobjc/, 
> gensrc_headers_jobjc/, jobjc_classes/, jobjc_classes_headers/.
> So it must have some extra build steps to generate those jobjc 
> results. And I wonder what they are and why they are special and not 
> merged into the regular native compilation and java compilation 
> processes. Thanks!
> -Dan
> On 04/17/2013 05:30 PM, David Holmes wrote:
>> Hi Dan,
>> I don't quite understand the question but all native code building is 
>> handled via jdk/makefiles/CompileNativeLibraries.gmk which in turn 
>> utilizes the set up from <top>/common/makefiles/NativeCompilation.gmk
>> HTH
>> David
>> On 18/04/2013 9:51 AM, Dan Xu wrote:
>>> Adding core-libs-dev
>>> On 04/17/2013 04:47 PM, Dan Xu wrote:
>>>> Hi,
>>>> As for the sourcecodes for mac platform, it has a special place
>>>> holding native and java codes for jdk, jdk/src/macosx/native/jobjc. I
>>>> wonder how those codes are builtand whether its compilation process
>>>> has any special handling. Thanks!
>>>> -Dan

More information about the core-libs-dev mailing list