RFR: JDK-8151653: Hotspot build does not respect --enable-openjdk-only
David Holmes
david.holmes at oracle.com
Mon Mar 14 01:22:05 UTC 2016
Hi Erik,
On 12/03/2016 2:31 AM, Erik Joelsson wrote:
> Hello,
>
> When building hotspot with closed sources present and configuring with
> --enable-openjdk-only, various closed parts are included in the build
> anyway, at least on Windows. This needs to be fixed in preparation for
> the new hotspot build for build output comparisons to be meaningful
> between the old and new.
>
> The major culprit here, which applies to all platforms, is the trace
> source generation. The base trace.xml uses XInclude to explicitly and
> unconditionally include closed xml files if present. I'm fixing this by
> introducing a closed version of trace.xml which includes the open and
> closed parts, while the open trace.xml only includes the open parts.
You've also done a significant amount of refactoring of that file and
split it into three parts. It's hard to spot the actual functional
differences in all that.
Given we have distinct directories from which we locate files it is a
pity to introduce something like this:
XML_DEPS += $(TraceAltSrcDir)/traceeventsclosed.xml
where traceevents.xml is now traceeventsclosed.xml. This "alt src"
mechanism was supposed to abstract away the details of any particular
alternative configuration so that we didn't hardcode "closed" all over
the place. Other community members are supposed to be able to utilize
these mechanisms for their own customized build environments.
> The rest of the changes are just for Windows, making sure the OPENJDK
> variable is propagated into the nmake build and making all conditionals
> on including closed source also check that variable.
make/windows/build.make
The combination !openjdk && !exists "closed" should be an error.
As a meta-comment I think we've lost the plot somewhat with these "alt"
locations and how we manage them. The Oracle "closed" variants should
only be used when not trying to build OpenJDK (even if the files exist
in a forest), but other custom implementations may work in conjunction
with an OpenJDK build. To that end the "do nothing if building OpenJDK"
should be located within the "alt" files themselves, not at the point of
inclusion/use in the open files.
David
-----
> Bug: https://bugs.openjdk.java.net/browse/JDK-8151653
> Webrev:
> http://cr.openjdk.java.net/~erikj/8151653/webrev.hotspot.01/index.html
>
> /Erik
More information about the build-dev
mailing list