Code Review Request for MacOS X build change (7117748)
Mandy Chung
mandy.chung at oracle.com
Mon Dec 5 13:33:35 PST 2011
On 12/5/11 8:57 AM, Daniel D. Daugherty wrote:
>
> The logic before Mandy's change says:
>
> - if the $(SA_CLASSPATH) file doesn't exist, then complain and exit
>
> Mandy's changeset updated that logic to:
>
> - if the $(SA_CLASSPATH) file doesn't exist AND if the lib/modules
> directory does not exist, then complain and exit
>
> Mandy also added a TODO note about needing to add a check to see
> if the SA module is installed.
>
> So what does all this mean?
>
> - the modules logic that Mandy added is partial
> - there is a TODO note about what else needs to be added
> - if a proper boot JDK is provided, then the modules
> logic that Mandy added is never executed
> - if an improper boot JDK is provided AND the lib/modules
> directory exists, then the error message and exit will
> be skipped, but the build will fail later because the
> JDI classes won't be found
>
I think Dan already got what he needs and Vladmir's approval to the review.
FWIW. Some background to the SA build logic and modules image to
explain the change I made:
The check for SA_CLASSPATH exists in the boot JDK is to detect if the
classpath was setup properly to compile the SA JDI connectors that
references com.sun.jdi.* API. The build will fail before it compiles
any sa-jdi classes. In the modular world, tools.jar, rt.jar, and other
jar files no longer exist. Instead, com.sun.jdi will be installed in
the modular JDK as a module. For a skip boot cycle build, the JDK will
be built with itself. In other words, for jigsaw, it will build itself
with a modular JDK. The makefile needs to detect if the boot JDK is a
modular JDK or legacy JDK (i.e. existing JDK releases) and then checks
for tools.jar or the module for JDI. A modular JDK will have a new
"lib/modules" directory in which the jdk modules are installed. That's
why the "lib/modules" check was added as the partial fix. A complete
fix for this modules logic is to check if the module for JDI exists. In
any case, this check can be removed if it causes any confusion.
Mandy
More information about the macosx-port-dev
mailing list