Andrew,

Many thanks for the feedback:

Dr Andrew John Hughes said the following on 03/08/11 04:30:
On 09:39 Mon 07 Mar     , Kelly O'Hair wrote:

General comments:

* Could this not be broken up into smaller changesets to make it easier to 
review and catch regressions?

In theory probably, in practice, not really. Please see below.

* There seem to be some whitespace changes that shouldn't be there.

e.g.

-       sane-msvcrt_path \
+       sane-msvcrt_path \

This will all be double-checked before the push.

Just to clarify for people, BUILD_CLIENT_ONLY refers to building the client VM 
only.
Some of these variables should be documented in the top level 
README-builds.html file, but that
can be done under a separate CR if necessary.


What happens if there is no client VM e.g. x86_64?

If you are not building a client-only configuration then you should not set BUILD_CLIENT_ONLY. It's main purpose is to not attempt to copy lib/<arch>/server/*.so files into the JRE/JDK image when they don't exist.

I think if this patch introduces it, the documentation should be part of this 
patch.

Definitely.

The Library.gmk file seems like it is just a leftover debugging echo?

This was Kelly's comment, but yes it is a _very_ useful debugging echo that I suggest leaving in.

The Release.gmk file needs  a major overhaul. :^(  I'm wondering if the various 
things being added here could
have their own separate functionality flags, rather than JAVASE_EMBEDDED,  have 
COMPRESS_JARS=true/false,
REDUCED_JRE=true/false, then have one place where JAVASE_EMBEDDED turns on what 
it wants?

Strongly agree with this.  It would make more sense to have these sort
of changes introduced by separate changesets and then have this change
set them for the JAVASE_EMBEDDED build.  In particular, COMPRESS_JARS
was something I had planned on fixing.  To Kelly's list, I'd add
BUILD_ALSA and LIBZIP_CAN_USE_MMAP (mentioned below).  This would make
this work far more generally useful than it is at present.

I can certainly refactor into general flags, however applying those flags to all parts of the JDK build process that might want to use them is out-of-scope for what I am trying to achieve here (I just won't have time to do this and go through a myriad of builds and test runs). I'd also prefer not to create multiple changesets, which implies multiple CRs. I can't easily test these things in isolation, and individual changesets would require complete build/test cycles that I again do not have time to perform.

Has this been tested on an OpenJDK build at all?  It also seems to create a 
fonts.dir file with fonts
that aren't part of OpenJDK.

No, not OpenJDK. I have done a regular JDK build, but not OpenJDK. And I have not attempted to test things like BUILD_CLIENT_ONLY outside of a JAVASE_EMBEDDED build.

With regard to the fonts, my understanding is that we simply define a subset of the fonts used in the regular JDK. I have no idea how such fonts get shipped nor whether they are part of the OpenJDK or only Oracle's JDK.

Thanks again,

David

-kto


On Mar 7, 2011, at 2:14 AM, David Holmes wrote:

http://cr.openjdk.java.net/~dholmes/7025066/webrev/

The SE-Embedded product is a combination of open and closed sources. To allow 
SE-Embedded to be built from standard OpenJDK sources we need to apply a number 
of changes to the SE 7 build system:

- support for building the hotspot client compiler only (hotspot already 
supports this, this is the JDK side of things)
- support for doing cross-compilation (Linux only)
- minimal support for ARM/PPC architectures in the open code that currently 
only knows about x86 and sparc
- SE-Embedded specific build settings and targets (specifically the headful and 
headless reduced JRE images)

---

These changes are obviously primarily for Oracle's benefit, but some aspects 
may be use of externally as well. The hope is that these changes won't have an 
adverse affect on any downstream OpenJDK builders, but until I get feedback on 
that I won't know.

Thanks,
David Holmes
SE Embedded Team


Reply via email to