Request for review: Build changes in preparation for SE-Embedded support

David Holmes David.Holmes at oracle.com
Tue Mar 15 08:05:48 UTC 2011


Further to my earlier review request for 7025066 I've now broken this 
down into four parts:

- support for BUILD_CLIENT_ONLY
- support for cross-compilation incl basic ARM/PPC support
- AWT related changes for cross-compile/arm/pp/ plus SE-Embedded 
specific items
- SE-Embedded specific items

I'm addressing the first two of these here at this time. (AWT is being 
handled by AWT folk). The SE-Embedded specific changes will come last 
together with any necessary clean-up if things don't quite go to plan.

I haven't created CRs for these yet but will if there are no issues.

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).

---

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)
- 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

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



More information about the build-dev mailing list