Hi Andrew,
See inline ...
Dr Andrew John Hughes said the following on 03/16/11 07:43:
On 18:05 Tue 15 Mar , David Holmes wrote:
BUILD_CLIENT_ONLY:
http://cr.openjdk.java.net/~dholmes/jdk-bco/webrev/
Provides support for building a JDK for which only the client VM is
required and/or available. Essentially avoids copying any "server"
components and creates a jvm.cfg file that aliases -server to -client.
If BUILD_CLIENT_ONLY is selected on a 64-bit build then a sanity warning
is issued. (This is only a warning because you can actually build 64-bit
client Hotspot, it just isn't supported and you can't directly build it
in a full JDK build without hacking a couple of Makefiles).
There still seem to be some odd whitespace changes in this one. Otherwise,
looks sensible.
emacs reported odd whitespace (space+Tab) in one of the makefiles so I
fixed it.
---
Cross-compilation support:
http://cr.openjdk.java.net/~dholmes/jdk-crosscomp/webrev/
Basic support for cross-compilation, plus flags/settings etc for basic
ARM and PPC support in the shared open code. Cross-compilation works as
follows:
- you must set the ALT_COMPILER_PATH and ALT_OPENWIN_HOME to point to
your cross-compiler (you'll also need freetype configured correctly)
What is ALT_OPENWIN_HOME? And why should using the cross-compilation build
mean that 'X11 headers are not under /usr/include'? Why 'OPENWIN' and not
'X11'?
OPENWIN_HOME/ALT_OPENWIN_HOME are the variables used to control where to
find the graphics includes and libraries. These are pre-existing build
variables (though part of the AWT update forward ports some changes from
JDK6 that replaces hard-wired paths with use of these variables). When
cross-compiling you need to use the graphics headers that are part of
your cross-compilation toolset, not those on your build system (some
compilers will even warn you if you do use the system ones).
OPENWIN is a legacy name from the old Solaris/SunOS graphics stack:
http://en.wikipedia.org/wiki/OpenWindows
- CROSS_COMPILE_ARCH should be set to the architecture you are building
for eg ARM, PPC
- EXTRA_CFLAGS can be used to pass cross-compilation specific compile
options
- HOST_CC is a compiler that can produces binaries that can run on the
build host (used in a few parts of the JDK build). This defaults to gcc
on Linux but must be explicitly set elsewhere
- Some build features such as freetype-check and
binary-file-verification are disabled as they don't apply when
cross-compiling
Rest seems ok.
Thanks!
Once I have Kelly's ok I'll create the CRs and get this pushed ASAP.
David
-----
The above will form the basis of the documentation for these changes,
but as it seems the docs live in a different repository (???) I'll need
to file a separate CR etc for that.
Thanks for the reviews.
Kelly: I will need to push these via TL not BUILD due to various
dependencies. However I also need the module changes to propagate from
BUILD to TL before doing so. :(
David Holmes
Java SE Embedded Group