On 6/08/2018 5:57 AM, mr rupplin wrote:
Hello.
Trying to understand the "make process" as it relates to a fundamental build
and where the files end up going. Not being pushy at all.
Your subject line conveys a different sentiment.
I'm having trouble locating the files after the "make" command executes. So
quickly a few questions:
1. Where do the Standard Java (System.java, etc.) go when they are
compiled (System.class)?
You already found them - no magic or mystery here. The class file gets
compiled into the appropriate directory. For JDK 9 and above, where we
use the module system this is:
/jdk/modules/java.base/java/lang/
When you create an actual JDK image these class files will then get
incorporated into the module file e.g.
/images/jdk/jmods/java.base.jmod
2. Where are the native mappings? How does this work? For instance
System.c gets mapped to a .o but then what? kthx.
Each native library has a set of source directories which are then
compiled and linked together to form that library. The native sources
for the core library classes, like System.c, are all part of libjava.so.
David
-
I show some .class files under
/jdk9/build/linux-x86_64-normal-server-release/jdk/modules/java.base however
these are not apparently the direct process descendants of source files at
jdk9/jdk/src/java.base/share/classes .
I will be called on to answer these. Please consider looking and making the
connections evident in the build process. The output println statements are
not correct enough for even me to see, understand for that. ok.
Thanks,
Mr. Max
Friend to Mankind