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.
/Erik
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